面试官:ZAB协议是什么?
哈喽!大家好,我是小奇,一位不靠谱的程序员
小奇打算以轻松幽默的对话方式来分享一些技术,如果你觉得通过小奇的文章学到了东西,那就给小奇一个赞吧
文章持续更新
一、前言
这天是越来越热了,但是还是有很多线下面试,我虽然很不想去,但是没办法,谁让咱是打工人呢。。。(淦。。)

今天面试的地方距离小窝不远,我就骑上了我的小小自行车,不知不觉就来到了十字路口。

看着熙熙攘攘、人来人往的街头,我犹如走到了自己的人生十字路口,我不仅感叹,世界这么大竟然没有我小奇的容身之地,啊,苍天啊、大地啊
路人:前面那个骑自行车的人类,绿灯了,走不走啊,要作诗的话靠路边好不好。
我:走,肯定走,不走就迟到了。。。

终于来到了要面试的公司,嚯,这个公司挺气派,1、2、3、4、5、6、7、8、9,一共6层楼。。。

电梯门一开就有前台小姐姐接待,没有大家期待的打电话留门环节。。。

前台小姐姐:您好,您是?
我:我是来面试的。
前台小姐姐:您的联系人是?
我:范厨师
前台小姐姐:厨师?
我:不好意思,说串了,范厨师是我下午要去面试的饭馆的接待人,你们这里是马老师跟我联系的。
前台小姐姐:您还面试厨师呢?
我:没办法,谁让你们这个行业这么卷,还动不动就辞退人,我也得搞点副业呀。。。
前台小姐姐:有道理。。。先把这些表填一下吧。
嚯,给了我有半斤表,我是来面试的不是来练字的。

什么星座、什么血型、什么家庭、什么背景、什么来路、什么是快乐星。。。这都是些什么问题啊,我来面试的,怎么搞的我跟要收监一样。算了,写了两个小时终于写完了。
二、面试
面试官:小奇是吧,过来路上累了吧
我:路上不累,就是填了半斤的表有点累。。。咱们公司是不是纸多的用不完啊,用不完走的时候我拿点回家当手纸。
面试官:哈哈,你要是面试回答的好就让你随便拿
我:行,那你问吧。
面试官:我看你简历上精通zookeeper是吧
我:都是各个面试官之间吹捧的,其实还好啦,一般一般,世界第三。。。

三、ZAB协议
面试官:那你说一说什么是ZAB协议吧
我:“这啊八”协议是什么啊,我怎么没有听说过呢?
面试官:你不是精通zookeeper吗,zookeeper里面的zab协议
我:哦哦,那我明白了。
我:zab协议全称为:Zookeeper Atomic Broadcast(Zookeeper 原子广播协议)。
zab主要是为了解决分布式一致性而设计的一种实现方法。
面试官:解决哪方面一致性呢
我:解决数据方面的一致性问题,我们要保证Leader中的数据和follower中的数据保持一致。
面试官:怎么能够保证一致呢

我:在leader收到客户端发送的消息后他并没有先保存下来,而是先发送给follower节点,当follower节点有超过一半给他相应成功后,他才让follwer保存数据,然后自己也保存数据。
面试官:能不能形象一点呢,这个图我看不懂
我:看不懂出门左拐,慢走不送。。。
面试官:好,哎不对呀,我是面试官,你是来面试的呀,不应该我走呀
我:行,那你不走的话我就给你详细讲一下。
面试官:好
我:现在我们来角色扮演一下,我演皇上,你演太监好吗?
面试官:好

我:今天中午御膳房送来了我最爱吃的硬菜木须肉,这个时候我肯定不能直接吃呀,我肯定先给太监也就是你尝一下有没有毒,如果没有毒了我再吃对不对。
面试官:对,那为什么一定要半数以上的太监认为没有毒了你才能吃呢
我:笨啊,如果只有一个太监,那么他被收买了,我肯定就悬了,肯定得多个太监都说没毒才行。
面试官:对,那为什么不让所有的太监都尝一尝呢,半数的就够了吗
我:我有八百个太监,都尝一尝那我岂不是就没有饭吃了。。。
面试官:对对对,皇上英明

