大概六周前刚面完 Amex 的 DE loop,岗位是他们 payments data platform 团队的 senior。我把过程写一下,也包括哪些点让我有点措手不及。
Recruiter 说流程是 3-4 轮。实际上是 5 轮。经典。
Round 1(technical phone screen): 重点是 SQL。Window functions、CTEs,还有一个关于 transaction records 去重逻辑的问题。如果你不知道怎么在 SQL cleanup 里思考 idempotency,进去前先补一补。他们也问了一个我负责的 pipeline 导致数据质量问题的经历。这个故事要准备好。
Round 2(system design for data): 设计一个实时的 fraud signal ingestion pipeline。我讲了 Kafka 做流式、Spark Structured Streaming 做处理,再落到 Delta Lake layer。他们问了 exactly-once semantics。如果你面 payments infra,要把这个吃透:在 Kafka consumer 层面 vs. sink 层面,「exactly once」分别是什么意思?我这里有点卡壳,他们挺耐心但也记下了。
Round 3(coding): Python,不玩花的。写一个函数,把 payment webhook 里嵌套的 JSON 解析成扁平 schema。问题很贴近实际,不是 LeetCode。他们在意的是要能优雅处理 null/缺失字段。
Rounds 4-5(behavioral + team fit): 一轮和 hiring manager,一轮和跨职能 partner(risk DS)。都是 STAR 格式。「"Tell me about a time you had to rebuild trust with a stakeholder after a pipeline outage(跟我说一次在 pipeline 宕机后,你不得不和某个 stakeholder 重建信任的经历)"」几乎一字不差地被问到了。
Amex 的 DE 技术栈大多是 Spark、一些 Kafka,有的团队用 GCP BigQuery,另一些团队还有老 Oracle。到了 2026 他们还可能问你怎么读写 Oracle,别惊讶。对于一家 175 年历史的金融公司来说,不酷但很现实。
我从小道消息听说一个同级别同事拿到并接受的 offer:大约 $175k base,15-18% bonus target,401k match 很强。没有 equity,这也很符合传统金融服务的风格。