一,上来就问了项目里日志的处理量,50w 100M左右 二,问项目里如何解决Hbase的热点问题,面试官没听明白,后面就直接问热点问题如何解决的 答的就举年份例子,加盐,预分区三,Kafka里是如何leader和follow是如何实现同步的 具体怎么实现同步我确实不知道,我就答的是offset在follow和leader挂了后如何在实现同步的,面试官说我似乎说了又没说明白,后面查了一下,下面就补充吧四,Hbase读写原理 说了读数据原理,写数据原理就说了和读数据原理差不多也五,你了解mysql的索引嘛,有哪些是不会用到索引的答了,索引的分类,like和or,还有多值索引的最左前缀原则 说完,他就直接问了下一个问题六,Spark的宽窄依赖你知道吗我回答上,还说了stage和task 七,Hadoop读写原理开始的懵住了,答成了yarn的执行原理,后来也回过头来答对了八,问了一个数据结构的问题,我说了个排序算法,插入排序在说排序算法的时候,对面网挂了,就在调那网,然后就说结束了,我都还没提问额。。。。LEO:(LogEndOffset)最后的一个索引位置 副本和leader都有HW:水位线,就是当follow和leader里最小的LEO所谓同步,必须满足两个条件:副本节点必须能与zookeeper保持会话(心跳机制)副本能复制leader上的所有写操作,并且不能落后太多(卡主或滞后的副本控制由replica.lag.time.max.ms配置)副本间的同步过程就是依赖LEO和HW来以他们的值变化来演示副本同步消息的过程,首先生产者不停的向leader写入数据,这个时候leader的LEO可能已经为10了,但HW还是0,两个follow就开始向leader请求同步数据,他们LEO值都为0,然后消息继续写入,LEO的值又发生了变化,俩个follow也各自拉去到了自己的信息,于是更新自己的LEO,但这时Leader的HW依然没有改变此时,follow依旧向leader拉取数据,这个时候leader会更新自己的HW值,取Follower中的最小的LEO值来更新比如为7,此时leader就响应自己的HW给follow,follow就更新自己的HW值,因为又拉到了数据,就继续更新自己的LEO,依次类推消费者只能获取HW之前的数据https://uploadfiles.nowcoder.com/images/20220721/890110428_1658399428516/B6C31D01D41C9E1714958F9C56D01D8F