DoorDash Data Scientist Phone Screen Questions
4+ questions from real DoorDash Data Scientist Phone Screen rounds, reported by candidates who interviewed there.
What does the DoorDash Phone Screen round test?
The DoorDash phone screen typically lasts 45-60 minutes and evaluates core Data Scientist fundamentals. Candidates should expect 1-2 algorithmic problems, basic system design discussion at senior levels, and questions about relevant experience. The goal is to confirm technical competence before bringing candidates onsite.
Top Topics in This Round
DoorDash Data Scientist Phone Screen Questions
Biker Dasher - Case Study: Analyze Bike Courier Efficiency Metrics
## Round 1 - Data Science Case Study ## Problem DoorDash is piloting a bike courier program ("Biker Dashers") in a dense urban market. You have one week of delivery data. Evaluate whether the program is performing well and recommend whether to expand, hold, or cut the program. **Data Available:** - `deliveries(delivery_id, dasher_id, dasher_type, pickup_time, delivery_time, distance_km, order_value, tip)` - `dashers(dasher_id, dasher_type, city, start_date)` **Your analysis should cover:** 1. **Efficiency metrics:** Average delivery time by dasher type (bike vs. car). Is bike faster for short distances? 2. **Coverage gap:** What fraction of deliveries are beyond typical bike range (e.g. > 3 km)? 3. **Economics:** Compare earnings-per-hour for bike vs. car dashers including tips. Are bikers fairly compensated? 4. **Customer impact:** Is there a significant difference in delivery time variance? Do customers of bikers rate orders differently? ``` Sample insight: Bike Dashers: avg 18 min, car Dashers: avg 24 min for distances < 2km Bike coverage: 68% of all deliveries in pilot zone are < 2km -> Recommendation: expand in high-density zones ``` ## Follow-ups 1. What confounding variables might make bike dashers look artificially faster? 2. How would you run an A/B test to cleanly isolate the impact of bike vs. car assignment? 3. How would weather data change your analysis? 4. What guardrail metrics would you monitor to catch problems early in an expansion?
Cold Food - Case Study: Diagnose and Reduce Cold Food Complaints
## Round 1 - Data Science Case Study ## Problem DoorDash receives a spike in customer complaints about food arriving cold. You are asked to diagnose the root cause and propose data-driven solutions. **Data Available:** - `deliveries(delivery_id, dasher_id, restaurant_id, pickup_time, delivery_time, food_prep_ready_at, distance_km, weather)` - `ratings(delivery_id, overall_score, food_temp_score, comments)` - `restaurants(restaurant_id, category, avg_prep_time_min)` **Your analysis should cover:** 1. **Wait time at restaurant:** How long does the dasher wait after food is ready? Longer waits = colder food at pickup. 2. **Transit time:** Is delivery distance or traffic the dominant factor? 3. **Segmentation:** Are certain restaurant categories (e.g. sushi, pizza) more affected? 4. **Correlation:** Does `food_temp_score` correlate with `(delivery_time - food_prep_ready_at)`? ``` Key metric: "food exposure time" = delivery_time - food_prep_ready_at Hypothesis: food_temp_score drops ~0.3 points per 5 extra minutes of exposure ``` ## Follow-ups 1. How would you distinguish "cold at pickup" vs. "cooled during transit"? 2. What operational levers does DoorDash have to reduce cold food? Which would you prioritize? 3. How would you design an experiment to test whether insulated bags reduce cold complaints? 4. What metric would you track as a leading indicator before customers complain?
## Round 1 - SQL ## Problem You have the following DoorDash schema: ```sql CREATE TABLE customers (customer_id INT, name VARCHAR, city VARCHAR, joined_date DATE); CREATE TABLE orders (order_id INT, customer_id INT, restaurant_id INT, order_total DECIMAL, placed_at TIMESTAMP); ``` **Task 1:** Find all customers who placed orders on at least 5 distinct days in the past 30 days. **Task 2:** For each city, find the customer with the highest number of orders this month. Break ties by customer_id ascending. **Task 3:** Find customers who ordered from the same restaurant at least 3 times. Return customer_id, restaurant_id, and order_count. ```sql -- Task 1 skeleton: SELECT customer_id FROM orders WHERE placed_at >= CURRENT_DATE - INTERVAL '30 days' GROUP BY customer_id HAVING COUNT(DISTINCT DATE(placed_at)) >= 5; ``` ```sql -- Task 2 skeleton: WITH ranked AS ( SELECT c.city, o.customer_id, COUNT(*) AS order_count, RANK() OVER (PARTITION BY c.city ORDER BY COUNT(*) DESC, o.customer_id ASC) AS rnk FROM orders o JOIN customers c USING (customer_id) WHERE DATE_TRUNC('month', o.placed_at) = DATE_TRUNC('month', CURRENT_DATE) GROUP BY c.city, o.customer_id ) SELECT city, customer_id, order_count FROM ranked WHERE rnk = 1; ``` ## Follow-ups 1. In Task 1, why use `COUNT(DISTINCT DATE(placed_at))` instead of `COUNT(*)`? 2. In Task 2, what is the difference between `RANK()` and `ROW_NUMBER()` for tie-breaking? 3. For Task 3, how would you find customers who ordered the same restaurant on consecutive days? 4. How would you optimize these queries on a 500M-row orders table?
## Round 1 - Data Science Case Study ## Problem DoorDash's order volume dropped 15% overnight in one metro area. You are the analyst on call. Walk through your full investigation. **Data Available:** - `orders(order_id, customer_id, restaurant_id, dasher_id, placed_at, status, order_total)` - `restaurants(restaurant_id, name, category, is_active, city)` - `app_events(event_id, user_id, event_type, platform, occurred_at)` **Step 1 - Scope the drop:** - Is the drop on all platforms or just iOS/Android/web? - Is it all restaurant categories or specific ones? - Is it all customer cohorts (new, returning) or one? **Step 2 - Check data integrity:** - Is the drop real or a logging failure? Check if `app_events` also dropped. **Step 3 - Hypothesize causes:** - Competitor promotion launched - App deployment introduced checkout bug - Major restaurant chain went offline - Extreme weather event **Step 4 - Validate and quantify:** ```sql SELECT restaurant_id, COUNT(*) AS orders FROM orders WHERE placed_at BETWEEN '2024-06-01' AND '2024-06-02' GROUP BY restaurant_id ORDER BY orders; ``` ## Follow-ups 1. How would you determine if the drop is seasonal vs. an anomaly? 2. What would you look at if order volume is fine but revenue dropped? 3. How do you communicate your findings to stakeholders before you have a root cause? 4. After identifying the cause, what process do you put in place to catch this faster next time?
What to Expect in the DoorDash Phone Screen Round
The DoorDash Data Scientist Phone Screen round has a specific calibration purpose distinct from other rounds in the loop. Across 4+ verified reports on LeakCode for this exact round type, the consistent expectations: clear scoping of the problem before diving into a solution, explicit reasoning about complexity, structured handling of edge cases, and the ability to discuss trade-offs between two reasonable approaches.
Reports tagged with the Phone Screen round at DoorDash show recurring patterns in difficulty and topic distribution. The Phone Screen round is typically 45-60 minutes; the interviewer is calibrated against a specific rubric. The discriminator between candidates who advance and candidates who do not is rarely the final correctness of the answer. It is the path: did you clarify, did you verbalize your approach, did you handle edge cases, and did you communicate throughout.
How To Prepare for This Specific Round
Filter the questions below to the most recent reports (past 6-12 months). Questions tagged for this exact round type from this exact company at this exact role level are the highest-signal data available. Older reports may reference questions that have since rotated out of the company's pool.
Practice 4-6 representative problems from this set under timed conditions. The goal is not memorization (companies rotate questions); the goal is to internalize the patterns the interviewer typically reaches for and the depth of follow-up to expect. Reports on LeakCode also tag the typical follow-up depth at this round type, which is the discriminating signal between hire and no-hire calibration.
Phone Screen Round Timing and Format
The Phone Screen round at DoorDash typically runs 45-60 minutes. Use the first 2-3 minutes to clarify requirements; you should never start coding or designing without verifying the input/output format, constraints, and edge cases out loud. Use the next 5-7 minutes to verbalize your approach before writing any code. The middle 20-30 minutes are implementation. Reserve the final 10 minutes for testing with concrete examples and discussing optimization or trade-offs.
Time budget discipline is one of the most reliable senior-vs-junior discriminators in this round. Strong candidates verbalize where they are in their budget out loud ("I've used about 20 minutes, I have 15 minutes left for testing and one optimization"). This signals engineering maturity to the interviewer and creates positive feedback they can capture in writing.
Common Failure Modes in This Round
Reports tagged "no hire" at DoorDash Data Scientist Phone Screen commonly cite: coding silently without verbalizing approach, jumping to implementation before clarifying requirements, missing edge cases (empty input, single element, very large input), producing working code that the candidate cannot refactor when asked, and failing to test their solution with concrete examples before declaring done.
The single most predictive failure mode in 2025-2026 reports: not asking clarifying questions. Interviewers at all FAANG companies are explicitly trained to weight this dimension. Strong candidates ask 3-5 clarifying questions even on problems that look obvious; weak candidates dive into code immediately. The clarifying-question check is often the first signal recorded in the interviewer's notes.
See All 4 Questions from This Round
Full question text, answer context, and frequency data for subscribers.
Get Access