本篇文章的面经是我辅导的一个同学的真实面试经历!
2023年校招的宝子们拿走快看!
第一个面经来自某头部大厂:
1. 做过的项目细节和遇到的问题(30分钟)
所以说大家要对简历中的项目细节了如指掌!
2. 实习工作介绍(5min)
3. 数据倾斜有哪几种解决方法
4. Hdfs小文件危害,元数据压垮namenode,怎么处理?
5. 为什么开启map—join后会减小数据倾斜?
6. 数仓建模的层数:ods,dwd,dim,dws,ads(如果去掉几层或者多几层可以吗?)
7. 缓慢变化维度怎么处理?拉链表有重叠怎么解决?拉链表如果出现断链怎么办?
8. Hdfs怎么保证高可用?
9. Reduce和map的个数由扫描决定的?
10. 怎么优化分区的键值?
某直播平台:
1. 实习的工作是什么?
2. SQL调优有哪些?
3. 介绍一下项目,主要做什么工作?
4. Kafka的基本架构?
5. Kafka的partition副本写数据是怎么写的?
6. Kafka副本的leader是怎么选出来的?
7. 有没有了解Kafka的架构设计?
8. 讲一个最熟悉的集合?(答了HashMap)
9. ArrayList是怎么实现的?LinkedList是怎么实现的?ArrayList与LinkedList有什么区别?
10. 怎么声明字符串(String)?字符串new出来保存到哪里?如果是字符串常量保存在哪?
11. StringBuffer和StringBuilder有什么区别?
12. Java里除了Synconized,还有什么加锁方式?
13. 介绍一下垃圾回收机制
14. 具体的垃圾回收器有哪些?
15. MySQL的存储引擎有哪些?Innodb的索引是怎么实现的?为什么用B+树?
16. 索引的作用
17. 内连接是什么?
18. 有了解MVCC吗?介绍一下
19. Hdfs的架构是怎样的?NN和2NN有什么区别?
20. HDFS的HA怎么实现?
21. HDFS的写数据流程?其中一台DataNode掉线了,写数据会怎样呢?
22. HBase是列式存储吗?行式存储和列式存储有什么区别?
23. HBase的HA
24. 用的Hadoop是什么版本?
25. 项目里Hive用的是内部表还是外部表?为什么用外部表?
26. Hive数据倾斜
27. 有没写过Hive的UDF函数?
28. 有没了解过开窗函数?介绍一下
第三家公司:
1. 线程和进程有哪些区别?
2. 怎么看一个正在执行的JAVA程序的线程状态?
3. 新生代和老年代主要是干什么的?比例是多少?
4. HDFS的服务组成有哪些?它们分别的作用是什么?
5. 除了Hive之外,还用过其他数仓吗?
6. Flink的窗口主要是干什么的?
7. Flink的dataStream和dataset有什么区别?
8. Flink的部署模式有哪些?分别说明一下
9. Flink中三个不同的时间概念?
10. Spark中的分组算子有哪些?(reduceByKey,groupByKey)
11. Hive什么情况下会出现数据倾斜?怎么处理?
12. Hive的内部表和外部表有什么区别?
13. Hive的数据存储格式有哪些?
14. Gzip和Bzip压缩格式有什么区别?
15. Kafka的架构和特点是什么?
16. HBase适用哪些场景?
17. HBase的rowKey有什么要求?