快手提前批数据架构研发工程师一面面经
快手提前批数据架构研发工程师一面面经 2020.08.31 1小时
1.介绍项目
2.flume采集数据的时候用的source源的类型
3.flume+kafka+sparkstreaming这个流程中为什么要用kafka而不用redis等;把kafka的优点答一下完事
4.kafka零拷贝的实现原理
5.如何保证整个流程消息不重复消费
6.hadoop中挑你最熟悉的一个组件讲讲:mapreduce
7.mapreduce的环形缓冲区的100m大小啥时候调整,调整完有啥影响?能不能把它调成无限大?其实在问环形缓冲区的调优
8.环形缓冲区的作用是什么?
9.mapreduce的map端切片机制
10.每个切片大小128M可以改变吗?有啥影响? 其实就是切片机制及调优
11.hdfs可以读哪些类型的数据?如果不是读的datanode的block块数据的话,128M还有作用吗
12.jvm内存模型
13.jvm垃圾回收算法?把整个对象分代过程及用的算法全说了一遍,还扯到Eden区的TLAB
14.TLAB的作用是什么?它会带来什么问题?在面试官的引导下答出来了
15.jvm堆内存满了怎么办?
16.手撕代码:两个有序数组,找第k大的,时间复杂度o(M+N)
面试体验不错,不会的面试官会引导你,更深刻的认识了一些知识,偏重调优,准备二面