Spark:宽依赖转换和窄依赖转换有什么区别?为什么 shuffle 的代价很高?
这是 Databricks 的开场筛选题,决定了后续面试是深入探讨还是停留在基础层面。给出定义只是及格线,得分点在于解释 shuffle 在物理上到底做了什么,以及如何在 Spark UI 中观察到它。
更新于 2026 年 8 月 · 基于真实的前沿部署工程师面试流程撰写,并按照资深工程师的编辑标准打磨。
这是 Databricks 的开场筛选题,决定了后续面试是深入探讨还是停留在基础层面。给出定义只是及格线,得分点在于解释 shuffle 在物理上到底做了什么,以及如何在 Spark UI 中观察到它。
先讲清楚显而易见的方案会在哪里失效,因为这正是他们要考察的判断力——大多数候选人会直接跳到理想路径,从而失去面试官的兴趣。
然后按顺序沿着数据管道回溯这次失败,在提出修复方案之前,先点出客户高管支持者真正关心的那一个指标。