面试官:小伙子真厉害啊,让我身临其境的感受了一下原理
我:这不算啥,想感受等我入职了咱们接着角色扮演。
面试官:好,那你明天就来上班吧,不,现在就登基吧
我:这么突然吗。。。
四、总结
这里关于zookeeper还没有整理完毕,文章后面持续更新,建议收藏。
文章中涉及到的命令大家一定要像我一样每个都敲几遍,只有在敲的过程中才能发现自己对命令是否真正的掌握了。
如果觉得我的文章还不错的话就点个赞吧
面试官:ZAB协议是什么?的更多相关文章
- zookeeper 负载均衡 核心机制-实现原理 包含ZAB协议(滴滴,阿里面试)
面试也经常问kafka的原理,以及zookeeper与kafka原理的区别:kafka 数据一致性-leader,follower机制与zookeeper的区别: zookeeper是如何实现负载均衡 ...
- zookeeper核心之ZAB协议就这么简单!
背景 我们都知道 Zookeeper 是基于 ZAB 协议实现的,在介绍 ZAB 协议之前,先回顾一下 Zookeeper 的起源与发展. Zookeeper 究竟是在什么样的时代背景下被提出?为了解 ...
- 面试官的七种武器:Java篇
起源 自己经历过的面试也不少了,互联网的.外企的,都有.总结一下这些面试的经验,发现面试官问的问题其实不外乎几个大类,玩不出太多新鲜玩意的.细细想来,面试官拥有以下七种武器.恰似古龙先生笔下的武侠世界 ...
- 漂亮回答面试官struts2的原理
众所周知,Struts2是个非常优秀的开源框架,我们能用Struts2框架进行开发,同时能快速搭建好一个Struts2框架,但我们是否能把Struts2框架的工作原理用语言表达清楚,你表达的原理不需要 ...
- Tomcat相关面试题,看这篇就够了!保证能让面试官颤抖!
Tomcat相关的面试题出场的几率并不高,正式因为如此,很多人忽略了对Tomcat相关技能的掌握. 这次整理了Tomcat相关的系统架构,介绍了Server.Service.Connector.Con ...
- 程序员过关斩将--面试官再问你Http请求过程,怼回去!
菜菜哥,X总在产品部瞎指挥,作为程序媛的我都快撑不住了 不光你撑不住了,大家都要撑不住了,外行人指导内行人,呵呵 前天我偷偷的去面试了,结果挂了 出去转转其实是好事,面试官问你什么了? 他让我描述一个 ...
- (转)史上最全 40 道 Dubbo 面试题及答案,看完碾压面试官!
背景:因为自己的简历写了dubbo,面试时候经常被问到.实际自己对dubbo的认识只停留在使用阶段,所以有必要好好补充下基础的理论知识. https://zhuanlan.zhihu.com/p/45 ...
- 【测试工程师面试】在BOSS直聘上和面试官的一问一答
岗位描述: 信用卡核心系统功能测试,负责测试计划制定,测试设计,测试执行,测试进度掌控,自动化工具建设等工作.有责任心,执行力强,工作认真细致,逻辑思维强熟悉linux,oracle或者IBM大型机操 ...
- 史上最全 40 道 Dubbo 面试题及答案,看完碾压面试官
想往高处走,怎么能不懂 Dubbo? Dubbo是国内最出名的分布式服务框架,也是 Java 程序员必备的必会的框架之一.Dubbo 更是中高级面试过程中经常会问的技术,无论你是否用过,你都必须熟悉. ...
随机推荐
- 『德不孤』Pytest框架 — 15、Pytest参数化
目录 1.Pytest参数化说明 2.Pytest参数化方式 3.parametrize装饰器参数说明 4.Pytest参数化(单个参数) 5.Pytest参数化(多个参数) 6.ids参数说明 1. ...
- kubernetes更改coredns增加解析
kubernetes更改coredns增加解析 k8s中coredns可以为全集群提供dns解析功能, 所以如果我们要手动增加dns解析, 只需在coredns中增加dns解析对即可 1. 编辑cor ...
- 反射getattr
@property 将类中的方法伪装成属性 与@property相关的俩个 @方法.setter 修改操作 @方法.deleter 删除一个property属性的时候会执行被de ...
- YCCMS 3.3 CSRF漏洞--代码执行
一. 启动环境 1.双击运行桌面phpstudy.exe软件 2.点击启动按钮,启动服务器环境 二.代码审计 1.双击启动桌面Seay源代码审计系统软件 2.点击新建项目按钮,弹出对画框中选择(C:\ ...
- CF1545X Codeforces Round #732
A. AquaMoon and Strange Sort 叉人题 如果数字各不相同,只需要统计每个数参与构成的逆序对总数,如果是奇数一定最终朝左,偶数朝右.无意义的数字交换对方向是没有影响的 继续考虑 ...
- libpcap -学习1
1.今天学到的最重要一点就是指定是否打开混杂模式(Promiscuous Mode),0表示非混杂模式,任何其他值表示混合模式.如果要打开混杂模式,那么网卡必须也要打开混杂模式,可以使用如下的命令打开 ...
- UNIX网络编程--学习日记
今天在学习accept函数的时候,在执行服务器程序的时候,碰到了如下的出错信息: bind error: Address already in use 其原因在于服务器程序使用了13号的端口; 然而在 ...
- JVM知识(一) 求你了,别再说Java对象都是在堆内存上分配空间的了!
求你了,别再说Java对象都是在堆内存上分配空间的了! https://baijiahao.baidu.com/s?id=1661296872935371634&wfr=spider& ...
- kafka 学习(二--前言)
kafka 现在在企业应用和互联网项目中的应用越来越多了,本篇文章就从 kafka 的基础开始带你一展 kafka 的宏图 1. 什么是 Kafka Kafka 是一个分布式流式平台,它有三个关键能力 ...
- @Param注解和@Mapper注解
@Param 1.如果dao方法中只有一个参数,入参可以为#{0}或者#{任意单词},也可以使用@Param指定参数名称,sql中就只能#{指定名称}获取参数 public List<Regio ...