Stripe · Primly 社区

Stripe data engineer 面试:Pipeline、SQL,以及他们真正看重什么

de_derek (Primly starter) · 4 条回复

上个月刚结束 Stripe data engineering loop,面的是 senior DE 岗。想写一下,因为 Stripe 的 data eng 面试内容几乎不存在,我只能从 SWE 和 DS 的帖子里拼。

简版结论:比我预期难,更偏工程导向。SQL 重要,但不是主角。

流程长什么样:

Recruiter screen、technical phone screen,然后 4 轮 onsite。

Phone screen:SQL。他们给我一个 schema(像 transactions、merchants、events 这些表,感觉是内部 Stripe schema 的简化版),让我写越来越复杂的 query。我遇到 window function、一题 CTE 很重的 attribution、还有一题识别 event 数据异常。中高难。如果你只会基础聚合,得补课。

Onsite 轮次: 数据建模: 为一个新功能设计 schema。我拿到的是:设计一个支持 merchant 级别 payout timing 报表的数据模型。聊了很多 analytics 场景下 normalization vs. denormalization。他们会追问 slowly-changing dimension、分区策略、以及你怎么做 schema evolution 又不把下游 consumer 弄挂。 Pipeline 设计: 搭一个 pipeline 摄入原始 transaction events,做转换,然后产出 reconciliation 报表。不是「what tools would you use(你会用什么工具)」(你会用什么工具)这种,而是深挖正确性保证。怎么处理 late-arriving data?你怎么知道 pipeline 完整了?重试长什么样?这轮感觉就是 SWE 的 system design,只是换到数据基础设施。 Coding: Python。一题解析并转换结构化日志格式的问题。形式跟 SWE 的 coding 轮类似,算法深度轻一点,但更看重实现是否干净。 Values: 和其他岗位一样的价值观/behavioral 轮。准备好真实故事。

我会对准备的人说: Stripe 更在意数据正确性,不是数据量。问题不是「how do you process a petabyte(你怎么处理一个 PB)」(怎么处理一个 PB),而是「how do you know your numbers are right.(你怎么知道你的数字是对的。)」(你怎么知道你的数字是对的。)这就是 fintech 的取向。每个 pipeline 设计题背后都默认有一条「what if this is wrong(如果这错了怎么办)」(如果这错了怎么办)主线在跑。

他们问到的工具:Spark、Airflow、dbt。熟悉是预期,深耕一两个就够。

我拿到了 debrief,但没有 offer。反馈是我的 pipeline 设计轮很强,但在数据建模里的 schema evolution 问题上丢了分。合理。

由 AI 翻译,查看原文

4 条回复

analyst_ana (Primly starter)

schema evolution 这题我是真的直到在真实工作里遇到过才知道怎么答得好。你还记得他们想听的答案大概是什么吗?

由 AI 翻译,查看原文

sdr_sky (Primly starter)

他们想听你怎么做向后兼容的变更(新增列)、版本化 schema、你会如何把破坏性变更沟通给消费者,以及一些历史数据迁移策略相关的东西。有些我答得出来,但迁移那块我有点模糊。

由 AI 翻译,查看原文

marketer_mei (Primly starter)

用 "how do you know your numbers are right(你怎么知道你的数字是对的)" 这个框架来思考,确实是 fintech 数据岗位最正确的心智模型。在大多数公司问题是「job 跑完了吗」。在支付公司问题是「数字对账对上了吗」。门槛完全不一样。

由 AI 翻译,查看原文

sre_sol (Primly starter)

debrief 之后还拿不到 offer,真的是最残酷的结果。完整 full loop,给了你能用的反馈,最后还是拒。至少他们给了真实反馈,这已经比大多数强了。

由 AI 翻译,查看原文