下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MQ消息队列笔试面试专项试题(含详细答案)一、单项选择题(10题)1.以下不属于消息队列(MQ)核心作用的是()A.削峰填谷B.服务解耦C.事务强一致性保障D.异步提速答案:C解析:MQ核心四大作用为解耦、异步、削峰、限流缓冲。MQ无法直接保障分布式事务强一致性,仅能通过最终一致性方案(可靠投递、重试、死信)实现数据一致,强一致需依赖分布式事务框架。2.RabbitMQ的消息模型中,负责接收生产者消息、路由转发的核心组件是()A.ConsumerB.ExchangeC.QueueD.VirtualHost答案:B解析:Exchange(交换机)是RabbitMQ的路由核心,生产者只发送消息到交换机,不直接发送到队列,由交换机根据绑定规则分发消息到对应队列。3.Kafka的最小消息存储和读取单元是()A.TopicB.PartitionC.BrokerD.Group答案:B解析:Topic是逻辑主题,Partition是物理分片,Kafka所有消息读写、负载均衡、副本机制都基于分区实现,是最小操作单元。4.以下MQ组件中,天然支持海量高吞吐、适合日志、大数据流式处理的是()A.RabbitMQB.KafkaC.RocketMQD.ActiveMQ答案:B解析:Kafka采用顺序磁盘读写、批量收发、零拷贝技术,吞吐能力远高于其他MQ,主打大数据日志采集、流式计算场景。5.RocketMQ区别于RabbitMQ、Kafka的核心优势是()A.超高吞吐B.完善的金融级事务、重试、死信机制C.部署极简D.开源最早答案:B解析:RocketMQ阿里开源,主打业务消息可靠投递,事务消息、定时消息、重试队列、死信队列原生支持,适配电商、金融等业务场景。6.MQ消息重复消费的根本原因是()A.消息发送失败B.消费者未正常提交offset/ack,服务端重发消息C.队列满了D.生产者重复推送答案:B解析:网络超时、程序异常、服务重启都会导致消费者消费成功但未提交确认,MQ服务端判定消息未消费,触发重发,这是重复消费的核心原因。7.RabbitMQ中,能实现广播模式、一条消息分发到所有绑定队列的交换机类型是()A.directB.topicC.fanoutD.headers答案:C解析:fanout交换机无视routingKey,只要绑定队列就会广播分发消息,适用于集群通知、全局推送场景。8.Kafka中,保证消息不丢失的核心配置不包括()A.acks=allB.开启副本机制C.同步刷盘D.关闭重试机制答案:D解析:关闭重试会导致发送失败的消息直接丢失,无法保障可靠性;acks全部确认、副本备份、同步刷盘都是Kafka防丢失核心配置。9.消息队列出现消息积压,最不可能的原因是()A.消费者消费速度慢B.消费者宕机停服C.生产者发送速度骤降D.消费逻辑耗时过长答案:C解析:生产者发消息变慢会减少消息入队数量,不会造成积压;消费慢、服务宕机、业务逻辑卡顿是积压主要原因。10.实现MQ消息幂等性,最常用、性价比最高的方案是()A.关闭消息重试B.唯一ID+数据库唯一索引/Redis去重C.单线程消费D.降低消息发送频率答案:B解析:通过消息唯一ID做幂等校验,已消费直接跳过,是企业通用方案,不影响吞吐,彻底解决重复消费问题。二、填空题(5题)1.MQ实现异步通信的核心价值是________、________。答案:提升系统响应速度、解耦上下游服务2.Kafka的消息消费模式中,________内的消费者只能有一个消费同一分区消息。答案:同一个消费组3.RabbitMQ保障消息投递可靠性的两大机制是:生产者________、消费者________。答案:消息确认(confirm)、手动ack确认4.处理消费失败、多次重试仍无法处理的消息,需要用到________队列。答案:死信5.RocketMQ支持四种消息类型:普通消息、________、________、延迟消息。答案:顺序消息、事务消息三、简答题(6题,企业高频面试题)1.详细说说RabbitMQ、Kafka、RocketMQ三者的区别和适用场景?参考答案:1)RabbitMQ:基于Erlang开发,部署简单、社区成熟、消息可靠性极高,路由策略丰富。缺点是吞吐较低,不适合超大流量场景。适用传统业务、金融、订单、通知等对可靠性要求高、流量适中的场景。2)Kafka:基于Java开发,高吞吐、高并发、性能极强,支持分区、副本,主打流式数据处理。缺点是业务消息机制薄弱,事务、重试支持差。适用日志采集、监控数据、大数据流式计算、海量异步数据上报场景。3)RocketMQ:阿里开源,兼顾高吞吐和高可靠,原生支持事务消息、顺序消息、定时消息、死信重试。性能介于两者之间,适配业务开发。适用电商订单、支付、物流、营销等核心业务消息场景,是国内互联网公司主流选型。2.如何彻底解决MQ消息重复消费问题?参考答案:重复消费是MQ的常态,无法完全杜绝,只能通过幂等性规避影响,通用落地方案:1)每条消息生成全局唯一ID(订单号、消息ID),随消息传递;2)消费前先校验ID是否已处理:优先用Redis缓存做快速去重,数据库关键业务加唯一索引兜底;3)消费成功后记录ID,重复消息直接跳过,不执行业务逻辑;4)禁止业务逻辑天然非幂等操作(如重复新增、重复扣款),所有消费逻辑必须支持幂等。3.MQ消息丢失的场景有哪些?分别怎么解决?参考答案:1)生产者发送阶段丢失:网络抖动、服务异常,消息未到达服务端。解决:开启生产者确认机制,发送失败自动重试,失败消息落地日志人工补偿。2)服务端存储阶段丢失:MQ宕机、重启、未持久化。解决:开启消息持久化、副本备份、同步刷盘机制,避免内存消息丢失。3)消费者消费阶段丢失:消息刚投递,消费者未处理完成就宕机,自动ack导致消息删除。解决:关闭自动确认,开启手动ack,业务执行成功后再提交确认。4.线上出现MQ消息积压,排查思路和解决方案是什么?参考答案:排查思路:1)先看消费者状态:是否宕机、重启、报错;2)查看消费耗时:是否业务逻辑卡顿、数据库慢查询、第三方接口超时;3)核对生产消费速度:是否突发流量峰值导致消费跟不上;4)检查分区、消费者数量:是否分区过少、消费者线程不足。解决方案:1)临时扩容:增加消费者实例、调大消费线程数,快速消化积压;2)优化业务:精简消费逻辑,异步处理非核心逻辑,解决慢查询、接口超时问题;3)长期优化:Kafka增加分区数,提升并发能力;拆分大消息、批量消费;4)异常消息隔离:故障消息移入死信队列,避免阻塞正常消费。5.什么是死信队列?什么场景下消息会进入死信队列?参考答案:死信队列是专门存放异常消息的备用队列,正常队列中无法被正常消费的消息,会转发到死信队列,避免无限重试阻塞业务,方便后续人工排查处理。进入死信队列的场景:1)消息消费失败,达到最大重试次数;2)消息超时未被消费;3)队列长度、消息数量达到上限,消息被丢弃转入死信。6.简单说说MQ如何实现分布式事务最终一致性?参考答案:以RocketMQ事务消息为例,核心是半消息机制+事务回查:1)生产者发送半消息到MQ服务端,消息对消费者不可见;2)生产者执行本地事务,返回提交/回滚状态;3)提交:MQ正式投递消息给消费者;回滚:MQ直接删除半消息;4)若状态未知,MQ会定时回查生产者本地事务状态,根据结果处理消息;5)消费者消费成功完成下游业务,最终实现上下游数据最终一致,适配大部分分布式业务场景。四、综合分析题(1题,线上实战场景)场景:电商下单后,通过MQ发送订单支付通知,线上偶尔出现订单通知丢失、用户收不到消息,同时偶尔出现同一订单多条通知推送。请分析问题原因,并给出完整解决方案。参考答案:1.问题原因分析1)通知丢失:生产者发送无确认机制,网络波动导致消息未入队;消费者自动ack,业务异常导致消息丢失;消息未持久化,服务重启丢失数据。2)重复推送:消费过程中接口超时、程序异常,未手动ack,MQ触发消息重发,导致同一订单多次消费推送。2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年度伤口造口护理考核实施方案
- 2026年度普通公路安全生产工作发言稿
- 2026年度吉林继续教育公需科目考试题库及答案
- 2026年农业废弃物利用综合(利用实践能力)试题及答案
- 小学二年级美术教学设计-有趣的图画书创作与表现
- 小学三年级心理健康《拥抱亲情感恩父母》教学设计
- 高中地理选择性必修1《地球公转的地理意义》教学设计
- 小学五年级道德与法治《我参与 我奉献》创新教学设计
- 初中七年级科学《光的反射》教学设计
- 粤教版高一物理必修第三册第六章第三节《电磁感应现象》教案
- 人工智能基础与应用课件 项目8. 机器学习-钢铁厂用电量预测
- 2026年国家药品监督管理局药品和医疗器械审评检查华中分中心编外招聘35人考试模拟试题及答案解析
- 2026-2027学年山东省济南稼轩学校九年级(上)开学英语试卷(9月份)(含答案)
- 疼痛科诊疗质量控制管理制度
- 北师大版数学五年级上册第四单元 用字母表示(一) 基础测试卷
- 2026-2027学年七年级语文上册第一次月考试卷部编版含答案
- 会计核算差错更正管理办法
- 社会工作者考试题库(1000题·含答案与解析)
- DL∕T 1657-2016 活性焦干法脱硫技术规范
- 半导体设备行业:玻璃基板从零到一TGV为关键工艺
- 2023测绘地理信息技能人员职业分类和能力评价
评论
0/150
提交评论