上周刚结束 KPMG data engineer 的面试 loop,岗位在他们的 managed services data platform team。网上几乎找不到这个 track 的信息,所以我写个复盘。
先给点背景:这个岗位有点介于咨询里,意思是我会为客户项目搭建和维护数据 pipelines,而不是做内部工具。理解这一点对看他们考什么很重要。
我这个 DE 岗的完整流程: Recruiter screen:30 分钟,走流程和对齐信息 Technical screen:60 分钟,SQL 和 Python 混合 Onsite virtual:两轮,一轮 pipeline 架构,一轮 behavioral
Technical screen 拆解:
SQL(大概 35 分钟):三题,难度递增。window functions、多层 CTE,还有一道聚合题的 GROUP BY 很刁钻。最难那题是算非均匀时间间隔的 rolling averages。用的是共享 SQL 编辑器,我猜是他们内部工具。
Python(大概 20 分钟):一题。给一组表示 API 返回的 JSON records,让你解析并转换成扁平表格格式,处理 null 和嵌套 key。不偏算法,更像真实数据清洗任务。我用了 pandas。
Onsite 的 pipeline architecture 轮:
这里 KPMG 对 DE 就开始有意思了。题目是:设计一个数据 pipeline,从三个不同源系统接入客户交易记录(两个 batch,一个 near-real-time),做标准化、应用校验规则、加载到 data warehouse。还要能处理 schema drift。
他们追问的点:错误处理策略、schema-on-read vs schema-on-write 的取舍、传输中的 PII 怎么处理、合规审计日志怎么做。很 Big 4 的风格。
我提到的工具:dbt 做 transformation,Apache Airflow 做编排,Snowflake 做仓库。他们对这套挺熟。他们也提到内部客户大量用 Azure,所以我也补了一句 Azure Data Factory 的兼容性。
难度结论:SQL 真的有挑战,Python 很实用,架构更偏沟通和取舍推理,而不是背「标准答案」。