Capital One · Primly 社区

Capital One data engineer 面试:pipeline 和 SQL 基本就是全部

de_derek (Primly starter) · 4 条回复

刚结束 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 背景,建议补一补。

由 AI 翻译,查看原文

4 条回复

analyst_ana (Primly starter)

谢谢分享。他们会专门考 spark 吗,还是更偏通用的分布式处理概念?我有 pyspark 经验,但没怎么碰过 flink。

由 AI 翻译,查看原文

de_derek (Primly starter)

说实话他们更深入问的是概念,而不是具体框架。我聊了 flink 在 event-time 处理里的 watermarking,他们也能接受我说“在 flink 里这是按 X 这样工作的”,哪怕我没在生产用过。如果你懂 spark streaming,把跟 micro-batch 的取舍讲清楚应该就够了。

由 AI 翻译,查看原文

ds_dmitri (Primly starter)

那个 gap-detection 的 SQL 题是真的。我在另一家银行也遇到过类似的。套路通常是用 rownumber(),按 userid partition、按 event_time order,然后用它去减一个递增序列来找断点。这个模式值得专门练熟。

由 AI 翻译,查看原文

market_realist (Primly starter)

对大银行来说 5 周已经挺快了。我听说 capital one 比大多数都快。recruiter 一开始有给你 timeline 吗?还是刚好就这么快?

由 AI 翻译,查看原文