米哈游数开秋招凉经
一面
1.自我介绍
2. 最常耗时的一个SQL,怎么定位这个问题,包括怎么去做的优化。
3. 有考虑过索引的优化吗?
4. 同学在跑SQL的时候有没有explain这个SQL去看一下它的执行计划呢?
5. 假如explain发现SQL执行计划没有错乱、没有不合理的情况,但实际上跑的还是很慢,同学有考虑过这是为什么吗?
6. 同学怎么去判断到底是资源不足导致的慢,还是数据倾斜导致的慢呢?
7. 能不能从Spark SQL的内部角度谈一下,一个SQL怎么从字符串变成最后可执行的task的?
8. join的优化会影响在哪一层上吗?比方说a join b改成b join a,实际影响的是哪一层的执行计划
9. 怎么去判断一个Spark任务是否存在倾斜
10. 除了Spark UI,根据业务判断,可不可以从SQL特征上判断出数据倾斜呢?
11. group by数据倾斜
12. join的倾斜是怎么处理的,聚合的倾斜是怎么处理的。
13. 加盐的话会有什么副作用吗?
14. 加完盐之后能一次得到结果吗?
15. 如果倾斜的key占到整个数据的大概70%,用broadcast的方式不行,同学会考虑怎么办呢?
16. 在Spark内部,broadcast之后是怎么实现的?广播的数据存在哪儿?使用的是什么数据结构呢?
17. 同学有了解过broadcast这张表过大的话,Spark会怎么去控制这个情况发生吗?
18. 如果broadcast的阈值设置不合理,比方说设成了1G,会有什么情况发生呢?
19. driver会因为broadcast表过大而发生OOM吗?
20. orc相比text file,在执行层面会快在哪?为什么要用orc而不用text file,优势在于哪?
21. 除了压缩、列式存储,orc文件的结构有什么特征吗?
22. orc与parquet优势在哪,缺点在哪?
。。。。。。实习相关内容
36. 有一张员工表,字段是员工ID和薪资,希望通过SQL找到里面第二高的工资是多少?不用窗口函数该怎么实现呢?
37. 同学有了解过Java的内存模型吗?
38. 同学有了解过Java的hashCode和equals之间的关系吗?
39. 同学有了解过Java的类加载器的相关内容吗?比方说分为几种类加载器,加载顺序是什么样的?
40. 同学对垃圾回收机制有了解过吗?有了解过CMS和G1吗?
41. CMS的缺点是什么呢?为什么它扫描时间会很久呢?CMS不是并发的吗?
42. 同学常用的OLAP引擎是什么?
43. 同学有了解过Doris的tablet是什么吗?
44. Doris的分区和分桶有什么区别吗?
45. 分区和分桶各有什么好处呢?
46. 同学有了解过实时相关的概念吗?了解过Kafka的topic和partition之间有什么关系吗?
47. Kafka里面的offset同学有了解过它是干什么用的吗?offset是全局的还是分区内的?
48. 有一个场景:MySQL里有一张20亿数据的表,不使用任何数据同步组件(比如canal、maxwell、flink cdc等),怎么把数据从MySQL迁移到Hive或者Doris里面?
49. 在读取MySQL数据做分批迁移的时候,怎么分片读呢?比方说表里面有一个时间字段,该怎么利用?
编程题:二叉搜索树转化为双端链表
二面
1.自我介绍
2.实习介绍
3.数据治理怎么做的
SQL题:
已知数仓表 t 的结构包含:
uid(int)
vid(string)
start_time(yyyy-mm-dd hh:ll:ss)
end_time(yyyy-mm-dd hh:ll:ss)
dt(分区字段)
hour(分区字段)
数据样例:
uid=100043435,
vid=f1ewmkflgkl2ds,
start_time=2025-12-24 18:06:18,
end_time=2025-12-24 18:17:25,
dt=2025-12-24,
hour=18。
求出一天内每5分钟的视频播放量top10
最终结果
start_time end_time top10
00:00 00:05 ....
00:05 00:10 ....
.....
4.java抽象类和接口的区别
5.什么情况用抽象类什么情况用接口
5.java 中lock和synchronized的区别
6.编程题:实现一个滑动窗口数据结构,支持实时评算窗口内的最大值、最小值和平均值。
第二问:求最大值、最小值不用数据结构、排序、组内遍历,还有别的实现方式吗
一面问麻了
二面炸缸了


