星环感觉整个流程非常不错,二面面试官不是搞大数据的,但是交流上感觉到了尊重,面试实在7月份,八月份就给意向了,进展到十月份了对比看来星环流程真的不错(PDD推荐组某个面试官一生黑),看到大数据后端已经不招人了,但是可能会拒掉
忘记了没有记录
[大白话彻底讲透 HBase Rowkey 设计和实现! - 腾讯云开发者社区-腾讯云 (tencent.com)](https://cloud.tencent.com/developer/article/1786752#:~:text=HBase 中的行是按照 Rowkey,的字典顺序排序的,这种设计优化了 scan 操作,可以将相关的行以及会被一起读取的行存取在临近位置,便于 scan。)
我谈到HBASE预分区了,预分区的步骤:1.先确定rowkey范围(现在和未来),2.根据rowkey预先分区。在第一部就需要设计rowkey就会有解决热点数据的问题
这里不太理解面试官的问题,我本身把HBAS忘光了,就在这结束了
在新建ProducerBatch时需要评估这条消息的大小是否超过batch.size,如果不超过,就以batch.size的大小来创建这个ProducerBatch,这样在使用完后还可以通过BufferPool的管理进行复用。若果超过,则以消息的大小来创建ProducerBatch,此内存区域不会被复用。
这里没讲清楚,其实Sender线程发送的时候就指定了ACK。。。。。
一开始我说的controller,后来记混了说到consumer端的Coordinator了
Apache-Kafka 核心组件和流程-控制器 (qq.com)
聊了一下ZAB和raft对比,面试官也刚看了raft论文,所以raft应该重点去研究一下
卡到异步非阻塞IO?不知道面试官聊的异步IO是什么?
答案是要关闭(我吐了,我想得很复杂,就这?),顺口说了一句可能我coding比较少,居然没有想起这个概念,然后这句话被它记下来了,可恶。
JVM的GC不会帮助释放I/O这类的操作系统资源,对于系统I/O资源一般需要手动去请求操作系统关闭。
直接摆烂说只记了主要流程
最后估计面试官把DFS和BFS搞混了,我们说的牛头不对马嘴
我说我只看了concurrentHashMap,面试官问了HashMap扩容,我说我能说concurrentHashMap的扩容吗,说完之后,面试官说很不一样
我没说完整,client在写完所有block时,会close掉这个输出流,NN会把该文件标记为可用状态,这时候整个写入流程才结束,没有close()直接被3面面试官抓住了啊。
没讲清楚ZGC的并发标记与并发回收,ZGC的流程应该重点看一看,为什么会有短暂停顿,不熟练!
直接给干趴下,JVM调优内容,细到问什么工具,我直接摆烂不会
递归写完了,非递归脑子宕机了,没写出来
这里没讲清楚,我讲知识点一直有个心里假设怕对方知道不想讲很多细节,但是面试就是要细节,所有要做到事无巨细。
回答方式:如何预防小文件 与 如何处理小文
小文件是热点面试题,我用Flink-Hudi小文件产生的原因与避免方式去讲解了。面试官的点应该是如何处理小文件,是小文件已经产生后的处理策略。
我直接说我没遇到过,然后谈谈了谈常见的解决方案,但是回答逻辑有问题
分Groupby 与 join