備戰(zhàn)2022年Java秋招,程序員求職必看的ZooKeeper面試題
前言
大公司面試特別喜歡問 Zookeeper,因為 Zookeeper 確實是足夠的優(yōu)秀,比如他的 Paxos 算法,Zab 協(xié)議,Leader 選舉策略,分布式鎖等都是大廠面試的高頻考點。我們不僅需要熟悉使用 Zookeeper,更要了解他的底層原理,這樣不論是工作還是學(xué)習(xí)都是游刃有余。
1.ZooKeeper 面試題?
ZooKeeper 是一個開放源碼的分布式協(xié)調(diào)服務(wù),它是集群的管理者,監(jiān)視著集群
中各個節(jié)點的狀態(tài)根據(jù)節(jié)點提交的反饋進行下一步合理操作。最終,將簡單易用
的接口和性能高效、功能穩(wěn)定的系統(tǒng)提供給用戶。
分布式應(yīng)用程序可以基于 Zookeeper 實現(xiàn)諸如數(shù)據(jù)發(fā)布/訂閱、負載均衡、命名
服務(wù)、分布式協(xié)調(diào)/通知、集群管理、Master 選舉、分布式鎖和分布式隊列等功能。
Zookeeper 保證了如下分布式一致性特性:
1、順序一致性
2、原子性
3、單一視圖
4、可靠性
5、實時性(最終一致性)
客戶端的讀請求可以被集群中的任意一臺機器處理,如果讀請求在節(jié)點上注冊了
監(jiān)聽器,這個監(jiān)聽器也是由所連接的 zookeeper 機器來處理。對于寫請求,這些
請求會同時發(fā)給其他 zookeeper 機器并且達成一致后,請求才會返回成功。因此,
隨著 zookeeper 的集群機器增多,讀請求的吞吐會提高但是寫請求的吞吐會下降。
有序性是 zookeeper 中非常重要的一個特性,所有的更新都是全局有序的,每個
更新都有一個唯一的時間戳,這個時間戳稱為 zxid(Zookeeper Transaction Id)。
而讀請求只會相對于更新有序,也就是讀請求的返回結(jié)果中會帶有這個
zookeeper 最新的 zxid。
2.ZooKeeper提供了什么?
3.Zookeeper文件系統(tǒng)
4. ZAB協(xié)議?
5. 四種類型的數(shù)據(jù)節(jié)點 Znode
6. Zookeeper Watcher 機制 -- 數(shù)據(jù)變更通知
7. 客戶端注冊Watcher實現(xiàn)
8. 服務(wù)端處理Watcher實現(xiàn)
9. 客戶端回調(diào)Watcher
10. ACL權(quán)限控制機制
11. Chroot特性
12. 會話管理
13. 服務(wù)器角色
14. Zookeeper 下 Server工作狀態(tài)
15. 數(shù)據(jù)同步
16. zookeeper是如何保證事務(wù)的順序一致性的?
17. 分布式集群中為什么會有Master?
18. zk節(jié)點宕機如何處理?
19. zookeeper負載均衡和nginx負載均衡區(qū)別
20. Zookeeper有哪幾種幾種部署模式?
21. 集群最少要幾臺機器,集群規(guī)則是怎樣的?
22. 集群支持動態(tài)添加機器嗎?
23. Zookeeper對節(jié)點的watch監(jiān)聽通知是永久的嗎?為什么不是永久的?
24. Zookeeper的java客戶端都有哪些?
25. chubby是什么,和zookeeper比你怎么看?
26. 說幾個zookeeper常用的命令。
27. ZAB和Paxos算法的聯(lián)系與區(qū)別?
28. Zookeeper的典型應(yīng)用場景

ZooKeeper面試題(附答案解析)
獲取方式↓↓↓
添加VX備注【616】即可免費獲取
喜歡小編的文章可以點點關(guān)注!小編不定期的分享最新Java筆記和面試真題
【JAVA面試題專欄】
1、2022年Java后端面試手冊,助力金三銀四,吃透25個技術(shù)棧!
2、2022年金三銀四,Java后端開發(fā)最全面試攻略,程序員求職必看!