#数据人offer决赛圈怎么选##26届校招投递进展##数据开发面经#
1.自我介绍
2. 最常耗时的一个SQL,怎么定位这个问题,包括怎么去做的优化。
3. 有考虑过索引的优化吗?
4. 同学在跑SQL的时候有没有explain这个SQL去看一下它的执行计划呢?
5. 假如explain发现SQL执行计划没有错乱、没有不合理的情况,但实际上跑的还是很慢,同学有考虑过这是为什么吗?
6. 同学怎么去判断到底是资源不足导致的慢,还是数据倾斜导致的慢呢?
7. 能不能从Spark SQL的内部角度谈一下,一个SQL怎么从字符串变成最后可执行的task的?
8. join的优化会影响在哪一层上吗?比方说a join b改成b join a,实际影响的是哪一层的执行计划
9. 怎么去判断一个Spark任务是否存在倾斜
10. 除了Spark UI,根据业务判断,可不可以从SQL特征上判断出数据倾斜呢?
11. group by数据倾斜
12. join的倾斜是怎么处理的,聚合的倾斜是怎么处理的。
13. 加盐的话会有什么副作用吗?
14. 加完盐之后能一次得到结果吗?
15. 如果倾斜的key占到整个数据的大概70%,用broadcast的方式不行,同学会考虑怎么办呢?
16. 在Spark内部,broadcast之后是怎么实现的?广播的数据存在哪儿?使用的是什么数据结构呢?
17. 同学有了解过broadcast这张表过大的话,Spark会怎么去控制这个情况发生吗?
18. 如果broadcast的阈值设置不合理,比方说设成了1G,会有什么情况发生呢?
19. driver会因为broadcast表过大而发生OOM吗?
20. orc相比text file,在执行层面会快在哪?为什么要用orc而不用text file,优势在于哪?
21. 除了压缩、列式存储,orc文件的结构有什么特征吗?
22. orc与parquet优势在哪,缺点在哪?
。。。。。。实习相关内容
36. 有一张员工表,字段是员工ID和薪资,希望通过SQL找到里面第二高的工资是多少?不用窗口函数该怎么实现呢?
37. 同学有了解过Java的内存模型吗?
38. 同学有了解过Java的hashCode和equals之间的关系吗?
39. 同学有了解过Java的类加载器的相关内容吗?比方说分为几种类加载器,加载顺序是什么样的?
40. 同学对垃圾回收机制有了解过吗?有了解过CMS和G1吗?
41. CMS的缺点是什么呢?为什么它扫描时间会很久呢?CMS不是并发的吗?
42. 同学常用的OLAP引擎是什么?
43. 同学有了解过Doris的tablet是什么吗?
44. Doris的分区和分桶有什么区别吗?
45. 分区和分桶各有什么好处呢?
46. 同学有了解过实时相关的概念吗?了解过Kafka的topic和partition之间有什么关系吗?
47. Kafka里面的offset同学有了解过它是干什么用的吗?offset是全局的还是分区内的?
48. 有一个场景:MySQL里有一张20亿数据的表,不使用任何数据同步组件(比如canal、maxwell、flink cdc等),怎么把数据从MySQL迁移到Hive或者Doris里面?
49. 在读取MySQL数据做分批迁移的时候,怎么分片读呢?比方说表里面有一个时间字段,该怎么利用?
编程题:二叉搜索树转化为双端链表
二面
1.自我介绍
2.实习介绍
3.数据治理怎么做的
SQL题:
已知数仓表 t 的结构包含:
uid(int)
vid(string)
start_time(yyyy-mm-dd hh:ll:ss)
end_time(yyyy-mm-dd hh:ll:ss)
dt(分区字段)
hour(分区字段)
数据样例:
uid=100043435,
vid=f1ewmkflgkl2ds,
start_time=2025-12-24 18:06:18,
end_time=2025-12-24 18:17:25,
dt=2025-12-24,
hour=18。
求出一天内每5分钟的视频播放量top10
最终结果
start_time end_time top10
00:00 00:05 ....
00:05 00:10 ....
.....
4.java抽象类和接口的区别
5.什么情况用抽象类什么情况用接口
5.java 中lock和synchronized的区别
6.编程题:实现一个滑动窗口数据结构,支持实时评算窗口内的最大值、最小值和平均值。
第二问:求最大值、最小值不用数据结构、排序、组内遍历,还有别的实现方式吗
一面问麻了
二面炸缸了
#数据人offer决赛圈怎么选##26届校招投递进展##数据开发面经#
全部评论
一面问这么多八股
相关推荐
点赞 评论 收藏
分享
查看16道真题和解析