Kafka面试题全套整理 | 划重点要考!
做積極的人,而不是積極廢人!
有很多人問過我要過Kafka相關(guān)的面試題,我一直懶得整理,這幾天花了點時間,結(jié)合之前面試被問過的、別人咨詢過的、我會問別人的進行了相關(guān)的整理,也就幾十題,大家花個幾分鐘看看應(yīng)該都會。面試題列表如下:
Kafka的用途有哪些?使用場景如何?
Kafka中的ISR、AR又代表什么?ISR的伸縮又指什么
Kafka中的HW、LEO、LSO、LW等分別代表什么?
Kafka中是怎么體現(xiàn)消息順序性的?
Kafka中的分區(qū)器、序列化器、攔截器是否了解?它們之間的處理順序是什么?
Kafka生產(chǎn)者客戶端的整體結(jié)構(gòu)是什么樣子的?
Kafka生產(chǎn)者客戶端中使用了幾個線程來處理?分別是什么?
Kafka的舊版Scala的消費者客戶端的設(shè)計有什么缺陷?
“消費組中的消費者個數(shù)如果超過topic的分區(qū),那么就會有消費者消費不到數(shù)據(jù)”這句話是否正確?如果不正確,那么有沒有什么hack的手段?
消費者提交消費位移時提交的是當前消費到的最新消息的offset還是offset+1?
有哪些情形會造成重復消費?
那些情景下會造成消息漏消費?
KafkaConsumer是非線程安全的,那么怎么樣實現(xiàn)多線程消費?
簡述消費者與消費組之間的關(guān)系
當你使用kafka-topics.sh創(chuàng)建(刪除)了一個topic之后,Kafka背后會執(zhí)行什么邏輯?
topic的分區(qū)數(shù)可不可以增加?如果可以怎么增加?如果不可以,那又是為什么?
topic的分區(qū)數(shù)可不可以減少?如果可以怎么減少?如果不可以,那又是為什么?
創(chuàng)建topic時如何選擇合適的分區(qū)數(shù)?
Kafka目前有那些內(nèi)部topic,它們都有什么特征?各自的作用又是什么?
優(yōu)先副本是什么?它有什么特殊的作用?
Kafka有哪幾處地方有分區(qū)分配的概念?簡述大致的過程及原理
簡述Kafka的日志目錄結(jié)構(gòu)
Kafka中有那些索引文件?
如果我指定了一個offset,Kafka怎么查找到對應(yīng)的消息?
如果我指定了一個timestamp,Kafka怎么查找到對應(yīng)的消息?
聊一聊你對Kafka的Log Retention的理解
聊一聊你對Kafka的Log Compaction的理解
聊一聊你對Kafka底層存儲的理解(頁緩存、內(nèi)核層、塊層、設(shè)備層)
聊一聊Kafka的延時操作的原理
聊一聊Kafka控制器的作用
消費再均衡的原理是什么?(提示:消費者協(xié)調(diào)器和消費組協(xié)調(diào)器)
Kafka中的冪等是怎么實現(xiàn)的
Kafka中的事務(wù)是怎么實現(xiàn)的(這題我去面試6家被問4次,照著答案念也要念十幾分鐘,面試官簡直湊不要臉。實在記不住的話...只要簡歷上不寫精通Kafka一般不會問到,我簡歷上寫的是“熟悉Kafka,了解RabbitMQ....”)
Kafka中有那些地方需要選舉?這些地方的選舉策略又有哪些?
失效副本是指什么?有那些應(yīng)對措施?
多副本下,各個副本中的HW和LEO的演變過程
為什么Kafka不支持讀寫分離?
Kafka在可靠性方面做了哪些改進?(HW, LeaderEpoch)
Kafka中怎么實現(xiàn)死信隊列和重試隊列?
Kafka中的延遲隊列怎么實現(xiàn)(這題被問的比事務(wù)那題還要多!!!聽說你會Kafka,那你說說延遲隊列怎么實現(xiàn)?)
Kafka中怎么做消息審計?
Kafka中怎么做消息軌跡?
Kafka中有那些配置參數(shù)比較有意思?聊一聊你的看法
Kafka中有那些命名比較有意思?聊一聊你的看法
Kafka有哪些指標需要著重關(guān)注?
怎么計算Lag?(注意read_uncommitted和read_committed狀態(tài)下的不同)
Kafka的那些設(shè)計讓它有如此高的性能?
Kafka有什么優(yōu)缺點?
還用過什么同質(zhì)類的其它產(chǎn)品,與Kafka相比有什么優(yōu)缺點?
為什么選擇Kafka?
在使用Kafka的過程中遇到過什么困難?怎么解決的?
怎么樣才能確保Kafka極大程度上的可靠性?
聊一聊你對Kafka生態(tài)的理解
如果上面的問題都能掌握,相信在面試Kafka的時候肯定能夠完全應(yīng)付。如果還應(yīng)付不了,請告知公司及職位,我去投簡歷會會他。如果上面1/3題回答都有難度的話,是該好好學習一下Kafka啦。
建議收藏本文,準備找工作前可以對著復習一下。
不要問面試題答案在哪里,書上都有寫哦~
《深入理解Kafka》隨書代碼下載
購買入口(半價中)
【End】
推薦閱讀:
Java 最常見的 200+ 面試題
關(guān)注下方二維碼,訂閱更多精彩內(nèi)容。
轉(zhuǎn)發(fā)朋友圈,是對我最大的支持。
總結(jié)
以上是生活随笔為你收集整理的Kafka面试题全套整理 | 划重点要考!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 给 JDK 官方提了一个 Bug,结果.
- 下一篇: 第 4-2 课:反射和动态代理 + 面试