【专题08】消息队列面试题(30题)

📅 2026/7/9 5:31:22 👁️ 阅读次数 📝 编程学习
【专题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 生产环境常见问题速查表

一、基础概念

Q1. 什么是 Kafka?它的主要应用场景有哪些?

核心定义:
Kafka 是由 LinkedIn 开发并开源、Apache 基金会维护的分布式流处理平台,本质上是一个高吞吐量、持久化的分布式发布-订阅消息系统。基于 Pub/Sub 模型,支持实时流数据的发布、订阅、存储与处理。

六大应用场景:

场景说明典型案例
消息队列/异步通信系统解耦,削峰填谷订单 → 库存/通知
日志收集聚合统一收集各服务日志ELK 日志平台
实时流处理配合 Flink/Kafka Streams实时风控、监控告警
数据管道(ETL)数据从源头传输到目标数据库 → 数仓同步
事件溯源以不可变事件日志记录状态用户行