| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> Java进阶教程,ZooKeeper的十二连问,你顶得了嘛 -> 正文阅读 |
|
[大数据]Java进阶教程,ZooKeeper的十二连问,你顶得了嘛 |
每个节点的数据最大不能超过多少呢为了保证高吞吐和低延迟,以及数据的一致性,znode只适合存储非常小的数据,不能超过1M,最好都小于1K。 5、面试官:你知道znode节点上的监听机制嘛?讲下Zookeeper watch机制吧。小菜鸡的我:
Watcher监听机制Zookeeper 允许客户端向服务端的某个Znode注册一个Watcher监听,当服务端的一些指定事件触发了这个Watcher,服务端会向指定客户端发送一个事件通知来实现分布式的通知功能,然后客户端根据 Watcher通知状态和事件类型做出业务上的改变。
Watcher监听机制的工作原理
Watcher特性总结
6、面试官:你对Zookeeper的数据结构都有一定了解,那你讲下Zookeeper的特性吧小菜鸡的我:(我背过书,啊哈哈) Zookeeper 保证了如下分布式一致性特性:
7、面试官:你刚提到顺序一致性,那zookeeper是如何保证事务的顺序一致性的呢?小菜鸡的我:(完蛋了这题不会) 这道题可以看下这篇文章(本题答案来自该文章):聊一聊ZooKeeper的顺序一致性
ZXID的生成规则如下: ZXID有两部分组成:
8、面试官:你提到了Leader,你知道Zookeeper的服务器有几种角色嘛?Zookeeper下Server工作状态又有几种呢?小菜鸡的我: Zookeeper 服务器角色Zookeeper集群中,有Leader、Follower和Observer三种角色 Leader
Follower
Observer
Zookeeper下Server工作状态
9、面试官:你说到服务器角色是基于ZooKeeper集群的,那你画一下ZooKeeper集群部署图吧?ZooKeeper是如何保证主从节点数据一致性的呢?小菜鸡的我: ZooKeeper集群部署图ZooKeeper集群是一主多从的结构:
ZooKeeper如何保证主从节点数据一致性我们知道集群是主从部署结构,要保证主从节点一致性问题,无非就是两个主要问题:
Zookeeper是采用ZAB协议(Zookeeper Atomic Broadcast,Zookeeper原子广播协议)来保证主从节点数据一致性的,ZAB协议支持崩溃恢复和消息广播两种模式,很好解决了这两个问题:
10、面试官:Leader挂了,进入崩溃恢复,是如何选举Leader的呢?你讲一下ZooKeeper选举机制吧小菜鸡的我: 服务器启动或者服务器运行期间(Leader挂了),都会进入Leader选举,我们来看一下~假设现在ZooKeeper集群有五台服务器,它们myid分别是服务器1、2、3、4、5,如图: 服务器启动的Leader选举zookeeper集群初始化阶段,服务器(myid=1-5)依次启动,开始zookeeper选举Leader~
服务器运行期间的Leader选举zookeeper集群的五台服务器(myid=1-5)正在运行中,突然某个瞬间,Leader服务器3挂了,这时候便开始Leader选举~
11、面试官: 你前面提到在项目中使用过Zookeeper的分布式锁,讲一下zk分布式锁的实现原理吧?小菜鸡的我: Zookeeper就是使用临时顺序节点特性实现分布式锁的。 最后看完美团、字节、腾讯这三家的面试问题,是不是感觉问的特别多,可能咱们又得开启面试造火箭、工作拧螺丝的模式去准备下一次的面试了。 开篇有提及我可是足足背下了1000道题目,多少还是有点用的呢,我看了下,上面这些问题大部分都能从我背的题里找到的,所以今天给大家分享一下互联网工程师必备的面试1000题。
互联网工程师必备的面试1000题 而且从上面三家来看,算法与数据结构是必备不可少的呀,因此我建议大家可以去刷刷这本左程云大佬著作的《程序员代码面试指南 IT名企算法与数据结构题目最优解》,里面近200道真实出现过的经典代码面试题。 习笔记等,皆可分享给各位朋友,直接戳这里即可免费下载 [外链图片转存中…(img-SebJDdfW-1628291408337)] 互联网工程师必备的面试1000题 而且从上面三家来看,算法与数据结构是必备不可少的呀,因此我建议大家可以去刷刷这本左程云大佬著作的《程序员代码面试指南 IT名企算法与数据结构题目最优解》,里面近200道真实出现过的经典代码面试题。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年4日历 | -2025/4/22 1:31:44- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |