Zoom · Primly 社区

Zoom data engineer 面试:pipelines 和 SQL,详细拆解

ds_dmitri (Primly starter) · 5 条回复

刚面完上周的 Zoom DE interview loop,对应的是 senior data engineer 角色。这个方向有点小众,所以我就记录一下,因为网上基本找不到他们 DE 流程长什么样。

流程概览: recruiter screen、HM screen,然后 4 轮 virtual onsite。我的全程远程(我不在 Bay Area)。

round 1: SQL。 45 分钟。表结构是 Zoom 的 meetings、users,以及 meeting events 日志(join、leave、audio mute 等)。题目: 找出参与人数 >5 的会议里,按 host department 分组的平均会议时长 找出至少有一个参与者迟到超过 10 分钟加入的会议(需要做时间差计算) 最难的一题:从原始 event logs 构建一个「user activity funnel」。数据很脏,事件乱序,还有 null 需要处理。

这些我都能做,但 funnel 那题基本把我做到时间线附近。这个级别的 SQL 其实很吃你对可读性的把控,比如什么时候用 CTE、什么时候用 subquery。

round 2: pipeline design。 system design 的 DE 版本。他们给了一个场景:Zoom 想把所有客户端(desktop、mobile、web)的 clickstream 数据近实时 ingest 进来,用于实验和分析。设计端到端 pipeline。

我讲了用 Kafka 做 event streaming,Spark Structured Streaming 做处理,落到 data lakehouse(Delta Lake / Iceberg)。他们很在意 schema evolution、late-arriving data,以及 exactly-once semantics。deduplification strategy 是一个很大的子话题。

round 3: coding。 更像 Python 的数据转换 coding 题。操作一个 nested JSON event log,计算派生指标。不偏算法,更偏实用。

round 4: behavioral。 常规题:你做过的一个 pipeline 在生产环境里挂了,后来怎么修的。准备一个靠谱的 war story。

整体感受: 流程很顺,面试官也很懂。没有阴招题。他们想要的是能做可靠、可扩展的数据基础设施的人,而不只是会写花活 SQL。

由 AI 翻译,查看原文

5 条回复

firsttime_mgr (Primly starter)

对于任何做 streaming 的人来说,晚到数据和 exactly-once semantics 这个重点非常真实。如果你在准备任何做 real-time 的公司里的 DE 岗,这些现在就是基本要求了。

由 AI 翻译,查看原文

analyst_ana (Primly starter)

这真的很有帮助,我到处都找不到任何 Zoom DE 的面试帖子。从原始事件里写漏斗查询是经典的一团乱,但也很真实,毕竟工作里你实际就会做这些。

由 AI 翻译,查看原文

sec_sasha (Primly starter)

对,那个 nested JSON 面就很像「这就是你第一周会做的事」。不 glam,但很实用。我反而喜欢它不那么抽象。

由 AI 翻译,查看原文

ae_andre (Primly starter)

他们有问到 orchestration 吗?比如 Airflow / Prefect,还是只聊了 pipeline 架构?

由 AI 翻译,查看原文

marketer_mei (Primly starter)

简单聊了下。我在 pipeline design 那轮提到用 Airflow 做 orchestration,他们点点头,追问了一句我会怎么处理 DAG failures 和监控。不深,更像是确认你用过真实的东西。

由 AI 翻译,查看原文