2025 年末走了 Palantir data engineer 的面试流程,进了 final round,最后没接(comp 对我不合适)。因为网上几乎没有 DE 方向的细节,我把技术部分写出来。
我遇到的技术轮:
SQL 轮。 比典型的「写个 GROUP BY」更深入。他们给了我一个很像真实业务的 schema:event logs、用户行为、一些层级数据。然后让我写查询回答业务问题。有一道用到了 window functions,还要处理比较棘手的 null 语义。Schema 里有缺口(有一处没有明确 FK),他们希望你能注意到并问出来。如果你会的话,看看 query explain plans;他们会问 index usage。
Pipeline design 轮。 更像 SWE 的 system design,但范围在数据基础设施。我拿到的类似:'Design an ingestion system that pulls from 5 different source systems with different formats, normalizes them, and makes the data available for analysis within 15 minutes.' 他们在意的取舍点:idempotency、late-arriving data、schema drift。要知道 CDC(change data capture)是什么、为什么存在。要知道 micro-batch 和真正 streaming 的区别,以及各自适用场景。
Python/coding 轮。 一道 Python 数据转换题。少一些「LeetCode」味道,多一些「写个函数把这个脏 JSON 结构解析出来并输出成干净 schema」。脏是刻意的,边界情况才是重点。
Behavioral。 和别人说的类似。高压、ownership、mission alignment。
针对性准备:Spark vs. Flink 的取舍,Airflow DAG 模式,schema evolution 策略,了解 dbt 加分但不是必须。他们不用通用栈,用的是 Foundry,但他们想看你的心智模型能不能迁移。
这个 loop 真的很技术。如果你主要做 dashboard,而不是 pipeline engineering,会被看出来。screen 的时候对自己的深度要诚实。