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