模拟面试|消息队列面试思路一图懂
邓明
你好,我是大明,恭喜你学完第三章的内容,又到了要验收成果的时刻了。消息队列这一章的内容很重要,知识也很系统,所以为了帮助你更好地掌握这部分内容,我们在这里设置了面试题。
你在回答的时候,最好是能够写成一个个文档,至少也要口头上说一遍。千万不要仅仅在脑海里面回忆一遍。因为在真正面试的时候,脑海中的记忆到嘴里说出的话,还需要一个转换。
22|消息队列:消息队列可以用来解决什么问题?
你用过消息队列吗?主要用来解决什么问题?异步、削峰和解耦你能各举一个例子吗?
你用的是哪个消息队列?为什么使用它而不用别的消息队列?
为什么你一定要用消息队列?不用行不行?不用有什么缺点?
在对接多个下游的时候,直接用 RPC 调用行不行?为什么?
为什么说使用消息队列可以提高性能?
为什么说使用消息队列可以提高扩展性?
为什么说使用消息队列可以提高可用性?
为什么秒杀场景中经常用消息队列?怎么用的?
订单超时取消可以怎么实现?
你了解事件驱动吗?
什么是 SAGA 事务?怎么利用事件驱动来设计一个 SAGA 事务框架?
23|延迟消息:怎么在 Kafka 上支持延迟消息?
什么是延迟消息?你有没有用过?可以用来解决什么问题?
Kafka 支不支持延迟消息?为什么 Kafka 不支持?
RabbitMQ 支不支持延迟消息?怎么支持的?
RabbitMQ 的延迟消息解决方案有什么缺点?让你来改进,你会怎么办?
什么是死信队列?什么是消息 ttl?
如果要让 Kafka 支持延迟消息你会怎么做?你有几种方案?各有什么优缺点?
在你的延迟消息队列方案里面,时间有多精确?比如说我希望在 10:00:00 发出来,你能保证这个一定恰好在这个时刻发出来吗?误差有多大?你能进一步提高时间精确性吗?
在分区设置不同延迟时间的方案里,能不能支持随机延迟时间?
在分区设置不同延迟时间的方案里,如果要是发生了 rebalance,会有什么后果?
当你从准备转发消息到业务 topic(biz_topic)的时候失败了,有什么后果?怎么办?
在你使用 MySQL 支持延迟消息的方案里,你怎么解决性能问题?
如果要分库分表来解决 MYSQL 的性能问题,你会怎么分库分表?是分库还是分表?
如果要是不同业务 topic 的并发量有区别,你分库分表怎么解决这种负载不均匀的问题?
如果延迟消息还要求有序性,该怎么办?
如果你已经将消息转发到了 biz_topic 上,但是更新数据库状态失败了怎么办?
除了用 MySQL,可以考虑用别的中间件来实现延迟消息吗?
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文总结了关于模拟面试中消息队列相关问题的内容,涵盖了消息队列的基本概念、延迟消息、消息积压、消息顺序、消息不丢失以及重复消费等方面。在模拟面试中,提出了一系列问题,涉及消息队列的使用场景、性能优化、延迟消息的实现、消息积压的处理、消息顺序的保证、消息不丢失的策略以及重复消费的解决方案等方面。读者可以通过阅读本文,快速了解消息队列相关知识,包括使用场景、技术实现和常见问题的解决方案。这些内容对于从事消息队列相关开发或面试准备的读者来说都具有一定的参考价值。文章还提到了一些具体问题,如Kafka的性能优势、零拷贝、批量操作、分区优势、page cache等,以及在实践中保证Kafka高性能的方法。整体而言,本文内容丰富,涵盖了消息队列的多个方面,对于技术人员学习和面试准备都具有一定的指导意义。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《后端工程师的高阶面经》,新⼈⾸单¥59
《后端工程师的高阶面经》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(2)
- 最新
- 精选
- 陈斌老师,你好,会不会出一期,把答案公布一下?
作者回复: 哈哈哈,暂时没有啊。核心问题专栏都写了,一些比较基础的问题你可以平时学基础知识的时候学到。
2023-08-29归属地:中国香港1 - peter请教老师几个问题: Q1:ZMQ是另外一种MQ吗? 一般了解的就是4种MQ,每一种在运行时都是独立的进程。ZMQ是另外一种,不是独立进程,在发送方和接收方都是以DLL的形式存在。老师是否了解ZMQ? Q2:用Java写后端程序,怎么创建布隆过滤器和bit array?直接调用某个工具函数就可以实现吗? Q3:常见的4个MQ,好像都是开源的吧。如果想研究源代码,研究哪个更好?
作者回复: 1. ZMQ 我倒是没怎么了解过。 2. 调用 Redis 的API 就可以了 3. 无脑 Kafka
2023-08-29归属地:河南
收起评论