
最近在地里看到不少同学想要参加 DoorDash 的面试。我们团队刚帮一位统计学转码出身的学员完成了数据分析岗位的真实面试,并成功拿到 offer。以下是他的面试实录与核心思路分享。
背景:学员三年国内数据分析经验,SQL 基础扎实,但对硅谷快节奏面试紧张易卡壳。面试前一周使用了 ProgramHelp 的远程辅助服务,全程实时引导,最终稳定发挥。
Question 1: 实验设计
题目:How would you design an experiment to test the impact of a new driver incentive program on delivery times?
答题思路:
- 明确实验目标:缩短平均送达时间或提升接单率?
- 分桶策略:随机将司机分为 A/B 组,A 组享受新激励,B 组不变。
- 核心指标:平均送达时长、标准差;接单率;取消率等。
- 样本量计算:基于历史数据变异性、期望提升幅度和统计功效。
- 显著性检验:选择合适的置信区间和假设检验方法。
Question 2: SQL 查询优化
题目:Given a table of delivery orders with columns order_id
, driver_id
, order_time
, pickup_time
, dropoff_time
, and city_id
, write a SQL query to find the average delivery time for each city. Then restrict to last month’s orders and drivers with ≥100 deliveries.
答题思路:
- 基础查询:
SELECT city_id, AVG(TIMESTAMPDIFF(MINUTE, pickup_time, dropoff_time)) AS avg_delivery_minutes FROM delivery_orders GROUP BY city_id;
- 添加时间窗口与活跃度:
WITH recent AS ( SELECT * FROM delivery_orders WHERE order_time >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH) ), active_drivers AS ( SELECT driver_id FROMrecent GROUP BY driver_id HAVING COUNT(*) >= 100 ) SELECT r.city_id, AVG(TIMESTAMPDIFF(MINUTE, r.pickup_time, r.dropoff_time)) AS avg_time FROMrecent r JOIN active_drivers d ON r.driver_id = d.driver_id GROUP BY r.city_id;
- 可选优化:为大表建立时间和司机索引,或使用窗口函数等。
不要再孤军奋战
ProgramHelp 在 Google、DoorDash、Amazon 等大厂面试中,提供全程思路引导与表达框架,帮助你稳定发挥,突出亮点。若你对临场表达或节奏把控缺乏信心,欢迎联系我们,做你坚实的后盾。