刚结束 capital one 的 data engineer loop,面的是 mclean 的 senior DE 职位。分享一下,因为我之前几乎找不到近期、且具体写清他们到底考什么的复盘。
the loop 一共 4 轮:一轮 recruiter/intro call,一轮 sql 和数据建模,一轮数据方向的系统设计(pipeline,不是 microservices),以及一轮 behavioral。看团队情况,可能还会加一轮 hiring manager chat。
sql 轮。 这是最硬的一轮。他们不是拿玩具题糊弄人。会考:多层 CTE、窗口函数(lag/lead、dense_rank),还有一道需要你在事件数据里找 gap 或 duplicate 的题。我拿到的题大概是:给你一张 transaction events 表,找出在 30 分钟内出现过两次 failed auth attempts,随后又成功一次的客户。全程你得边写边说,因为他们看重你的推理过程,不只是结果。
pipeline 设计。 让我设计一个近实时的 pipeline,用来聚合 fraud signal。他们希望你能聊清 kafka + flink vs. batch-on-spark-with-short-intervals 的取舍。会追问:怎么处理 late-arriving data?怎么做去重?怎么管理 schema evolution?我提了 schema registry + avro,感觉效果不错。他们用 AWS 很多(kinesis、glue、redshift),熟悉会加分,但他们不会让你背服务名,更想听你解释为什么。
behavioral。 经典 STAR,大概 4-5 题。最印象深的是:'tell me about a time a pipeline you owned failed in prod(说说你负责的一个 pipeline 在生产环境失败的一次经历)'。他们真的想看 ownership,不只是哪里出问题了,更要听你怎么沟通、以及后面你做了哪些改变。
我的 offer 在 $165-185k TC 区间(base + bonus,非 SWE track 所以没 equity)。从 recruiter screen 到 offer call 一共大概 5 周。
我注意到一点:他们挺看重金融领域知识。不需要很深的 quant,但要知道 batch settlement 是什么意思,或者为什么 exactly-once semantics 对支付 pipeline 很关键。如果你不是 fintech 背景,建议补一补。