哈喽!大家好,我是小奇,一位不靠谱的程序员
小奇打算以轻松幽默的对话方式来分享一些技术,如果你觉得通过小奇的文章学到了东西,那就给小奇一个赞吧
文章持续更新

一、前言

这天是越来越热了,但是还是有很多线下面试,我虽然很不想去,但是没办法,谁让咱是打工人呢。。。(淦。。)

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

看着熙熙攘攘、人来人往的街头,我犹如走到了自己的人生十字路口,我不仅感叹,世界这么大竟然没有我小奇的容身之地,啊,苍天啊、大地啊

路人:前面那个骑自行车的人类,绿灯了,走不走啊,要作诗的话靠路边好不好。

我:走,肯定走,不走就迟到了。。。

终于来到了要面试的公司,嚯,这个公司挺气派,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协议是什么?的更多相关文章

  1. zookeeper 负载均衡 核心机制-实现原理 包含ZAB协议(滴滴,阿里面试)

    面试也经常问kafka的原理,以及zookeeper与kafka原理的区别:kafka 数据一致性-leader,follower机制与zookeeper的区别: zookeeper是如何实现负载均衡 ...

  2. zookeeper核心之ZAB协议就这么简单!

    背景 我们都知道 Zookeeper 是基于 ZAB 协议实现的,在介绍 ZAB 协议之前,先回顾一下 Zookeeper 的起源与发展. Zookeeper 究竟是在什么样的时代背景下被提出?为了解 ...

  3. 面试官的七种武器:Java篇

    起源 自己经历过的面试也不少了,互联网的.外企的,都有.总结一下这些面试的经验,发现面试官问的问题其实不外乎几个大类,玩不出太多新鲜玩意的.细细想来,面试官拥有以下七种武器.恰似古龙先生笔下的武侠世界 ...

  4. 漂亮回答面试官struts2的原理

    众所周知,Struts2是个非常优秀的开源框架,我们能用Struts2框架进行开发,同时能快速搭建好一个Struts2框架,但我们是否能把Struts2框架的工作原理用语言表达清楚,你表达的原理不需要 ...

  5. Tomcat相关面试题,看这篇就够了!保证能让面试官颤抖!

    Tomcat相关的面试题出场的几率并不高,正式因为如此,很多人忽略了对Tomcat相关技能的掌握. 这次整理了Tomcat相关的系统架构,介绍了Server.Service.Connector.Con ...

  6. 程序员过关斩将--面试官再问你Http请求过程,怼回去!

    菜菜哥,X总在产品部瞎指挥,作为程序媛的我都快撑不住了 不光你撑不住了,大家都要撑不住了,外行人指导内行人,呵呵 前天我偷偷的去面试了,结果挂了 出去转转其实是好事,面试官问你什么了? 他让我描述一个 ...

  7. (转)史上最全 40 道 Dubbo 面试题及答案,看完碾压面试官!

    背景:因为自己的简历写了dubbo,面试时候经常被问到.实际自己对dubbo的认识只停留在使用阶段,所以有必要好好补充下基础的理论知识. https://zhuanlan.zhihu.com/p/45 ...

  8. 【测试工程师面试】在BOSS直聘上和面试官的一问一答

    岗位描述: 信用卡核心系统功能测试,负责测试计划制定,测试设计,测试执行,测试进度掌控,自动化工具建设等工作.有责任心,执行力强,工作认真细致,逻辑思维强熟悉linux,oracle或者IBM大型机操 ...

  9. 史上最全 40 道 Dubbo 面试题及答案,看完碾压面试官

    想往高处走,怎么能不懂 Dubbo? Dubbo是国内最出名的分布式服务框架,也是 Java 程序员必备的必会的框架之一.Dubbo 更是中高级面试过程中经常会问的技术,无论你是否用过,你都必须熟悉. ...

随机推荐

  1. 基于EMR离线数据分析-反馈有礼

    "云上漫步"第三期-反馈有礼 参与体验产品,提交反馈,就有机会获得定制背包,T恤,超萌虎年鼠标垫,以及5到100元阿里云通用代金券~ 反馈地址: https://developer ...

  2. Win10开启FTP与配置(完整无错版)

    #1.控制面板>程序>启用或关闭Windows功能>-(控制面板可在 桌面右键>个性化>主题>桌面图标设置>勾选控制面板>确定) #2.小娜搜索IIS打 ...

  3. 羽夏看Win系统内核——消息机制篇

    写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...

  4. Apache Tomcat如何高并发处理请求

    介绍 作为常用的http协议服务器,tomcat应用非常广泛.tomcat也是遵循Servelt协议的,Servelt协议可以让服务器与真实服务逻辑代码进行解耦.各自只需要关注Servlet协议即可. ...

  5. Zwibbler—前端Canvas绘图工具使用记录

    本人第一次发博客,用意在于记录自己在开发过程中用到的实用工具并分享出来,写的可能不好,请大家多多包涵!!! 工具官网:https://www.zwibbler.com 基于Canvas的一个前端绘画工 ...

  6. 如何实现数组与List的相互转换?在 Queue 中 poll()和 remove()有什么区别?哪些集合类是线程安全的?

    如何实现数组与List的相互转换? List转数组:toArray(arraylist.size()方法 数组转List:Arrays的asList(a)方法 /** * 〈一句话功能简述〉; * 〈 ...

  7. Dubbo 如何停机?

    Dubbo 是通过 JDK 的 ShutdownHook 来完成优雅停机的,所以如果使用 kill -9 PID 等强制关闭指令,是不会执行优雅停机的,只有通过 kill PID 时,才 会执行.

  8. memcached 能够更有效地使用内存吗?

    Memcache 客户端仅根据哈希算法来决定将某个 key 存储在哪个节点上,而不考 虑节点的内存大小.因此,您可以在不同的节点上使用大小不等的缓存.但是一 般都是这样做的:拥有较多内存的节点上可以运 ...

  9. Linux 环境下如何查找哪个线程使用 CPU 最长?

    1.获取项目的 pid,jps 或者 ps -ef | grep java,这个前面有讲过 2.top -H -p pid,顺序不能改变

  10. 文件缓存tmpfs + 数据缓存SSDB(一)

    一.文件缓存tmpfs 1.特性 1) 基于内存的文件系统,RAW+SWAP,虚拟内存 2) tmpfs使用虚拟内存,/dev/shm/使用共享内存 3) 访问速度快,可以动态调整大小 4) 没有持久 ...