【专题08】消息队列面试题(30题)
Kafka 消息队列面试题精选 30 题(含详细解析)
🚀 2026 最新整理 | 覆盖 基础概念 · 存储架构 · 生产者 · 消费者 · 高可用 · 性能调优 | 适用于初中高级工程师面试备考
文章目录
- Kafka 消息队列面试题精选 30 题(含详细解析)
- @[toc]
- 一、基础概念
- Q1. 什么是 Kafka?它的主要应用场景有哪些?
- Q2. Kafka 中 Topic、Partition、Offset 是什么关系?
- Q3. Kafka 的核心组件有哪些?各自职责是什么?
- Q4. 消费者组(Consumer Group)的工作原理是什么?
- Q5. Kafka 与 RabbitMQ、RocketMQ 有什么区别?如何选型?
- 二、架构原理
- Q6. Kafka 的消息存储机制是怎样的?为什么 Kafka 这么快?
- Q7. 详细解释 Kafka 的零拷贝(Zero Copy)原理
- Q8. 什么是 ISR、OSR、AR?它们之间的关系是什么?
- Q9. Kafka 的 Leader 选举机制是怎样的?HW 和 LEO 是什么?
- Q10. Kafka 为什么要去掉 ZooKeeper?KRaft 模式有什么优势?
- Q11. Kafka 的日志清理策略有哪几种?Log Compaction 是什么?
- 三、生产者(Producer)
- Q12. Kafka Producer 的 acks 参数有哪几个值?如何保证不丢消息?
- Q13. Kafka Producer 的消息分区策略有哪些?
- Q14. Kafka 如何实现幂等生产(Idempotent Producer)?
- Q15. Kafka 事务是如何实现的?两阶段提交过程是怎样的?
- Q16. Kafka Producer 的发送流程是怎样的?关键参数有哪些?
- 四、消费者(Consumer)
- Q17. Kafka Rebalance(再均衡)是什么?触发条件及优化方案?
- Q18. Kafka Offset 提交方式有哪些?如何避免重复消费和漏消费?
- Q19. Kafka 为什么采用 Pull(拉取)而非 Push(推送)模型?
- Q20. Kafka 消息积压(Lag)如何处理?
- Q21. Kafka 消费者分区分配策略有哪几种?
- 五、高可用与可靠性
- Q22. Kafka 的副本(Replica)机制是如何保证高可用的?
- Q23. Kafka 消息丢失场景有哪些?如何从三个层面防止?
- Q24. Kafka 如何实现端到端的 Exactly Once 精确一次语义?
- Q25. Kafka Controller 是什么?宕机后如何快速恢复?
- Q26. Kafka 如何保证消息的顺序性?如何实现全局有序?
- 六、性能调优与实战
- Q27. Kafka 生产环境性能调优有哪些关键参数?
- Q28. Kafka 分区数如何合理设置?分区数越多越好吗?
- Q29. Kafka Streams 与 Apache Flink 有什么区别?如何选型?
- Q30. 【综合实战】Kafka 生产环境常见问题速查表
文章目录
- Kafka 消息队列面试题精选 30 题(含详细解析)
- @[toc]
- 一、基础概念
- Q1. 什么是 Kafka?它的主要应用场景有哪些?
- Q2. Kafka 中 Topic、Partition、Offset 是什么关系?
- Q3. Kafka 的核心组件有哪些?各自职责是什么?
- Q4. 消费者组(Consumer Group)的工作原理是什么?
- Q5. Kafka 与 RabbitMQ、RocketMQ 有什么区别?如何选型?
- 二、架构原理
- Q6. Kafka 的消息存储机制是怎样的?为什么 Kafka 这么快?
- Q7. 详细解释 Kafka 的零拷贝(Zero Copy)原理
- Q8. 什么是 ISR、OSR、AR?它们之间的关系是什么?
- Q9. Kafka 的 Leader 选举机制是怎样的?HW 和 LEO 是什么?
- Q10. Kafka 为什么要去掉 ZooKeeper?KRaft 模式有什么优势?
- Q11. Kafka 的日志清理策略有哪几种?Log Compaction 是什么?
- 三、生产者(Producer)
- Q12. Kafka Producer 的 acks 参数有哪几个值?如何保证不丢消息?
- Q13. Kafka Producer 的消息分区策略有哪些?
- Q14. Kafka 如何实现幂等生产(Idempotent Producer)?
- Q15. Kafka 事务是如何实现的?两阶段提交过程是怎样的?
- Q16. Kafka Producer 的发送流程是怎样的?关键参数有哪些?
- 四、消费者(Consumer)
- Q17. Kafka Rebalance(再均衡)是什么?触发条件及优化方案?
- Q18. Kafka Offset 提交方式有哪些?如何避免重复消费和漏消费?
- Q19. Kafka 为什么采用 Pull(拉取)而非 Push(推送)模型?
- Q20. Kafka 消息积压(Lag)如何处理?
- Q21. Kafka 消费者分区分配策略有哪几种?
- 五、高可用与可靠性
- Q22. Kafka 的副本(Replica)机制是如何保证高可用的?
- Q23. Kafka 消息丢失场景有哪些?如何从三个层面防止?
- Q24. Kafka 如何实现端到端的 Exactly Once 精确一次语义?
- Q25. Kafka Controller 是什么?宕机后如何快速恢复?
- Q26. Kafka 如何保证消息的顺序性?如何实现全局有序?
- 六、性能调优与实战
- Q27. Kafka 生产环境性能调优有哪些关键参数?
- Q28. Kafka 分区数如何合理设置?分区数越多越好吗?
- Q29. Kafka Streams 与 Apache Flink 有什么区别?如何选型?
- Q30. 【综合实战】Kafka 生产环境常见问题速查表
一、基础概念
Q1. 什么是 Kafka?它的主要应用场景有哪些?
核心定义:
Kafka 是由 LinkedIn 开发并开源、Apache 基金会维护的分布式流处理平台,本质上是一个高吞吐量、持久化的分布式发布-订阅消息系统。基于 Pub/Sub 模型,支持实时流数据的发布、订阅、存储与处理。
六大应用场景:
| 场景 | 说明 | 典型案例 |
|---|---|---|
| 消息队列/异步通信 | 系统解耦,削峰填谷 | 订单 → 库存/通知 |
| 日志收集聚合 | 统一收集各服务日志 | ELK 日志平台 |
| 实时流处理 | 配合 Flink/Kafka Streams | 实时风控、监控告警 |
| 数据管道(ETL) | 数据从源头传输到目标 | 数据库 → 数仓同步 |
| 事件溯源 | 以不可变事件日志记录状态 | 用户行 |