大数据开发面试深挖 15 题

涵盖实时数仓、数据倾斜调优、流批一体、Lakehouse 数据湖与治理实战。

了解 AI 模拟面试
15 道真题·3 大分类·每题配面试官追问逻辑

题目为高频真实问法;①②③ 三层答案为模拟示范,非真实面经

15 题点击题目展开三层拆解

① 简历常见平淡回答

「在 Spark UI 里面看哪个 Task 跑得慢,调大 shuffle 分区数量,或者直接加内存把集群调大。」

单靠盲目增加分区或堆砌内存无法解决少数 Key 严重聚集的根本矛盾,未讲清通过两阶段聚合、广播变量 Join 与加盐打散的系统方案。

② 面试官追问逻辑

在空值(Null Value)过多引发的倾斜场景中,如何在保持左连接(Left Join)结果正确的前提下将 NULL 转换为随机散列字符串?Spark 3.0+ 的自适应查询执行(AQE)在运行时自动合并小分区与自适应倾斜连接(Skew Join)的底层触发算法是什么?当面对单条记录大小失控(如某个用户包含数万条嵌套数组大字段)引发的 OOM 时,如何在数据接入端实施拆分与裁剪?

③ 深挖后可量化的高分示范

排查数据倾斜必须深入 Spark UI 定位瓶颈 Stage:展开 Tasks 详情查看分位图,若中位数耗时仅需几秒但 Max 耗时高达半小时且 Shuffle Read 数据量高出成百上千倍,即确诊倾斜。治理策略按场景施策:若发生在 GroupBy 聚合,推行两阶段聚合(给倾斜 Key 拼接随机前缀做局部聚合,去除前缀再做全局聚合);若发生在两表 Join,当其中一张表小于 10GB 时强制开启广播连接(Broadcast Join)彻底消灭 Shuffle;对于大表对大表 Join,将单侧倾斜 Key 加盐打散并对另侧表做对应行复制膨胀。

看完真题拆解,来一场全真模拟面试

免注册体验一轮 AI 模拟面试,体验真实深度追问,聊出你的真实高光与项目细节。

免费注册账号

无需信用卡 · 注册即送 600 积分