美团数据开发实习
一面(2023/3/22 50min)
1、介绍一下项目
2、项目是自己搭建的吗?
3、维度退化怎么理解?
4、Hive调优怎么做的?
5、HashMap底层怎么实现?
6、对于HashMap为什么是链表大于8转成红黑树?
7、HashMap1.8前,如果用LinkedList可以代替数组吗,不考虑效率的话?
8、那用ArrayList可以代替吗?
9、ArrayList的扩容机制?
10、那HashMap底层扩容是几倍?为什么用2的倍数去扩容?
11、还有它的扩容因子是多少?为什么设置的是0.75?
12、HashMap在多线程下会发生什么问题?
13、刚刚说的元素大于8的时候转成红黑树,什么时候退化成链表?
14、你刚刚说多线程下是安全的,如果想使用它的话,有什么办法?
15、那你说的concurrentHashMap是怎么实现的?
16、Synchronized一般怎么用?
17、JVM内存分配的过程?
18、对象的内存布局有了解吗?
19、有了解CMS吗?CMS会有什么问题吗?
20、你刚刚说内存碎片怎么优化,CMS的不足?
21、MySQL索引的理解?底层实现?
22、B+索引和哈希索引区别?
23、聚簇索引和非聚簇索引的区别?
24、B+树3层的话可以存放多少量级的数据?
25、覆盖索引了解吗?
26、建立联合索引的时候要注意什么?怎么去设计索引?
27、索引下推有了解过吗?
28、HDFS写过程?
29、那它为什么设计成管道写入,为什么不是同时写三份?
30、datanode怎么去容错的,如果写一份失败了怎么处理?
31、有没有了解过其他消息中间件?对比Kafka,Kafka从设计上有什么优点?
32、Kafka从设计上怎么保证吞吐量?
33、股票问题,一次买入卖出(力扣121. 买卖股票的最佳时机)
面试官介绍部门
反问
二面(2023/3/23 25min)
1、介绍实习经历
2、你另一个的项目介绍一下
3、关于数仓知识从哪里学习的?
4、实习的导师对你的帮助是什么?
5、针对你实习遇到的问题,你的实习导师告诉你的优化方案是什么?
6、你专业和大数据无关,课题介绍一下,你们专业学了什么
7、Java内存回收机制是什么样的呢?
8、Java开发用过设计模式?那你Java用在哪里?
反问