上个月走完 EY data engineer 的面试 loop,岗位在他们的 Technology Consulting 方向。分享下笔记,因为我面之前几乎找不到什么具体信息。
总共四轮:recruiter 电话初筛(标准 20 分钟,背景 + 可入职时间),然后和 data engineering 团队的人做一轮 technical screen,然后同一天两轮终面(一个技术,一个 behavioral/case 混合)。
SQL 真的很硬。 不是「write a SELECT(写一个 SELECT)」(写个 SELECT)那种 SQL。更像是:给你一个很乱的 schema,写一个能正确处理 NULL 的查询,用 window function 算 running total,并解释为什么你的做法比 subquery 更好。有一道题给了我 slowly changing dimension 的场景,先问你在 query 里怎么处理,再往架构方向深入。整体是中级到偏高级。PARTITION BY、LEAD/LAG、RANK vs DENSE_RANK 这些要熟。
Pipeline 的问题更偏设计。他们让我过一遍:如果客户要从 10+ 个不同 schema 的源系统采数据,你会怎么搭一个 ELT pipeline。我聊了编排(提 Airflow 他们完全 OK)、幂等、schema 演进、监控。没有标准答案,他们想看你有没有考虑 failure mode。
他们也问了 Spark。不是深度调参那种,更像是:你有没有那个心智模型,实际用过没有。我有真实经验所以还好,但我不会建议硬装。
Behavioral 基本是比较标准的 EY 风格:客户影响、如何处理不确定性、以及一次你必须把技术概念简化讲给非技术方的经历。他们很在意最后这个,因为工作偏咨询,你会把 data pipeline 讲给不知道 DAG 是什么的客户听。
timeline 大概 3 周走完。终面后大概 5 个工作日给了 offer。
如果有人也在同一个 loop,我可以尽量回答具体问题。