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

一、前言

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

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

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

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

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

终于来到了要面试的公司,嚯,这个公司挺气派,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. 用 EXISTS 或 NOT EXISTS 用法

    项目中遇到这么个情况: t1表 和 t2表  都是150w条数据,600M的样子,都不算大. 但是这样一句查询 ↓ select * from t1 where phone not in (selec ...

  2. django处理跨域

    django处理Ajax跨域访问时使用javascript进行ajax访问的时候,出现如下错误 出错原因:javascript处于安全考虑,不允许跨域访问.下图是对跨域访问的解释: 概念: 这里说的j ...

  3. web自动化之svg标签定位

    今天在定位元素的时候,发现页面有一个svg标签需要进行定位. 于是便使用常规的xpath定位方法试了一下,很明显结果是不行的,哈哈哈... 错误定位方法://div[@class="oper ...

  4. Ubuntu- 彻底干净卸载MySQL、Apache2、Php的方法

    一.卸载删除 mysql 1 sudo apt-get autoremove --purge mysql-server-5.0 2 sudo apt-get remove mysql-server 3 ...

  5. final, finally, finalize的区别?

    final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承.内部类要访问局部变量,局部变量必须定义成final类型.finally是异常处理语句结构的一部分,表示总是执行.fin ...

  6. MariaDB数据库设置用户密码

    SET PASSWORD [FOR user] = { PASSWORD('some password') | OLD_PASSWORD('some password') | 'encrypted p ...

  7. java-spring

    Spring-IOC ioc概念 控制反转 把对象创建和对象之间的调用过程,交给Spring 进行管理. 目的就是,为了降低耦合度,因为当你想在一个类当中调用另外一个类的方法,你需要获得另外一个类的实 ...

  8. 解释 JDBC 抽象和 DAO 模块?

    通过使用 JDBC 抽象和 DAO 模块,保证数据库代码的简洁,并能避免数据库资源 错误关闭导致的问题,它在各种不同的数据库的错误信息之上,提供了一个统一 的异常访问层.它还利用 Spring 的 A ...

  9. CEPH-3:cephfs功能详解

    ceph集群cephfs使用详解 一个完整的ceph集群,可以提供块存储.文件系统和对象存储. 本节主要介绍文件系统cephfs功能如何灵活的使用,集群背景: [cephadmin@yq01-aip- ...

  10. Volcano:在离线作业混部管理平台,实现智能资源管理和作业调度

    摘要:本文结合华为CCE团队在混合部署方面的研究和实战,介绍了混合部署的背景.概念.混部技术的设计方案和实际落地情况,以及对未来的计划和展望. 现代互联网数据中心的规模随着应用服务需求的快速增长而不断 ...