其实如果我是面试官的话,我如果感觉你都把刚才那些问题都答出来了,我可能会继续刨根问底,深挖,问你,直到把你给问倒
消息队列,kafka,复制的底层原理,leader选举的算法,增加partition以后的rebalance算法,扣很多很多的细节,如何优化kafka写入的吞吐量
其实这块如果挖深了可以问的极其深,如果是我来深挖,可能会挖到ES底层的相关度评分算法(TF/IDF算法)、deep paging、上千万数据批处理、跨机房多集群同步、搜索效果优化,等等很多的实际生产问题。
- 一种比较水的面试官,他可能还掌握不到我们这个面试突击教程水准,他其实连我们教程里的这些问题都没问到位
- 比较nice的面试官,问的差不多了,对你还挺欣赏的,基本上就让你过了
- 比较hard的面试官,干倒,虐你,故意要让你出丑,我不是这种,我只不过严格,我希望招到的是一个最好的这么一个人,我之所以会深挖深挖深挖,我想看看你的极限到底在哪里,你对这么技术掌握的最深的深度在哪儿?如果你进来成为为的下属,我就可以对你的能力各方面都非常的了解
但既然我们定位是快速突击,帮助的是那些原本可能连一些基础问题都没法答出来的同学去面试,而且确实现在很多公司面试官问到这块可能也就是问一些基础的问题,那么我们就不忘初心吧
我唯一能说的,就是只要有人跟你聊到ES,你可以自己合盘脱出自己对分布式搜索引擎基本原理的一个理解,以及你们在项目中一般是如何优化的,包括你们生产环境是怎么部署的,数据量多大。让别人感觉你这块至少还是正经了解和干过的。
参考
《Java工程师面试突击第1季-中华石杉老师》