DoorDash 是北美最大的 on-demand 配送平台,Data Engineer (DE) 和 Data Scientist (DS) 招聘量在 2026 cycle 仍稳居 fintech / marketplace 前列——一亩三分地的反馈显示,DE / DS 岗位的 OA + VO 通过率显著高于 SDE,但最容易翻车的是"双边市场"业务情境题:很多 candidate SQL 不错、ML 也行,但讲不清 supply / demand / matching 这一层就直接挂。
本文聚焦 DE / DS 这两条与 SDE 不同的赛道:SQL 重型真题、A/B Test 双边市场变体、Marketplace 指标拆解。如果你看的是 SDE 面经,请移步我们的 DoorDash SDE 文章。
DoorDash DE / DS 招聘流程
| 阶段 | 时长 | 内容 | 通过率 |
|---|---|---|---|
| 1. Recruiter Screen | 30 min | 简历 + ETL / ML 经验 + 期望 | 100% → 55% |
| 2. SQL + Coding OA (HackerRank) | 75 min | 3 题 SQL + 1 题 Python | 55% → 30% |
| 3. Tech Phone Screen | 60 min | SQL deep-dive + Python 数据处理 | 30% → 18% |
| 4. Onsite Loop(4-5 轮) | 半天 | SQL / A/B / ML / Case / BQ | 18% → 9% |
| 5. Hiring Manager Chat | 30 min | 团队匹配 + offer 沟通 | 9% → 8% |
关键差异(与 SDE 对比):
- DE 岗 Onsite 4 轮:SQL + Data Modeling + ETL Design + BQ
- DS 岗 Onsite 5 轮:SQL + A/B Test + ML / Product Sense + Case + BQ
- DS Product 子方向多一轮 Product Case,DS Analytics 子方向多一轮 Causal Inference
真题一:SQL Window Function(DE / DS 共有)
题目描述
给定 orders 表:
| order_id | user_id | restaurant_id | total | created_at |
|---|
写一条 SQL 查询:返回每个 restaurant 在 2026-Q1 内"日订单数同比上周增长 > 20%"的所有日期。
解题思路
经典 window function + LAG:
WITH daily AS (
SELECT
restaurant_id,
DATE(created_at) AS d,
COUNT(*) AS orders_today
FROM orders
WHERE created_at >= '2026-01-01' AND created_at < '2026-04-01'
GROUP BY restaurant_id, DATE(created_at)
),
with_prev AS (
SELECT
restaurant_id,
d,
orders_today,
LAG(orders_today, 7) OVER (PARTITION BY restaurant_id ORDER BY d) AS orders_week_ago
FROM daily
)
SELECT
restaurant_id,
d,
orders_today,
orders_week_ago,
ROUND((orders_today - orders_week_ago) * 100.0 / NULLIF(orders_week_ago, 0), 2) AS pct
FROM with_prev
WHERE orders_week_ago IS NOT NULL
AND orders_today > orders_week_ago * 1.2
ORDER BY restaurant_id, d;
评分点:
- 用
LAG(..., 7)而不是 7 个自 JOIN——后者会 TLE NULLIF避免被 0 除DATE(created_at)截断时区——DoorDash 用 UTC,但很多 candidate 会忘记时区导致跨日数据错位
陷阱:题目说"同比上周"——如果你直接 LAG(orders_today, 1),那是同比昨日,会被减分。
真题二:A/B Test 设计(双边市场场景,DS 必考)
题目描述
DoorDash 想测试一个新的"商家排序算法"。新算法把高评分餐厅推到顶部,预期 GMV 会涨。请设计 A/B test。
加分项 vs 减分项
| 维度 | 减分回答 | 加分回答 |
|---|---|---|
| 实验单位 | "用户随机分流" | 指出双边市场污染:用户在 A 看到的餐厅在 B 也会看到 → cluster on city 或 time-slice |
| 指标 | 仅看 GMV | GMV + restaurant fairness(小餐厅是否被边缘化)+ Dasher utilization |
| 检验时长 | "跑 2 周" | 计算 sample size(MDE 5% + power 80%),并指出新用户冷启动对指标的影响 |
| 失败兜底 | 不提 | 给出 guardrail:新用户 D7 retention 不能跌 1% 以上 |
推荐回答结构(4 步)
Step 1. 目标定义 — primary: GMV; secondary: Dasher 平均交付时间; guardrail: 新用户 D7 retention
Step 2. 实验设计 — switchback by city × hour (避免双边 spillover)
Step 3. 样本量计算 — MDE 3% on GMV, alpha 0.05, power 80% → 需要 60 个 city-hour 组合, ~2 周
Step 4. 决策框架 — 单边 t-test + Bayesian fallback for 多重比较
DoorDash 特有的考点:switchback experiment——同一个城市在不同时段轮流分配 A 或 B 算法。90% candidate 会答错成"user-level split",这一道题就把人筛掉了。
真题三:Causal Inference(DS Analytics 子方向必考)
题目描述
Q3 上线了"Dasher 鼓励金"项目(每送达 10 单加 50 美元)。观察到上线后 Dasher 平均日均订单数从 12 → 14。能说这是项目带来的吗?怎么严谨地估计 ATE(average treatment effect)?
评分维度
- identify confounders:季节性、城市扩张、Dasher base 增长
- method choice:观察数据 → DiD (difference-in-differences) 或 Synthetic Control
- assumption check:parallel trends(平行趋势假设)
- robustness:placebo test + 不同 control 组复跑
推荐回答框架
# 用 pandas + statsmodels 跑一个 DiD
import pandas as pd
import statsmodels.formula.api as smf
# df 列: city, dasher_id, day, daily_orders, treatment (0/1, 项目是否覆盖), post (0/1, 时间是否在上线后)
df["did"] = df["treatment"] * df["post"]
model = smf.ols(
"daily_orders ~ treatment + post + did + C(city) + C(day)",
data=df
).fit(cov_type="cluster", cov_kwds={"groups": df["city"]})
print(model.summary())
# DiD 系数 = 'did' 的 coef,即 ATE 估计
评分关键:
cov_type="cluster"必加——同城 Dasher 不独立- 同时 control
C(city)+C(day)双向固定效应 - 报 coefficient + p-value + 95% CI,不能只报 mean diff
真题四:ETL / Data Modeling(DE 必考)
题目描述
设计一个 dimensional model 来支持 BI 团队回答以下 3 个问题:(1) 每个 city 每天的 GMV trend;(2) 每个 restaurant 的 cohort retention;(3) Dasher 每小时 utilization rate。
Star Schema 设计
Fact Tables:
- fact_orders (grain: order_id)
city_key, restaurant_key, dasher_key, date_key, hour_key, gmv, items_count
- fact_dasher_hours (grain: dasher × hour)
dasher_key, date_key, hour_key, online_minutes, active_minutes, deliveries
Dimensions:
- dim_restaurant (SCD Type 2 for cuisine / location changes)
- dim_dasher (SCD Type 2 for tier changes)
- dim_city
- dim_date / dim_hour
评分点:
fact_orders与fact_dasher_hours不要 JOIN 成一张表——粒度不同,会爆炸- SCD Type 2:餐厅会改菜系 / 位置,要保留历史快照才能算"按改之前的 cuisine 看 GMV trend"
- 计算 utilization 时
fact_dasher_hours必须有online_minutes,不能从 orders 表反推(dasher 在线但没单 = utilization 低的核心信号)
真题五:Behavioral / Product Sense(DS 必考)
高频问题
| 问题 | 考察点 |
|---|---|
| "What's a metric DoorDash should care about but doesn't?" | Product 思维 + marketplace 知识 |
| "How would you decide if we should launch DashPass in a new city?" | 商业判断 + 数据驱动决策 |
| "Tell me about a time you delivered against ambiguous requirements." | Ownership + 沟通 |
| "What's wrong with using AOV (average order value) as a primary metric?" | 指标批判性思维 |
DoorDash 偏好的回答模板:始终回到 "three-sided marketplace"(consumer / restaurant / Dasher),任何指标 / 决策都要兼顾三方。
备考路径(4 周)
| 周 | 重点 | 资源 |
|---|---|---|
| W1 | SQL window / CTE / 性能 | LC SQL 50 + StrataScratch DoorDash 真题(30+ 题) |
| W2 | A/B Test 双边市场场景 | Trustworthy Online Controlled Experiments(Kohavi)第 1-7 章 |
| W3 | DoorDash 业务指标 + DiD / Causal | DoorDash 工程博客 + Mostly Harmless Econometrics 第 5 章 |
| W4 | Mock + Product Case | 模拟 5 个 case + STAR 写 8 个项目故事 |
2026 薪资 Range(DE / DS)
| Level | Title | Base | Stock (4yr vest) | Bonus |
|---|---|---|---|---|
| L4 (NG) | DE I / DS I | $150-170K | $60-100K | 10-15% |
| L5 | DE II / DS II | $175-205K | $120-180K | 15-20% |
| L6 | Senior DE / DS | $215-260K | $200-300K | 20-25% |
对比:略低于 Meta / Google 同级,但bonus 上限高 + RSU refresh 偏慷慨。Marketplace 业务好年份 stock vest 价值波动大。
FAQ
Q1:DoorDash DE 和 DS 哪个好进?
新 grad 角度,DE 略好进——SQL 重型、ML 要求低、面经偏标准化。DS 竞争更激烈,因为还要看 Product Sense + A/B Test 经验。有数据相关 internship 的 candidate 优先投 DS(含 ML 项目),没 ML 项目但 SQL 很强的优先投 DE。
Q2:DoorDash DS 一定要懂 Causal Inference 吗?
Product DS 子方向可以不深入,A/B Test 够用;Analytics DS / Marketplace DS 子方向必考——DiD / IV / Synthetic Control 至少要能讲清 assumption。强烈建议面试前看 Mostly Harmless Econometrics 第 5 章 + DoorDash 自己的"Marketplace Experimentation"博客。
Q3:DoorDash DE / DS 面试用 SQL 还是 pandas?
Onsite SQL 轮强制 SQL(HackerRank 编辑器)。Tech Phone Screen 可以 pandas,但 DE 岗推荐用 SQL(更对口)。DS Causal / ML 轮可以用 Python(statsmodels / sklearn / scipy)。不要中途切换——选好一个语言写完整轮。
Q4:DoorDash A/B Test 题为什么这么多人答错?
因为 双边市场 spillover 不是 textbook A/B test 的标准内容。普通互联网公司教的 "user-level random split" 在 DoorDash 不成立——同一个用户看到的餐厅在 A/B 两组都会出现。必须答 switchback by city × time,或 cluster randomization by zip code。
Q5:DoorDash DE / DS 接受转专业吗?
接受。DS 收过纯数学 / 统计 / 经济 PhD(zero CS 背景),DE 偏 CS / 数据工程,但SDE 转 DE 很常见。简历包装重点:让招聘官能在 30 秒内看出你做过 marketplace / 双边市场 / 用户行为分析的项目。
Q6:DoorDash 给 New Grad 多少 Sign-on?
2026 cycle:DE / DS New Grad sign-on 普遍 $25-40K,分 1-2 年发放。4-year vest stock 30-25-25-20 cliff 与 1-year cliff 同时存在。**强 candidate(多 offer)**可以谈到 sign-on + RSU 升 15-20%。
联系方式
如果你正在准备 DoorDash、Uber Eats、Instacart、GoPuff 这类双边 marketplace 公司的 DE / DS 岗,最容易低估的是 A/B Test 与 Causal Inference 题型——它们是淘汰主力。我们整理了 DoorDash 2025-2026 cycle DE 真题 30+ + DS Product Case 20+ + Causal 模板,欢迎联系。
立即添加微信 Coding0201,获取 DoorDash DE / DS 真题与 mock 安排。
- Email:[email protected]
- Telegram:@OAVOProxy