程序员社区

关于kafka的面经问题 + (Java面经分享)

今天给大家分享一篇 关于kafka的面经问题, 希望大家在面试中能够斩获Offer, 找到自己满意的工作。 一起来看看吧~

最近整理了一系列的Java面试题,包含了Java基础、进阶、多线程、并发编程、数据库(MySQL、Redis、MongoDB、Memcachedd等等)、Spring全家桶、MyBatis、ZooKeeper、Dubbo、Elasticsearch、RabbitMQ、Kafka、Linux、Netty、Tomcat以及阿里、腾讯、字节、百度等大厂的面试真题。

点击下载完整PDF☞ 2022年最新Java面试题集

面了一个月很累,主要还是自己是边面边开始准备(三月之前一直没刷过题,也没准备面试什么的,惭愧),这里分享下自己在阿里面试中关于kafka的面试题目,我觉得从中学到了很多。

  • kafka的应用场景和优势(入场券)
    解耦,高吞吐(以及如何保证高吞吐)

  • kafka如何做到发送端和接收端的顺序一致性?
    发送端只保证了partition级别的顺序一致性,不保证topic级别的顺序。可以指定key值让相同key的数据到同一个partition保证顺序一致性。
    消费端使用offset保证读入数据的一致性。

  • 零拷贝的实现原理,省略了哪一次上下文切换
    这个也是netty经常会问到的问题,建议可以认真准备这个答案。

  • kafka如何保证分区容错性
    副本机制(replica-factor),使用zk做协调。(我也扯了扯ack机制)

  • 聊一聊 最多/最少/恰好消费一次
    这算是基础了,可惜当时没准备。

  • kafka的日志存储机制(/index下的文件结构),如何使用时间戳索引日志
    /index文件中会生成三份文件XX.log,XX.index,XX.timeindex,日志是分块存储的,时间戳索引从XX.timeindex中找到对应的offset,再从XX.index中索引XX.log。(学到了)

  • kafka-stream相比其他流数据框架的对比,聊一聊流数据中的窗口和水印
    这里主要是我CV上写了kafka-stream,只了解kafka的没必要了解。

面的不是中间件岗,所以面试官可能也没问太多MQ特别底层的知识,但自己还是没准备充分(主要还是得先准备从零刷力扣),最后分享一个面试中我觉得很有意思的算法题。

  • 一个系统上游有五个节点,每个节点每秒产生一句话,下游只有一个节点做word count。让你设计这个系统的实现思路。(假设wc表的合并很耗时)
赞(0) 打赏
未经允许不得转载:IDEA激活码 » 关于kafka的面经问题 + (Java面经分享)

一个分享Java & Python知识的社区