kafka面经汇总

感谢那些分享面经的同学,大家结合自己的业务+八股的方式去回答感觉会更好。

tips:如果大家对自己的项目业务还不是很熟悉,可以用Trae或者其他的ai IDEA帮你分析整个项目的业务

一、核心原理与基础概念

  1. 请简述 Kafka 的核心原理(架构、数据流转过程)。
  2. 讲一下你对消息队列的理解(核心价值、适用场景)。
  3. Kafka 的核心特性有哪些?
  4. Kafka 是推(Push)模式还是拉(Pull)模式?支持批量处理还是单条处理?
  5. 什么是零拷贝?Kafka 的零拷贝是怎么实现的(底层调用的函数 / 机制)?
  6. 有了解过 Kafka 分区(Partition)的概念吗?其核心作用是什么?
  7. 正常情况下,一个 Topic 下是一个分区还是多个分区?多个分区的好处是什么?
  8. Kafka 的 Leader 和 Follower 分别是干什么用的?
  9. 请介绍 Kafka 的 ISR 机制(In-Sync Replicas,同步副本集)。
  10. Kafka 用什么维护消费偏移量(Offset)?最新版本还依赖 ZooKeeper 吗?原因是什么?
  11. 除了异步通信和削峰填谷,使用 MQ 还有哪些考量?
  12. 什么时候会用到 Kafka?其核心应用场景是什么?

二、高可用与可靠性保障

  1. Kafka 如何保证高可用性?(结合集群、ISR、Leader 选举等)
  2. Kafka 如何保证消息不丢失?可能丢失消息的场景有哪些?如何解决?
  3. Kafka 如何保证消息的顺序性?(整体顺序、分区内顺序)
  4. Kafka 如何防止脑裂问题?
  5. Kafka 支持事务吗?其事务机制是怎样的?
  6. 什么是消息的重复消费?Kafka 中如何避免重复消费?
  7. Kafka 的 ACK 有哪几种模式?各自的作用是什么?
  8. 一个 Kafka Topic 被 5 个消费组同时消费(每个 Group 写不同系统),中间某个 Group 偶发失败,但不能重放整条消息(其他组已成功),如何保证该组失败消息的精准重试?同时如何保证幂等性?

三、分区与 Topic 相关

  1. Kafka 的分区策略有哪些?默认分区、粘性分区、自定义分区分别是什么?
  2. Kafka 如何将消息发送到指定的 Partition 中?(底层逻辑、路由规则)

四、生产者与消费者相关

  1. Kafka 消费者的消费策略有哪些?(如 Range、Round-Robin 等)
  2. 什么是 Kafka 的 Rebalance 机制?
  3. 哪些情况下会触发 Kafka 的 Rebalance?
  4. Rebalance 持续时间较长会有什么影响?如何解决?
  5. 如何降低 Consumer 重启次数?
  6. Kafka 出现消息消费 Lag(消费延迟、消息堆积)时,如何排查问题?怎么处理?
  7. 除了限流和丢弃消息,还有哪些方式可以提高消费者的吞吐量,解决消息积压?
  8. 单分区单消费者实例场景下,如何提高 Kafka 的吞吐量?
  9. Kafka、RabbitMQ 如果要监听多个 Topic,需要写多个监听器吗?

五、选举机制

  1. Kafka 的 Leader 选举策略是什么?
  2. Kafka 的选举机制具体是怎么实现的?(结合 ISR、Controller 等)

六、性能优化

  1. 为什么 Kafka 速度快?(从存储、IO、网络等角度分析)

七、部署与运维

  1. 如果 Kafka 宕机,如何处理?(分 Broker 宕机、Consumer 宕机等场景)

八、特殊功能实现

  1. Kafka 的延迟消息队列是如何实现的?
  2. 如何用 Kafka 解耦文件上传与处理流程?

九、MQ 对比与选型

  1. Kafka 和 RabbitMQ 有什么区别?
  2. Kafka、RabbitMQ、RocketMQ 三者的区别与适用场景?
  3. 为什么选择 Kafka 实现服务通信?选型时为什么不选 RabbitMQ 或 RocketMQ?
  4. 为什么使用 Kafka 做异步通信?有考虑过其他 MQ 吗?

十、项目实战场景

  1. Kafka 在工作场景中主要用于解决什么问题?
  2. Kafka 在项目中的具体使用场景有哪些?(举例说明)
#牛客在线求职答疑中心##机械制造笔面经##业务面应该做哪些准备##大厂面试问八股多还是项目多?##面试问题记录#
全部评论
技术大佬就出现了
1 回复 分享
发布于 01-24 19:55 江苏
mark
1 回复 分享
发布于 01-12 10:53 北京
mark
点赞 回复 分享
发布于 昨天 16:23 浙江
蹲面经
点赞 回复 分享
发布于 02-02 15:35 新疆
mark
点赞 回复 分享
发布于 02-01 11:57 湖北
蹲面经
点赞 回复 分享
发布于 01-31 16:47 陕西
感谢分享
点赞 回复 分享
发布于 01-28 19:01 陕西
问这么多,我都感觉到压力了
点赞 回复 分享
发布于 01-15 20:03 陕西
kafka问题挺全面的,建议补上答案参考
点赞 回复 分享
发布于 01-14 14:11 云南

相关推荐

一人分享一道面试手撕题
点赞 评论 收藏
分享
最近因事耽搁了,现在补上,过了好久,可能没有那么全,马上入职,感谢字节跳动,第一次面这个就给过了一面(60min)1.自我介绍2.实习拷打(30min,只记得很难)3.场景题:使用普通数据库,java原生,设计一个千万级数据量导出报表至oss流程,要求考虑数据切分,并行,续传,差错检验,幂等,高效,内存压力,有序,一致等指标用cdc的思想设计一个数据同步系统,单一来源同步多个下游系统,使用mq4.提示词工程应用5.agent项目是如何编排6.mcp,rag7.如何做质量评估8.代码题:三道sql题,分析事务执行结果9.反问总结:很有压力的一场面试,尤其是实习,问的很深,几乎全都是让你用自己的理解重新设计的场景题,而且不断追问,压力和收获都很大二面(80min)1.自我介绍2.类加载原理3.如何学习新技术4.oom排查5.线上内存泄露排查6.项目中反射使用7.反射八股8.项目拷打(30min)9.java线程池参数,以及底层10.可重入锁11.如何排查线上问题定位解决,举一个实习例子12.如何做版本控制13.拉链表设计14.cdc底层原理15.代码考察:实现阻塞队列,最小栈总结:面试官超级好,中间有卡顿的地方,会不断引导你,反问收获也挺大三面(60min)1.自我介绍2.base地,实习时间,到岗3.实习的收获,最大的收获/产出4.如何学习新技术5.adbpg特性对比及其底层架构,语法6.mybatis如何拦截提取sql7.实习你开发的框架如何扩展8.etl导出差错检验10.灰度设计以及考虑11.java常见集合以及各自底层12.hashmap全方位八股13.设计模式有哪些,项目中的使用14.sql调优排查流程15.sql排序类型16.mysql索引类型,引擎17.redis数据结构,底层实现以及编码中字段18.手撕:双重检查锁总结:节奏很快,面试官人依旧很好,会安慰不要紧张,最后手撕明显放水啦,感觉几乎都在聊天HR面(30min)略~总结:面试官人很好,会对你的缺点提出很多建议已OC~
牛客78916114...:mark
字节求职进展汇总
点赞 评论 收藏
分享
评论
14
94
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务