Kafka面经汇总
目录
Kafka面经汇总
一、核心原理与基础概念
二、高可用与可靠性保障
三、分区与 Topic 相关
四、生产者与消费者相关
五、选举机制
六、性能优化
七、部署与运维
八、特殊功能实现
九、MQ 对比与选型
十、项目实战场景
感谢无私分享出来面经的同学
一、核心原理与基础概念
请简述 Kafka 的核心原理(架构、数据流转过程)。
讲一下你对消息队列的理解(核心价值、适用场景)。
Kafka 的核心特性有哪些?
Kafka 是推(Push)模式还是拉(Pull)模式?支持批量处理还是单条处理?
什么是零拷贝?Kafka 的零拷贝是怎么实现的(底层调用的函数 / 机制)?
有了解过 Kafka 分区(Partition)的概念吗?其核心作用是什么?
正常情况下,一个 Topic 下是一个分区还是多个分区?多个分区的好处是什么?
Kafka 的 Leader 和 Follower 分别是干什么用的?
请介绍 Kafka 的 ISR 机制(In-Sync Replicas,同步副本集)。
Kafka 用什么维护消费偏移量(Offset)?最新版本还依赖 ZooKeeper 吗?原因是什么?
除了异步通信和削峰填谷,使用 MQ 还有哪些考量?
什么时候会用到 Kafka?其核心应用场景是什么?
二、高可用与可靠性保障
Kafka 如何保证高可用性?(结合集群、ISR、Leader 选举等)
Kafka 如何保证消息不丢失?可能丢失消息的场景有哪些?如何解决?
Kafka 如何保证消息的顺序性?(整体顺序、分区内顺序)
Kafka 如何防止脑裂问题?
Kafka 支持事务吗?其事务机制是怎样的?
什么是消息的重复消费?Kafka 中如何避免重复消费?
Kafka 的 ACK 有哪几种模式?各自的作用是什么?
一个 Kafka Topic 被 5 个消费组同时消费(每个 Group 写不同系统),中间某个 Group 偶发失败,但不能重放整条消息(其他组已成功),如何保证该组失败消息的精准重试?同时如何保证幂等性?
三、分区与 Topic 相关
Kafka 的分区策略有哪些?默认分区、粘性分区、自定义分区分别是什么?
Kafka 如何将消息发送到指定的 Partition 中?(底层逻辑、路由规则)
四、生产者与消费者相关
Kafka 消费者的消费策略有哪些?(如 Range、Round-Robin 等)
什么是 Kafka 的 Rebalance 机制?
哪些情况下会触发 Kafka 的 Rebalance?
Rebalance 持续时间较长会有什么影响?如何解决?
如何降低 Consumer 重启次数?
Kafka 出现消息消费 Lag(消费延迟、消息堆积)时,如何排查问题?怎么处理?
除了限流和丢弃消息,还有哪些方式可以提高消费者的吞吐量,解决消息积压?
单分区单消费者实例场景下,如何提高 Kafka 的吞吐量?
Kafka、RabbitMQ 如果要监听多个 Topic,需要写多个监听器吗?
五、选举机制
Kafka 的 Leader 选举策略是什么?
Kafka 的选举机制具体是怎么实现的?(结合 ISR、Controller 等)
六、性能优化
为什么 Kafka 速度快?(从存储、IO、网络等角度分析)
七、部署与运维
如果 Kafka 宕机,如何处理?(分 Broker 宕机、Consumer 宕机等场景)
八、特殊功能实现
Kafka 的延迟消息队列是如何实现的?
如何用 Kafka 解耦文件上传与处理流程?
九、MQ 对比与选型
Kafka 和 RabbitMQ 有什么区别?
Kafka、RabbitMQ、RocketMQ 三者的区别与适用场景?
为什么选择 Kafka 实现服务通信?选型时为什么不选 RabbitMQ 或 RocketMQ?
为什么使用 Kafka 做异步通信?有考虑过其他 MQ 吗?
十、项目实战场景
Kafka 在工作场景中主要用于解决什么问题?
Kafka 在项目中的具体使用场景有哪些?(举例说明)





