我在 2026 年 1 月走完了 Roblox 的 DE loop。网上几乎找不到他们针对 data engineering 面试的内容,所以我写一下。
流程(DE 向): Recruiter screen(30 分钟,常规) Technical phone screen(60 分钟,SQL + pipeline design 混合) Onsite loop:SQL deep-dive,数据系统设计,behavioral,hiring manager
SQL 轮: SQL 比我预期难。不只是 aggregation 和 join。他们给了一个游戏里 user sessions 的 event-stream 数据场景。我需要写 query 计算 session 时长,处理缺失 end event(玩家崩溃或直接关 app),并找出行为异常的用户。window functions 是必须的。他们还让我通过讲 query plan 的方式优化一条慢 query,这阶段在别的公司我没见过。
要会:CTE,window functions(LEAD、LAG、ROW_NUMBER),partition by,处理 event 数据里的 null,写 query 时避免在超大表上 full table scan。
Pipeline design 轮: 这是最 Roblox-specific 的部分。他们描述了一个场景:你需要搭一条 pipeline,接入来自数百万并发 session 的实时玩家活动事件,做转换,同时服务实时 dashboard 和批量 ML 特征生成。经典的 lambda vs kappa 架构取舍。
他们在意:exactly-once 语义(或者你为什么会接受 at-least-once),实时链路的 latency 要求,批处理链路的 idempotency,以及当游戏事件变化时你如何处理 schema evolution。
我提到的工具:Kafka 做 ingest,Spark Structured Streaming 做实时链路,dbt 做批处理层。他们提到内部用 Spark,所以这点感觉很加分。
Behavioral: 主要围绕跨团队合作、以及如何应对来自分析方 stakeholder 的模糊需求。主题和 SWE 的 behavioral 很像,都是 ownership。
Comp:我最后拿到的是 senior DE 的 $195k base,RSUs 更高但我不想具体说。感觉比同级别 senior SWE 略低,但 DE band 就那样。