5.17阿里云测开一面

上一次java研发二面挂了,被测开捞了,发发面经攒人品。
5.20已约下午二面,许愿一切顺利#我的失利项目复盘##不给转正的实习,你还去吗#
1.自我介绍
2.项目来源
3.技术选型,为什么选Redis作为内存
4.为什么选RabbitMQ
5.如何保证消息的有序消费,不重复消费,不被其他消费者消费
6.项目的读提交和可重复读如何实现
7.Spring和SpringBoot的区别
8.淘宝秒杀如何测试
9.阿里云OSS如何测试(我提到了OSS所以问
10.有无微服务相关经验
11.手撕:100元红包,分给十个人,要求:手气王的红包金额不能超过总金额的90%
12.实习时间,反问
全部评论
选择RabbitMQ作为消息中间件的原因主要包括以下几点: 1. **AMQP标准支持**:RabbitMQ是少数几个实现了Advanced Message Queuing Protocol (AMQP)标准的消息代理之一。这意味着它遵循一个公开的标准,提供了与其他兼容AMQP系统的互操作性。 2. **可靠性**:RabbitMQ支持消息的持久化,可以在服务器宕机或重启后保证消息不丢失,这对于需要高度稳定性的系统至关重要。 3. **高并发与高性能**:由于使用Erlang语言编写,RabbitMQ能够充分利用Erlang在并发处理和故障恢复方面的优势,天生适合构建高并发和高可用的系统。 4. **丰富的消息模式**:支持多种消息收发模式,如简单队列模式、工作队列模式、路由模式、直接模式、主题模式等,以及延迟队列和惰性队列,适应不同的业务场景需求。 5. **多语言支持**:RabbitMQ提供了广泛的客户端库,支持Java、Python、Ruby、.NET、PHP等多种编程语言,方便不同技术栈的系统集成。 6. **集群部署简易**:利用Erlang的分布式特性,RabbitMQ可以轻松部署成集群模式,实现负载均衡和故障切换,提高系统的可扩展性和容错能力。 7. **社区活跃与文档完善**:拥有活跃的开发者社区和丰富的文档资源,意味着遇到问题时容易找到解决方案,同时也有持续的更新和改进。 8. **插件系统**:RabbitMQ支持通过安装插件来扩展功能,比如后台管理和监控、额外的协议支持(如JMS)等,增加了灵活性。 9. **解耦与异步处理**:通过消息队列,生产者和消费者解耦,允许独立扩展和维护,同时支持异步处理,提高系统响应速度和吞吐量。 10. **流量削峰**:可以作为缓冲区帮助平滑系统峰值负载,防止因瞬时高流量导致的服务崩溃,通过消息队列暂存请求,逐步处理。 综上所述,RabbitMQ凭借其标准支持、可靠性、高性能、灵活性以及强大的社区支持,成为了许多项目和企业中消息队列服务的首选。
点赞 回复 分享
发布于 05-23 10:50 广东
```python import random def distribute_red_packets(total, num): max_amount = total * 0.9 red_packets = [0] * num for i in range(num - 1): amount = random.uniform(0, max_amount) red_packets[i] = round(amount, 2) total -= amount red_packets[num - 1] = round(total, 2) return red_packets total = 100 num = 10 red_packets = distribute_red_packets(total, num) for i, amount in enumerate(red_packets): print(f"Person {i+1}: {amount}元") ```
点赞 回复 分享
发布于 05-23 11:00 广东

相关推荐

奇瑞 CAE研发岗 8.7k*13.5薪 硕士
点赞 评论 收藏
分享
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-06 18:33
点赞 评论 收藏
分享
评论
1
10
分享
牛客网
牛客企业服务