有很多人問過我要過Kafka相關(guān)的面試題,我一直懶得整理亿眠,這幾天花了點(diǎn)時間,結(jié)合之前面試被問過的、別人咨詢過的错英、我會問別人的進(jìn)行了相關(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的消費(fèi)者客戶端的設(shè)計有什么缺陷魁衙?
- “消費(fèi)組中的消費(fèi)者個數(shù)如果超過topic的分區(qū)报腔,那么就會有消費(fèi)者消費(fèi)不到數(shù)據(jù)”這句話是否正確?如果不正確剖淀,那么有沒有什么hack的手段榄笙?
- 消費(fèi)者提交消費(fèi)位移時提交的是當(dāng)前消費(fèi)到的最新消息的offset還是offset+1?
- 有哪些情形會造成重復(fù)消費(fèi)?
- 那些情景下會造成消息漏消費(fèi)祷蝌?
- KafkaConsumer是非線程安全的茅撞,那么怎么樣實現(xiàn)多線程消費(fèi)?
- 簡述消費(fèi)者與消費(fèi)組之間的關(guān)系
- 當(dāng)你使用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控制器的作用
- 消費(fèi)再均衡的原理是什么矢腻?(提示:消費(fèi)者協(xié)調(diào)器和消費(fèi)組協(xié)調(diào)器)
- Kafka中的冪等是怎么實現(xiàn)的
- Kafka中的事務(wù)是怎么實現(xiàn)的(這題我去面試6家被問4次门驾,照著答案念也要念十幾分鐘,面試官簡直湊不要臉多柑。實在記不住的話...只要簡歷上不寫精通Kafka一般不會問到奶是,我簡歷上寫的是“熟悉Kafka,了解RabbitMQ....”)
- Kafka中有那些地方需要選舉竣灌?這些地方的選舉策略又有哪些聂沙?
- 失效副本是指什么?有那些應(yīng)對措施初嘹?
- 多副本下及汉,各個副本中的HW和LEO的演變過程
- 為什么Kafka不支持讀寫分離?
- Kafka在可靠性方面做了哪些改進(jìn)屯烦?(HW, LeaderEpoch)
- Kafka中怎么實現(xiàn)死信隊列和重試隊列坷随?
- Kafka中的延遲隊列怎么實現(xiàn)(這題被問的比事務(wù)那題還要多7棵!温眉!聽說你會Kafka缸匪,那你說說延遲隊列怎么實現(xiàn)?)
- Kafka中怎么做消息審計类溢?
- Kafka中怎么做消息軌跡凌蔬?
- Kafka中有那些配置參數(shù)比較有意思?聊一聊你的看法
- Kafka中有那些命名比較有意思闯冷?聊一聊你的看法
- Kafka有哪些指標(biāo)需要著重關(guān)注砂心?
- 怎么計算Lag?(注意read_uncommitted和read_committed狀態(tài)下的不同)
- Kafka的那些設(shè)計讓它有如此高的性能蛇耀?
- Kafka有什么優(yōu)缺點(diǎn)辩诞?
- 還用過什么同質(zhì)類的其它產(chǎn)品,與Kafka相比有什么優(yōu)缺點(diǎn)蒂窒?
- 為什么選擇Kafka?
- 在使用Kafka的過程中遇到過什么困難躁倒?怎么解決的荞怒?
- 怎么樣才能確保Kafka極大程度上的可靠性洒琢?
- 聊一聊你對Kafka生態(tài)的理解
如果上面的問題都能掌握,相信在面試Kafka的時候肯定能夠完全應(yīng)付褐桌。如果還應(yīng)付不了衰抑,請告知公司及職位,我去投簡歷會會他荧嵌。如果上面1/3題回答都有難度的話呛踊,是該好好學(xué)習(xí)一下Kafka啦。
建議收藏本文啦撮,準(zhǔn)備找工作前可以對著復(fù)習(xí)一下谭网。
同時需要更多java相關(guān)資料以及面試心得和視頻資料的,歡迎加QQ群:810589193
免費(fèi)獲取Java工程化赃春、高性能及分布式愉择、高性能、高架構(gòu)织中、性能調(diào)優(yōu)锥涕、Spring、MyBatis狭吼、Netty源碼分析等多個知識點(diǎn)高級進(jìn)階干貨的直播免費(fèi)學(xué)習(xí)權(quán)限及相關(guān)視頻資料层坠,還有spring和虛擬機(jī)等書籍掃描版