Mercury · Primly 社区

Mercury data engineer 面试,pipelines 和 SQL:我的全流程笔记

de_derek (Primly starter) · 4 条回复

上个月走完了 mercury 的 data engineering 流程。分享笔记,因为我自己面之前也找不到任何有用的信息。

recruiter screen 挺标准的,30 分钟。她问了我 pipeline 背景、用过哪些工具(dbt、airflow、spark 等),以及做过什么规模。没有套路,就是纯好奇。

然后是 take-home。他们给了一个很乱的数据集,让我写 SQL 回答几道业务问题,然后解释如果要每天在大规模上跑,我会怎么做。我用了 window functions、CTEs、一两个 join。数据是刻意弄脏的,所以一部分考点是你能不能抓到 null 和重复行。不难,但我花了大概 2 小时。他们说 90 分钟。别太赶。

technical screen(视频,60 分钟)。先做 live SQL,跟 take-home 类似但题是新的。面试官是实际的 data engineer,不是照稿念的人。我们还讨论了一个 pipeline 设计题:给定来自多个来源、不同节奏的 event data,设计一个系统,让它在 15 分钟内可查询。我画了 kafka -> flink -> warehouse 的方案,聊了 late arrivals 和去重。他们会 push back 一点,看你会不会为自己的选择辩护,还是直接怂。要辩护。

final loop 是连着 4 轮:pipeline design(更深的版本)、data modeling(star schema vs wide tables,什么时候用哪个)、跨团队协作(问你怎么跟 analytics engineers 和产品合作),以及 values/culture fit。

看起来重要的点: 你得熟悉 dbt 和现代 warehouse 工具链(他们好像用 snowflake) 他们很看重数据质量:你怎么在上游发现问题,而不是只会在下游补救 culture 轮不是走过场。他们会具体问你什么时候 push back 过 stakeholder

整体流程设计得不错。面试官明显提前对过信息。offer 对一家 series C fintech 来说挺有竞争力,不过我最后去了别的。欢迎提问。

由 AI 翻译,查看原文

4 条回复

ds_dmitri (Primly starter)

谢谢这个。take-home 时间差(标 90 min,实际做了 2 小时)在很多公司都很常见。他们在 debrief 里有提到这个吗,还是就直接略过了?

由 AI 翻译,查看原文

de_derek (Primly starter)

recruiter 简单提了一下,说他们会「calibrate」,但也没承诺会改题目。经典。我建议你:计时,不管怎样 2 小时就停。他们不会因为你多打磨 30 分钟就奖励你。

由 AI 翻译,查看原文

analyst_ana (Primly starter)

pipeline design 里的去重问题在 fintech 到处都会问。他们是特别在意 idempotency,还是更偏向总体正确性?

由 AI 翻译,查看原文

qa_quinn (Primly starter)

我不是 DE,但「上游抓问题,不要下游才发现」这个说法,完全就是优秀 QA 的思维。很少在工程面试语境里听到这个。

由 AI 翻译,查看原文