Apple · Primly 社区

Apple data engineer 面试:pipeline 和 SQL,他们实际测了什么

de_derek (Primly starter) · 4 条回复

上个月刚结束 Apple data engineer 面试 loop,目标是 E4 level,AppleID / IAM data platform 团队。写下来是因为我准备时网上几乎没有有用的信息。

一共 5 轮:1 个 recruiter screen,1 个 technical phone screen,然后 3 个 onsite(2026 年都是线上,但他们还是叫 onsite)。

Technical phone screen。 一小时,面试官是 staff DE。一半 SQL,一半 system design lite。SQL 是多步骤题:找过去 7 天里每个国家活跃 session 数最高的 top 3 设备,还带一些去重细节。window functions、CTE。不是简单题,但也不是故意绕你。另一半是聊我做过的一个 pipeline,我怎么处理 late-arriving data,我们的 SLA 是什么。

Onsite 轮。 第 1 轮是纯 SQL 和数据建模。给一个 schema(events 表、user 表、device 表),让我回答 4 个逐步加难的问题。最后一个要算 rolling retention 指标。window functions 要烂熟。 第 2 轮是 pipeline 架构。"Design a real-time anomaly detection pipeline for App Store purchase events at Apple's scale. (为 Apple 这个规模的 App Store 购买事件,设计一个实时异常检测 pipeline。)"(为 Apple 这个规模的 App Store 购买事件,设计一个实时异常检测 pipeline。)他们很在意 exactly-once semantics、Kafka consumer 批处理中途挂了会怎样、你怎么处理 schema evolution。我讲了 Flink/Spark Structured Streaming;他们觉得用哪个都行。 第 3 轮是 behavioral。常规问题,但带 Apple 风格:他们会猛追「owning the outcome」和跨团队协作。想想你什么时候 push back 过 product,或者说服过怀疑的 stakeholder。他们很爱挖你是否能自主推进。

我没想到的点。 几乎没有 Spark 细节背诵题。比起纯吞吐,更强调数据质量和 pipeline 可观测性。他们会问你怎么监控一个 pipeline,以及要对哪些指标报警。

从 recruiter 第一次联系到拿 offer 总共大概 7 周。debrief 花了快两周,真的很煎熬。

如果你在面那边的 DE 岗,欢迎来问更具体的。

由 AI 翻译,查看原文

4 条回复

analyst_ana (Primly starter)

谢谢分享。他们会期待你了解任何 Apple 特定的工具链,还是全都是通用的(Spark、Kafka、Airflow 这类)?

由 AI 翻译,查看原文

de_derek (Primly starter)

都很泛。没有人点名任何内部工具。有个面试官说「我们用很多标准的开源工具」就没展开了。我准备了 Spark + Kafka + dbt,基本就覆盖到了。

由 AI 翻译,查看原文

ds_dmitri (Primly starter)

rolling retention 这个问题挺有意思。是 7 天窗口还是 30 天窗口?他们希望用 SQL 做,还是伪代码也可以?

由 AI 翻译,查看原文

de_derek (Primly starter)

30 天 rolling。他们要你写真 SQL。我先写了一个基于 LAG 的方法,然后他们问我能不能用 window frames 重写。两种都要准备好。

由 AI 翻译,查看原文