DoorDash Data Analyst Interview Preparation Guide - Staff Level
DoorDash's interview process for Staff-level Data Analysts emphasizes advanced analytics capabilities, strategic thinking, and the ability to influence complex business decisions across multiple teams. The process includes a recruiter screen, a technical SQL assessment, an analytics case study exercise, and a comprehensive virtual onsite consisting of three 45-minute case study interviews and one behavioral interview. The entire process evaluates deep domain expertise, ability to handle ambiguous problems, technical prowess with data manipulation and statistical analysis, and cultural alignment with DoorDash's fast-paced, data-driven environment.
Interview Rounds
Recruiter Screening
What to Expect
The initial conversation with a DoorDash recruiter lasting approximately 30-45 minutes. The recruiter will validate your background, assess cultural fit, clarify your motivation for joining DoorDash and the analytics function, and provide context about the role, team structure, and what success looks like at the Staff level. This is a mutual fit check—use it to ask substantive questions about the analytics organization, typical cross-functional collaborations, and opportunities to lead analytics initiatives.
Tips & Advice
Be specific about why DoorDash's mission resonates with you—reference specific business challenges the company faces (e.g., optimizing Dasher utilization, predicting delivery times, marketplace dynamics). Articulate your Staff-level experience clearly: lead with examples where you've built analytics platforms or driven company-wide metrics initiatives. Ask intelligent questions about the analytics strategy, the scope of influence the role has, and who you'd be working with cross-functionally. Demonstrate bias for action and pragmatism—mention times you've made decisions with imperfect data. Express enthusiasm for mentoring and building analytics capabilities at scale.
Focus Topics
Understanding DoorDash's Business Model
Demonstrating knowledge of DoorDash's three-sided marketplace (consumers, Dashers, restaurants), key business metrics (delivery time, order reliability, take-rate, Dasher utilization, merchant LTV), and the role data analytics plays in optimizing logistics and growth.
Practice Interview
Study Questions
Bias for Action & Decision-Making with Incomplete Data
Providing examples of when you made recommendations or decisions with incomplete or noisy data, how you managed uncertainty, and how you balanced speed with analytical rigor. This aligns with DoorDash's cultural value of moving fast.
Practice Interview
Study Questions
Staff-Level Experience & Leadership Track Record
Describing your progression to Staff level and demonstrating how you've successfully built analytics capabilities, led cross-functional analytics projects, mentored junior and mid-level analysts, and influenced senior leadership decisions through data insights.
Practice Interview
Study Questions
Career Motivation & DoorDash Fit
Articulating why you're interested in DoorDash specifically and how your background aligns with the Staff-level Data Analyst role. Connecting your experience in driving data-informed decision-making to DoorDash's mission of empowering local commerce and optimizing the logistics marketplace.
Practice Interview
Study Questions
Technical Phone Screen - SQL & Statistics
What to Expect
A 30-minute technical assessment conducted over video focusing on SQL proficiency and foundational statistics concepts. You'll be given sample DoorDash-like data tables (orders, customers, dashers) and asked to write SQL queries that demonstrate data manipulation skills, join logic, window functions, and ability to optimize queries for performance. This round also touches on statistical understanding through questions about hypothesis testing, experiment design, or handling missing data. The goal is to quickly assess your hands-on technical capabilities before proceeding to case study rounds.
Tips & Advice
Write clear, readable SQL with proper formatting and comments. Discuss your approach before coding—walk the interviewer through your join strategy and any assumptions. If you're unsure about data schema, ask clarifying questions. For more complex queries, discuss trade-offs (e.g., subquery vs. CTE vs. window function) and mention performance considerations. At Staff level, you should be thinking about query optimization, avoiding unnecessary full table scans, and understanding execution plans. For statistics questions, articulate your understanding conceptually rather than just memorizing definitions—explain when you'd use which test and why. Practice solving DoorDash-style SQL questions (available on DataLemur, LeetCode, DataInterview) in under 20 minutes per query to build speed and confidence.
Focus Topics
Data Quality & Handling Missing Data
Strategies for identifying and handling missing data (deletion, imputation, flagging), understanding data quality issues, data validation techniques, and ensuring data reliability for downstream analysis and reporting.
Practice Interview
Study Questions
Hypothesis Testing & Statistical Significance
Understanding Type I and Type II errors, p-values, statistical significance, confidence intervals, and how to design experiments to validate business hypotheses. Ability to interpret statistical tests and communicate findings to non-technical stakeholders.
Practice Interview
Study Questions
SQL Query Optimization & Performance
Understanding query execution plans, indexing strategies, avoiding common performance pitfalls (e.g., filtering in SELECT instead of WHERE, unnecessary full table scans), and optimizing large-dataset queries for speed. Thinking about database architecture and how to scale analytics queries.
Practice Interview
Study Questions
Advanced SQL: Joins & Window Functions
Mastering complex joins (self-joins, multiple inner/left/full outer joins), window functions (ROW_NUMBER, RANK, LAG/LEAD, running sums), CTEs (Common Table Expressions), and subqueries. Ability to solve multi-step data problems like funnel analysis, user segmentation, and time-series analysis.
Practice Interview
Study Questions
Analytics Case Study Exercise
What to Expect
An asynchronous or synchronous case study (45-60 minutes) where you receive a business prompt related to DoorDash's operations (e.g., 'Analyze Dasher reliability trends and propose a strategy to improve on-time delivery rates' or 'Evaluate a new promotion strategy's impact on order volume and profitability'). You'll analyze provided datasets, create summary metrics and visualizations, and present your findings and recommendations in a short slide deck or narrative. This round evaluates your ability to scope ambiguous problems, identify key metrics, synthesize insights, and communicate actionable recommendations. It assesses business judgment, communication, and end-to-end analytical thinking.
Tips & Advice
Start by scoping the problem: identify key questions, define metrics, and articulate your analytical approach. Spend time understanding the business context and what success looks like. At Staff level, think strategically—don't just report numbers; frame insights in terms of business impact and recommend actions. When presenting, lead with your recommendation or key finding, then support it with data. Use clear visualizations—avoid cluttered charts. Be prepared to discuss limitations in your analysis and how you'd improve it with more time or data. Anticipate follow-up questions like 'What other factors could explain this trend?' or 'How would you validate this insight?' Practice working with ambiguous data—real business problems rarely have perfect datasets.
Focus Topics
Quantifying Business Impact
Translating analytical findings into business outcomes: revenue impact, cost savings, customer lifetime value changes, efficiency improvements. Ability to estimate magnitude of opportunity and prioritize recommendations based on impact.
Practice Interview
Study Questions
Handling Ambiguity & Making Trade-offs
Demonstrating comfort with incomplete information and making principled decisions about how to proceed. Articulating assumptions clearly, discussing limitations, and explaining trade-offs between analysis depth and speed.
Practice Interview
Study Questions
Data Storytelling & Visualization
Communicating complex analyses clearly to both technical and non-technical audiences. Creating compelling narratives with visualizations (dashboards, charts) that guide stakeholders to key insights. Translating data into business recommendations that resonate with leadership.
Practice Interview
Study Questions
Exploratory Data Analysis & Insight Generation
Systematically exploring datasets to uncover trends, anomalies, and patterns. Ability to segment data (by geography, customer cohort, time period) and compare performance across segments. Deriving actionable insights that explain 'why' not just 'what'.
Practice Interview
Study Questions
Problem Scoping & Defining Success Metrics
Breaking down an ambiguous business question into clear analytical objectives, defining appropriate metrics and KPIs (e.g., order volume, take-rate, delivery time, customer retention), and establishing hypotheses to test. At Staff level, this means understanding the full business context and recommending the most impactful metrics.
Practice Interview
Study Questions
Virtual Onsite - Case Study Interview Round 1
What to Expect
The first of three 45-minute case study interviews conducted live during the virtual onsite. You'll be presented with a business scenario (e.g., 'How would you measure the success of a new feature that shows estimated delivery time to customers?' or 'A restaurant's order volume dropped 30% last month—how would you diagnose the cause?'). You'll work through the problem in real-time with an interviewer, defining metrics, proposing analysis approaches, and discussing potential recommendations. The interviewer will likely ask follow-up questions and challenge your thinking, simulating real cross-functional collaboration.
Tips & Advice
Treat this as a collaborative problem-solving session, not a presentation. Engage the interviewer—ask clarifying questions, explain your reasoning, and listen to their feedback. At Staff level, demonstrate strategic thinking: consider multiple hypotheses, discuss trade-offs, and think about how your analysis would drive action. Use a structured approach (define problem → identify metrics → propose analysis → discuss implementation). If you get stuck, think out loud rather than falling silent. Be comfortable saying 'I'd need to investigate further' or 'Here are a few approaches, each with trade-offs.' Draw diagrams or frameworks on the whiteboard if helpful. Focus on business impact and actionability, not just technical correctness.
Focus Topics
Cross-Functional Thinking & Stakeholder Awareness
Understanding perspectives of different teams (product, operations, marketing, finance) and how analysis impacts their decisions. Ability to propose solutions that balance competing priorities. Demonstrating emotional intelligence and collaboration.
Practice Interview
Study Questions
Root Cause Analysis & Diagnostic Frameworks
Using structured frameworks (e.g., tree decomposition, funnel analysis, cohort analysis) to diagnose problems or anomalies in data. Ability to form hypotheses and prioritize which ones to test. At Staff level, moving beyond surface-level observations to uncover underlying drivers.
Practice Interview
Study Questions
Defining Metrics for Complex Business Questions
Ability to select and define the right metrics to answer a business question. Understanding leading vs. lagging indicators, cohort-specific metrics, and how to measure product success holistically (not just a single metric). At Staff level, proposing metrics that align with business strategy.
Practice Interview
Study Questions
DoorDash-Specific Metrics & Business Drivers
Deep familiarity with DoorDash's key metrics: order volume, average order value (AOV), take-rate, delivery time (p50, p95), on-time delivery percentage, Dasher utilization, customer retention/repeat order rate, merchant lifetime value, and how these interconnect. Understanding how different levers (pricing, promotions, incentives) affect these metrics.
Practice Interview
Study Questions
Virtual Onsite - Case Study Interview Round 2
What to Expect
The second 45-minute case study interview, similar in format to Round 1 but potentially covering a different business domain or requiring different analytical skills. You might face a problem focused on logistics optimization (e.g., 'How would you optimize Dasher scheduling to minimize delivery times?'), customer acquisition economics (e.g., 'Evaluate the ROI of a new marketing campaign'), or product experimentation (e.g., 'Design an experiment to test a new checkout flow'). This round tests your versatility and ability to apply analytical frameworks to diverse business challenges.
Tips & Advice
Similar to Round 1, focus on clear communication and collaborative problem-solving. This round may test a different skill—perhaps more focus on experimentation methodology or financial modeling. If you're asked to design an experiment, discuss power analysis, sample size, and how you'd measure success. If you're optimizing logistics, think about constraints (Dasher availability, geography) and trade-offs (speed vs. cost). At Staff level, your thinking should span multiple analytical domains—you should be comfortable with experimentation, optimization, and financial analysis. Use the first few minutes to ensure you understand the question, then outline your approach before diving into details.
Focus Topics
Logistics & Marketplace Dynamics
Understanding DoorDash's logistics challenges: Dasher availability and scheduling, delivery route optimization, order matching, and how these affect customer experience and profitability. Familiarity with concepts like surge pricing, geographic demand imbalances, and Dasher retention.
Practice Interview
Study Questions
Financial & Economic Analysis
Understanding unit economics, profitability drivers, and ROI calculations. Ability to model costs vs. revenue, predict financial impact of changes, and frame recommendations in financial terms. Comfort with concepts like take-rate, commission structures, and customer acquisition cost (CAC).
Practice Interview
Study Questions
Optimization & Trade-off Analysis
Identifying multiple solution approaches to a problem, articulating the pros and cons of each, and recommending a path forward. Understanding how changes in one area affect other metrics (e.g., increasing delivery speed may reduce Dasher utilization). Making principled trade-offs.
Practice Interview
Study Questions
Experimental Design & A/B Testing Methodology
Designing rigorous experiments including hypothesis formulation, randomization strategy, sample size/power analysis, success metrics selection, and statistical testing approaches. Understanding potential pitfalls (selection bias, multiple comparisons, novelty effects) and how to mitigate them.
Practice Interview
Study Questions
Virtual Onsite - Case Study Interview Round 3
What to Expect
The third and final 45-minute case study interview, continuing to assess analytical problem-solving on different business scenarios. This round may focus on customer analytics (e.g., 'How would you segment customers to improve retention?'), competitive analysis (e.g., 'How would you benchmark DoorDash's delivery times against competitors?'), or longer-term strategic questions (e.g., 'How would you build an analytics infrastructure to support a new geographic market launch?'). By this point, interviewers are also evaluating your energy, consistency, and whether you're maintaining clear thinking after several rounds.
Tips & Advice
You're now three case studies in, so pace yourself mentally. Take the problem-solving approach you've refined in Rounds 1-2 and apply it consistently. This round may venture into longer-term strategy or cross-functional complexity. At Staff level, demonstrate your ability to think beyond the immediate question—consider how your recommendation scales, what infrastructure or team capabilities would be needed, and how success would be measured over time. If the question is about building analytics capabilities, discuss team structure, tools, and prioritization. If it's customer segmentation, discuss how you'd segment and what actions each segment would drive. Maintain clarity and calmness—interviewers notice if you're sharp in Round 3.
Focus Topics
Long-Term Strategic Thinking & Market Expansion
Thinking beyond quarterly metrics to long-term business strategy. Understanding how to evaluate new market opportunities, assess competitive positioning, and plan analytics support for business expansion.
Practice Interview
Study Questions
Causal Inference & Advanced Statistical Methods
Moving beyond correlation to causation using techniques like propensity score matching, instrumental variables, or difference-in-differences. Understanding when standard A/B tests aren't appropriate and what alternatives to use.
Practice Interview
Study Questions
Customer Segmentation & Behavioral Analytics
Techniques for segmenting customers based on behavior, value, and lifecycle stage. Using clustering, RFM analysis, or cohort analysis to identify groups with distinct characteristics and tailoring strategies (retention, upsell, reactivation) to each segment.
Practice Interview
Study Questions
Analytics Infrastructure & Data Strategy
Thinking about how to build scalable analytics systems: data pipeline architecture, metric definitions and governance, self-service analytics tools, and organizational structure. At Staff level, proposing analytics strategy aligned with business priorities.
Practice Interview
Study Questions
Virtual Onsite - Behavioral Interview
What to Expect
A 45-minute behavioral interview assessing cultural fit, collaboration, leadership, and how you work in team settings. The interviewer will ask about specific past experiences using the STAR method (Situation, Task, Action, Result): 'Tell me about a time you disagreed with a teammate on how to approach a problem and how you resolved it' or 'Describe a time you made a decision with incomplete data and walked others through your reasoning.' At Staff level, expect questions about mentoring, influencing without authority, handling ambiguity, learning from failure, and embodying DoorDash values like 'bias for action' and 'one team, one fight.'
Tips & Advice
Prepare 6-8 concrete stories from your career that showcase leadership, collaboration, conflict resolution, bias for action, learning, and business impact. Use the STAR framework but focus on your thinking and actions, not just outcomes. At Staff level, stories should demonstrate mentorship ('I coached a junior analyst through building their first dashboard and they're now leading metrics for the feature team'), influence ('I presented data on why we should shift pricing strategy and worked with finance to model the impact'), and pragmatism ('We had incomplete data but decided to launch the feature anyway with post-launch monitoring'). Align stories with DoorDash values: be specific about how you embodied 'one team, one fight' (collaboration across teams), 'bias for action' (moving fast), and 'earn trust' (doing rigorous work). Listen carefully to follow-up questions and answer what's being asked, not a canned response. Be authentic about challenges you've faced and what you learned. At Staff level, interviewers also assess: Can you mentor others? Can you navigate organizational complexity? Do you have the presence and communication skills to influence senior stakeholders?
Focus Topics
Handling Ambiguity & Learning from Failure
Examples of ambiguous situations where expectations weren't clear, how you navigated them, and what you learned. Stories about mistakes you've made, how you identified them, and what you changed. Demonstrating resilience and growth mindset.
Practice Interview
Study Questions
Quantifying Business Impact & Storytelling
Ability to articulate the business value of your work: revenue impact, efficiency gains, customer experience improvements. Demonstrating that you connect technical work to business outcomes and can communicate these to non-technical stakeholders.
Practice Interview
Study Questions
DoorDash Values Alignment: Bias for Action
Stories demonstrating pragmatism and willingness to move forward with incomplete information. Examples of times you've made trade-offs between perfection and speed, launched initiatives with imperfect data, and prioritized high-impact work over perfect analysis.
Practice Interview
Study Questions
Leadership & Mentoring Track Record
Demonstrating how you've mentored junior and mid-level analysts, helped them grow their skills, and contributed to team capability building. Specific examples of projects you've led, decisions you influenced, and impact you've had on direct reports' careers.
Practice Interview
Study Questions
Cross-Functional Collaboration & Influence
Examples of how you've worked effectively with product, engineering, operations, and business teams. Situations where you've influenced decisions through data and analysis, navigated competing priorities, and built trust with stakeholders across the organization.
Practice Interview
Study Questions
Frequently Asked Data Analyst Interview Questions
As a data analyst supporting market expansion, explain what Customer Lifetime Value (LTV) and Customer Acquisition Cost (CAC) are, how you would compute a simple version of each using transaction and acquisition data, and which business assumptions most affect these metrics when comparing markets. Provide formulas and list 3 caveats when using LTV/CAC to prioritize markets.
Sample Answer
Customer Lifetime Value (LTV) and Customer Acquisition Cost (CAC) are core metrics for judging which markets to prioritize.
Definitions and simple formulas
- CAC = Total acquisition spend in period / Number of new customers acquired in that period.
- Simple LTV (cohort-based) = Average revenue per customer per period × Average customer lifetime (in periods). Or using margin:
LTV = (Average revenue per period × Gross margin %) × Average lifetime (periods).
How to compute from transaction & acquisition data (simple approach)
- From acquisition data (marketing/spend, signup timestamps) compute CAC per market: sum(marketing_spend where acquisition_market = M) ÷ count(new_customers where acquisition_market = M).
- From transaction data compute per-customer revenue series for the cohort (e.g., customers acquired in Q1):
- avg_revenue_per_customer_per_month = total_revenue_from_cohort / number_of_customers / months_tracked.
- estimate average lifetime by measuring retention curve (e.g., mean months until churn) or use 1 / churn_rate.
- plug into LTV formula (optionally apply gross margin).
Key business assumptions that most affect comparability between markets
- Average gross margin by market (pricing, cost differences).
- Customer lifetime / churn behavior (cultural usage, competition).
- Attribution window and marketing channel mix (multi-touch attribution vs. last-click).
Three caveats when using LTV/CAC to prioritize markets
- LTV estimates depend heavily on limited historical data — early markets or short windows over/underestimate lifetime. Use conservative ranges and sensitivity analysis.
- CAC varies by channel mix and scale; extrapolating current CAC assumes similar spend efficiency as you scale, which may not hold.
- Currency, unit economics, and operating costs differ by market (taxes, fulfillment); comparing raw LTV/CAC without normalizing to margin and local costs can be misleading.
Recommendation: compute cohort LTVs, normalize by gross margin, run sensitivity tests on lifetime and CAC, and present LTV:CAC ratio plus payback period to stakeholders for market prioritization.
You are leading a strategic initiative with multiple executives sponsoring different parts of the work, and they disagree on success criteria halfway through. How would you bring them back to alignment, make decision rights explicit, and keep the teams executing while the debate is resolved?
Sample Answer
I would first separate disagreement on the outcome from disagreement on the method. Then I would bring the executives into a short decision session with a one-page brief: the business goal, the options, the trade-offs, and the decision needed. I would make decision rights explicit using RACI, which means Responsible, Accountable, Consulted, and Informed. That way, everyone knows who recommends, who decides, and who simply needs to stay informed.
For example, if one sponsor wants speed, another wants cost savings, and a third wants risk reduction, I would ask which metric is the tie-breaker if they conflict. I would propose a shared scorecard with 2 or 3 measures, such as revenue impact, operational risk, and delivery date, then ask the accountable executive to make the final call in writing.
While the debate is happening, I would keep teams executing on work that is not dependent on the unresolved choice, pause only the parts that could be wasted, and communicate a clear interim plan. The goal is to prevent thrash, protect momentum, and get everyone back to one set of success criteria.
For example, on a customer-onboarding automation initiative, three executives disagreed about halfway through: the VP of Engineering wanted to prioritize system reliability given a recent outage, the VP of Finance wanted to prioritize cost savings from reduced manual onboarding labor, and the VP of Risk wanted to prioritize compliance controls given a pending audit. In the decision session, the RACI mapping made the VP of Product the accountable decision-maker, with all three VPs as consulted. The proposed scorecard used three metrics: onboarding error rate (tied to reliability), manual labor hours saved per month (tied to cost), and number of unresolved audit findings (tied to risk). The accountable VP decided that the audit-findings metric was the tie-breaker for this quarter, since the audit deadline was fixed and immovable, while the reliability and cost metrics would be weighted equally starting the following quarter. While that decision was being finalized in writing, the teams kept building the shared onboarding data pipeline, which every option needed regardless of the outcome, and paused only the specific reporting dashboard whose design depended on which metric ultimately won.
A product dashboard shows a single conversion rate for all users, but you suspect mobile users behave differently from desktop users. Describe the steps you would take to run a segment-based analysis comparing mobile and desktop: which queries you would run, what visualization you would produce, and how the results would change product prioritization.
Sample Answer
Direct answer
The right first step is not to jump straight to a query, but to confirm the suspicion is real: split the existing conversion metric by device type and check whether the gap between mobile and desktop is large enough, and consistent enough over time, to be worth investigating further before proposing changes.
Structured elaboration
Concretely, this means running a query that computes conversion rate separately for mobile and desktop sessions over a recent, representative window (avoiding a single unusual day), and checking the result holds across at least a few weeks rather than being a one-off blip. If a real and persistent gap is confirmed, the next step is to visualize it in a way that makes the SIZE of the gap and its trend over time legible at a glance, typically a simple time series with mobile and desktop as two separate lines, since a single point-in-time comparison cannot show whether the gap is stable, widening, or narrowing.
From there, the statistical question becomes whether the observed gap could plausibly be explained by normal variation given the sample sizes involved, which calls for a two-proportion significance test (comparing the mobile conversion rate to the desktop conversion rate as two independent proportions) rather than eyeballing the percentages, especially if one of the two groups has a meaningfully smaller sample size. Only once the gap is confirmed as both real and statistically distinguishable from noise does it make sense to bring the finding to product prioritization, since presenting an unconfirmed or statistically weak gap risks sending a team to fix a problem that may not actually exist.
Worked example
Suppose a two-week pull shows 40,000 desktop sessions converting at 4.8% and 65,000 mobile sessions converting at 3.6%, a 1.2-percentage-point absolute gap. A two-proportion test on those counts (1,920 desktop conversions out of 40,000 versus 2,340 mobile conversions out of 65,000) is the right way to check whether a gap of that size, given those sample sizes, is unlikely to be due to chance, rather than asserting significance from the percentage difference alone; with sample sizes this large, a gap of 1.2 points would typically clear a standard significance threshold, which is itself useful information; a much smaller gap, or a much smaller sample, might not. If confirmed, the visualization for product prioritization would plot the weekly mobile and desktop conversion rates as two lines over the same two-week window, making clear whether the gap has been consistent or is a recent development.
Trade-offs and pitfalls
A common mistake is treating a single day or a single small sample's device split as conclusive, when device-level conversion rates can be noisy day to day for reasons unrelated to a real UX gap, such as a marketing campaign that happened to skew heavily toward one device that day. Another common mistake is stopping at "mobile converts worse than desktop" without segmenting further, since a device-level gap is often really concentrated in a specific step of the flow (for example, a form that is hard to fill in on a small screen), and the device split alone will not reveal which step to fix.
Multiple stakeholders want different metrics on the product homepage dashboard: marketing wants installs, sales wants MRR, customer success wants retention rate. Describe a framework to prioritize and select three core metrics to display, and how you'd reconcile the conflicting stakeholder goals.
Sample Answer
Direct answer
Do not treat this as picking a winner among the three stakeholders' asks; treat it as scoring every candidate metric, including ones nobody explicitly proposed, against a shared rubric (alignment to company goals, actionability, whether it is a leading or lagging signal, and how much it overlaps with something else already on the page), then keep the three with the best combined profile. In practice that usually means keeping one true north-star or engagement metric, one monetization metric like monthly recurring revenue (MRR), and one health metric like retention, while moving a purely acquisition-flavored ask like installs to a channel-specific dashboard instead of the shared homepage.
Structured elaboration
Selection criteria
- Goal alignment: does the metric map to a current company objective (growth, monetization, retention)?
- Actionability: can a team change their behavior based on this number, or is it purely descriptive?
- Leading vs. lagging: does it warn you early, or only confirm what already happened?
- Uniqueness: does it duplicate information another metric on the same dashboard already carries?
Reconciling the conflict
Run a short working session with a representative from each stakeholder group, score every candidate against the four criteria on a simple 1-5 scale, and let the scores, not seniority or volume of asking, decide the final three. When two metrics score close to tied, prefer the one with better actionability, since a dashboard's job is to trigger a decision, not just to report a number.
Worked example
Score four candidates (the three originally requested, plus a genuine north-star candidate nobody named) on a 1-5 scale across the four criteria:
| Candidate | Alignment | Actionability | Leading/lagging | Uniqueness | Total (of 20) |
|---|---|---|---|---|---|
| Installs | 3 | 2 | 4 | 3 | 12 |
| MRR | 5 | 3 | 2 | 5 | 15 |
| 30-day retention rate | 5 | 4 | 3 | 4 | 16 |
| Weekly active users completing the core action | 5 | 5 | 5 | 3 | 18 |
The three highest scores are core-action weekly active users (18), 30-day retention (16), and MRR (15). Installs (12) is the lowest scorer, mainly on actionability (a rising install count by itself does not tell product or customer-success teams what to do), so it moves to marketing's own channel dashboard instead of the shared homepage, while the shared homepage carries the north-star, monetization, and health signal.
Trade-offs & pitfalls
Scoring feels objective but the scores themselves are judgment calls; running the exercise with only one stakeholder group in the room reproduces the original conflict under a veneer of rigor. A common wrong turn is picking three metrics that all lag together (installs, MRR, and a trailing retention number), which looks balanced on paper but gives nobody an early warning signal; deliberately keep at least one leading indicator in the final set. Dropping a stakeholder's requested metric entirely, rather than relocating it to a dashboard where it is actually actionable, tends to resurface the same disagreement at the next planning cycle, so pair the decision with where the dropped metric still lives.
Tell me about a time you discovered a data-quality issue in a production BI report, for example wrong totals, duplicates, or missing rows. How did you detect it, what did the root-cause investigation actually look like, and what did you change afterward to prevent the same class of issue?
Sample Answer
Direct answer
A data-quality issue caught in a production BI (business intelligence) report, wrong totals, duplicates, or missing rows, usually starts with someone noticing the number looks off, not with an automated check catching it first, which is itself a useful signal about what to fix afterward: strengthening detection so the NEXT issue is caught by monitoring rather than by a stakeholder's suspicion.
Structured elaboration
How it's typically detected: either a stakeholder flags a number that doesn't match their own expectation or a separate source they trust, or, in a better-instrumented setup, an automated check (a reconciliation or anomaly-detection check, the kind) catches it before anyone downstream sees the wrong number at all.
Root-cause investigation: working backward from the symptom, are the wrong numbers coming from a transformation bug (a join fanning out rows, causing duplicates), a source-data problem (the upstream system itself sent bad data), or a timing issue (the report ran before all the day's data had landed). Checking the pipeline's logs and re-running the relevant transformation step against a known sample is usually faster than guessing.
Fix and prevention: the immediate fix corrects the specific issue (deduplicating, correcting a join, re-running with the right data), and prevention means adding a specific automated check that would have caught this exact class of problem next time, closing the detection gap, not just fixing this one instance.
Worked example
A quarterly report shows total order count roughly 8% higher than the finance team's own independently-tracked figure. Detection: a finance analyst flagged the discrepancy after comparing it against their own tracking, not an automated check, since none existed for this specific report at the time. Root-cause investigation: tracing the pipeline revealed a recent change joined the orders table to a new promotions table to compute a discount-eligibility flag, and that join was one-to-many (a small number of orders had multiple matching promotion records), silently duplicating those orders in the final count. The fix: correcting the join to deduplicate before the final aggregation, and reprocessing the affected historical period. Prevention: adding a row-count reconciliation check comparing the source orders table's row count against the final reporting table's row count after every pipeline run, specifically the kind of check that would have caught this exact fan-out bug the moment it was introduced, rather than a month later when a finance analyst happened to cross-check manually.
Trade-offs and pitfalls
A fix that corrects the immediate wrong number without adding the specific preventative check that would catch the same class of bug again is only half the job, and it's tempting to stop there once the pressing issue is resolved, especially under time pressure to move on to the next task; the discipline of actually closing the detection gap, not just the immediate symptom, is what distinguishes a genuinely learned lesson from a one-off fix that the same bug pattern can reintroduce later in a different part of the pipeline.
Explain the three missing-data mechanisms: missing completely at random (MCAR), missing at random (MAR), and missing not at random (MNAR). Give a realistic example of each from a business dataset, and name one diagnostic you'd run during EDA to help tell them apart.
Sample Answer
Direct answer
Missing completely at random (MCAR) means the chance a value is missing has nothing to do with any variable in the dataset, observed or not, like a random sensor glitch. Missing at random (MAR) means the chance of missingness depends on OTHER observed variables but not on the missing value itself, like older survey respondents being more likely to skip an income question. Missing not at random (MNAR) means the chance of missingness depends on the value that's actually missing, like high earners specifically declining to report their income.
Why the distinction matters
The mechanism determines whether ignoring the missingness (or a simple imputation) will bias your conclusions. Under MCAR, the observed data is a random subsample of the full data, so simple approaches introduce little bias. Under MAR, you can often correct for the pattern because the information you need to explain the missingness is sitting right there in other columns. Under MNAR, the missingness itself carries information you can't recover just by looking at the rest of the row, since the very thing that's missing is what's driving whether it's missing.
Worked example
Consider a customer survey: a "device model" field missing because of a random logging bug affecting a random 2% of sessions is MCAR. A "household income" field missing more often for older respondents, but at the same rate regardless of their actual income once you condition on age, is MAR: age is observed, and it explains the pattern. A "household income" field missing specifically because high earners are less willing to disclose it, even after accounting for age and every other observed variable, is MNAR: the value's own magnitude is driving whether you see it at all.
Trade-offs and pitfalls
In practice, you rarely get to observe the true mechanism directly since it's a statement about unobserved values, so you're always making an educated diagnosis from indirect evidence (patterns of missingness across other variables, domain knowledge about why people don't report something) rather than a proof. Treating every missingness pattern as MCAR by default because it's the simplest assumption is the single most common way EDA quietly understates how much a dataset's blind spots matter.
When should you use a t-test versus a z-test for comparing a sample mean to a population mean or between two sample means? Discuss assumptions about known versus unknown population variance, sample size, and robustness to violations, and describe how you proceed when variances are unknown and sample sizes are small.
Sample Answer
Direct answer
Use a z-test only when the population standard deviation is genuinely known in advance, which is rare in practice. Use a t-test whenever the standard deviation has to be estimated from the sample itself, which is the normal situation, and this holds regardless of sample size. Sample size affects a different thing: how close the t and z critical values are to each other and how much you can lean on the Central Limit Theorem if the underlying data isn't very normal.
Structured elaboration
Known vs. unknown variance. This is the formal criterion. If σ is known (rare outside quality-control settings with a long-established process variance), use z. If σ is estimated from the sample as s (the normal case), use t with df=n−1; the t-distribution's heavier tails are exactly the correction for the added uncertainty of estimating σ rather than knowing it.
Sample size's actual role. As n grows, tn−1 converges to z, so at large n the choice barely changes the numeric answer, which is why "just use z for n≥30" survives as a practical shortcut even though it's not the formal reason. Separately, larger n also makes the Central Limit Theorem a stronger justification for treating the sampling distribution of the mean as approximately normal even when the raw data isn't, which matters for the validity of either test, not for the t-vs-z choice itself.
Comparing two means: pooled vs. Welch's t. If assuming the two groups have equal population variances, use the standard (pooled) two-sample t-test. If variances might differ, and there's rarely a strong reason to assume they're equal, use Welch's t-test, which does not assume equal variances and adjusts the degrees of freedom accordingly. Welch's costs very little power when variances actually are equal but protects against inflated Type I error when they aren't, which is why it's the safer default.
Robustness. t-tests are reasonably robust to mild-to-moderate non-normality once n is moderate (roughly 30+ per group), thanks to the CLT. They're not robust to strong skew or heavy outliers at small n, where a few extreme points can dominate both the mean and the variance estimate.
Worked example: how close t and z actually are, by sample size
| df | t critical value (two-sided, 95%) | z (reference) |
|---|---|---|
| 5 | 2.571 | 1.960 |
| 10 | 2.228 | 1.960 |
| 30 | 2.042 | 1.960 |
| 60 | 2.000 | 1.960 |
| 120 | 1.980 | 1.960 |
(All values from scipy.stats.t.ppf(0.975, df), verified directly.) At df=5 the t critical value is about 31% larger than z, meaningfully widening the interval or raising the bar for significance; by df=60 the gap has shrunk to about 2%. This is the practical justification behind "large n, t and z are basically the same," even though the theoretically correct reason to pick t is always "σ is estimated," not "n is small."
When variances are unknown and sample sizes are small: the actual procedure
- Look at the data: a histogram or Q-Q plot per group, and check for obvious outliers.
- If approximate normality looks plausible, default to Welch's t-test (not pooled, unless there's a specific reason to believe variances are equal, such as both groups measuring the identical underlying process).
- If normality looks clearly violated, or the sample is extremely small (single digits per group) with visible skew, switch to a nonparametric alternative like the Mann-Whitney U test, or use a bootstrap for the confidence interval and p-value instead of the t-distribution's analytic formula.
Trade-offs & pitfalls
- Defaulting to the pooled t-test "because it's the classic one" without checking the equal-variance assumption is a common shortcut that inflates false positives when variances genuinely differ; Welch's is essentially free insurance against this.
- Small samples with heavy skew or outliers can pass a superficial normality check while still producing an unreliable t-test; this is where nonparametric or bootstrap alternatives earn their keep, not just as a formality but as a real fix.
- The "n≥30 use z" heuristic is useful as a rule of thumb but wrong as a justification; it should never be given as the reason to choose z over t in an interview answer, since the real criterion is whether σ is known.
A mentee becomes defensive, or pushes back hard, whenever you give them feedback, and stops acting on your suggestions. How do you handle it?
Sample Answer
Direct answer
When a mentee gets defensive and stops acting on feedback, the fastest way to make it worse is to double down with more direct feedback. Slow down, diagnose why the message isn't landing (the content, the delivery, or something the mentee brings into the room), then rebuild the conversation as a two-way one instead of a one-way correction. If the pattern doesn't shift after a genuine attempt at that, it needs to be named and escalated, not quietly tolerated.
Diagnose before you re-deliver
- Separate "defensive because of how I said it" from "defensive because of what's underneath it." Workload, unclear expectations, a confidence hit, or feedback that reads as a character judgment rather than a specific behavior all produce the same surface symptom (pushback, non-action) for different reasons.
- Ask, don't assume: open with a genuinely curious question rather than a repeat of the critique. "Walk me through how that landed for you" gets you information; "you need to stop being defensive" gets you more defensiveness.
Use motivational interviewing instead of more direct pressure
- Motivational interviewing is built for exactly this: someone who may intellectually agree but is resisting behaviorally. Instead of arguing for the change, reflect their own stated goals back to them and let them articulate the gap ("You mentioned you want to lead the next project. How does this pattern affect that?"). People act on reasons they generate themselves far more than reasons handed to them.
- Keep the ratio of affirmation to correction visible. If every interaction is corrective, the mentee starts hearing footsteps before you speak, which is what produces reflexive defensiveness.
Rebuild the mechanism, not just the next conversation
- Shrink the ask: instead of a broad critique, propose one small, concrete, reversible change and a short check-in window.
- Make feedback bidirectional: ask what kind of feedback has landed well for them before, and adjust format (written vs. verbal, immediate vs. batched) accordingly.
Know when coaching has run its course
- If, after two or three honest attempts using the above, the pattern is unchanged (commitments still not acted on, same defensiveness), that's a signal the issue may be outside what coaching alone fixes: a skill gap being misread as attitude, a values or fit mismatch, or a factor you're not positioned to see.
- At that point, loop in the mentee's manager, or HR if the dynamic has become adversarial, rather than continuing to privately absorb it. Frame it factually: what you tried, what changed, what didn't. This isn't giving up on the mentee; it's recognizing some situations need authority or context you don't have.
Worked example
A mentee kept missing agreed follow-ups on code review comments and would get visibly short in Slack whenever it came up. The instinct was to restate the same feedback more firmly. Instead, the better move: open the next 1:1 with "I want to understand how the review feedback has been landing for you, not go through it again," and listen first. It turned out the mentee had inherited a legacy module nobody had explained well, and every review comment felt like it was pointing out someone else's mess. The fix wasn't more feedback, it was pairing on the module once and shrinking the ask to one file at a time. If that hadn't worked, the next honest step would have been raising the pattern with the mentee's manager, not repeating the same conversation a fourth time.
Trade-offs and pitfalls
- The junior mistake is treating defensiveness as a discipline problem and pushing harder; that reliably produces more resistance, not less.
- Over-correcting the other way (going silent on real issues to avoid triggering defensiveness) just delays the same conversation and lets performance drift.
- Escalating too early, before you've tried adjusting your own approach, reads as offloading a coaching problem; escalating too late lets a stalled dynamic damage trust or delivery. The senior move is trying a genuine adaptation first, timeboxing it, and being honest about whether it moved anything.
Given a subscriptions table with start and end dates per user, use LAG/LEAD to compute the gap in days between one subscription ending and the next one starting for the same user, and label the record as 'resumed' or 'churned' based on that gap. Then adapt the same LAG/LEAD idea to compute time-to-next-purchase for a churn or LTV feature, explaining how you'd treat users who never come back (no next row to compare against).
Sample Answer
Direct answer
LEAD(start_date) OVER (PARTITION BY user_id ORDER BY start_date) pulls each subscription's next start date into the current row without a self-join, so the gap between one subscription ending and the next beginning is just next_start_date - end_date. A NULL from LEAD means there is no next subscription: label those rows deliberately (commonly "churned"), and pick a business threshold for the gap (say, resumed if the gap is at most 30 days, churned otherwise). The exact same LEAD-over-a-partition idea, applied to a purchases table ordered by purchase_date instead of a subscriptions table, computes time-to-next-purchase for a churn or customer lifetime value (LTV) feature; the one thing that changes is how you treat the rows where LEAD is NULL, because "no next purchase yet" is not the same fact as "this user will never purchase again."
Structured elaboration
LEAD(col)is the mirror ofLAG(col): it reaches forward instead of back, using the samePARTITION BY/ORDER BYcontract.- Gap-based labeling:
next_start_date - end_dategives the number of days a customer went without an active subscription; a negative gap means the next subscription started before the current one ended (overlap), which needs its own explicit handling rather than silently falling into "resumed." - The identical query shape applied to
purchases(user_id, purchase_date)givestime_to_next_purchase = LEAD(purchase_date) - purchase_dateper purchase, which is a standard input feature for churn models and one building block of an LTV estimate. - Right-censoring: for a user's most recent purchase,
LEADreturnsNULLbecause there simply is no later row in the data you have so far, not because the user is confirmed to never buy again. Treating everyNULLas "never" biases the feature toward pessimism for exactly your most recently active users, who are the ones you have had the least time to observe. The standard fix is to compute against an explicit snapshot/as-of date: report "days observed since this purchase with no repeat yet" instead of pretending the time-to-next-purchase is either 0 or infinite.
Worked example
WITH nxt AS (
SELECT user_id, start_date, end_date,
LEAD(start_date) OVER (PARTITION BY user_id ORDER BY start_date) AS next_start_date
FROM subscriptions
)
SELECT user_id, start_date, end_date, next_start_date,
CASE WHEN next_start_date IS NULL THEN NULL ELSE next_start_date - end_date END AS gap_days,
CASE
WHEN next_start_date IS NULL THEN 'churned'
WHEN (next_start_date - end_date) <= 30 THEN 'resumed'
ELSE 'churned'
END AS status
FROM nxt ORDER BY user_id, start_date;
Executed against a 4-row subscriptions sample for two users: user 1 has three subscriptions (Jan 1 to Mar 1, Mar 20 to Jun 1, Sep 1 to Oct 1). The first gap is 19 days (Mar 1 to Mar 20), labeled resumed; the second gap is 92 days (Jun 1 to Sep 1), labeled churned; the third row has no next subscription, so next_start_date and gap_days are NULL and status is churned. User 2's single subscription also has no next row and is labeled churned.
The LTV variant, executed against purchases(user_id, purchase_date) with user 1 buying on Jan 1, Jan 15, and Mar 1, 2024, and a snapshot date of Apr 1, 2024 (2024 is a leap year, so February runs to the 29th; the 46-day gap below only reproduces with that extra day): days_to_next_purchase is 14 (Jan 1 to Jan 15) and 46 (Jan 15 to Mar 1); the Mar 1 purchase has next_purchase_date = NULL and, computed against the Apr 1 snapshot, days_observed_since_this_purchase = 31. That last row is the right-censored one: 31 days with no repeat purchase yet is a very different signal from "31 days and counting, still nothing," and both are different again from a user whose gap of 46 days between purchases is fully observed.
Trade-offs & pitfalls
- The resumed/churned gap threshold is a business decision, not a mathematical one; validate 30 days against the actual distribution of real reactivation gaps rather than hardcoding a round number.
- Conflating "no next row yet" with "will never return" quietly turns an LTV or churn feature into one that systematically under-predicts value for your newest active users, since they have had the least time to generate a "next" row.
- Overlapping subscriptions (
next_start_date < end_date) produce a negative gap; decide explicitly whether that counts asresumed, gets clamped to 0, or is flagged as a distinctoverlapstate, rather than letting it silently pass the<= 30check. LEADavoids a full self-join scan for this pattern, but still needs an index on(user_id, start_date)(orpurchase_date) to stay cheap on large tables, since the engine still has to sort or seek within each partition.
A report that used to be correct now returns incorrect counts, and the cause turns out to be NULL values interacting badly with a join or an aggregate (for example a NOT IN against a column that can be NULL). Walk through how you would diagnose a correctness issue like this, not just a performance one, and what SQL patterns you would flag as risky going forward.
Sample Answer
Direct answer. Treat this as a correctness bug first and a performance question second: reproduce the discrepancy with a small, hand-checkable slice of data, isolate whether NULLs in the join or grouping column are the cause, and only then decide on a fix, since the fix for a correctness bug (get the right answer) is different from a performance fix (get the same answer faster).
Structured elaboration. NULL has three-valued logic in SQL: comparisons against NULL evaluate to UNKNOWN rather than true or false, which silently drops rows from equality-based joins and, notoriously, can make a whole NOT IN predicate evaluate to nothing at all if the subquery's result set contains even one NULL. To diagnose, reproduce the discrepancy on a small, deliberately-constructed sample where you can hand-count the correct answer, then narrow down which specific column and which specific operation (a join condition, a NOT IN, an aggregate that's supposed to include a NULL group) is where the count diverges from what you expect.
Once confirmed, the fix is a data-modeling and query-writing decision, not primarily a performance one: decide explicitly what SHOULD happen to NULLs in that join or filter (should an order with no assigned category be included or excluded from a report? should a NOT IN become a NOT EXISTS, which handles NULLs correctly?) and make the query say that explicitly rather than relying on default three-valued-logic behavior that happens to look right on data without NULLs and silently breaks the moment a NULL appears.
Worked example. A "customers without a completed order" report written as customer_id NOT IN (SELECT customer_id FROM orders WHERE status='completed') will silently return ZERO customers, not the correct list, the moment even one row in orders has a NULL customer_id (an orphaned or bad-data row), because SQL's three-valued logic makes the entire NOT IN evaluate to UNKNOWN once a NULL is anywhere in that subquery's result. Rewriting as NOT EXISTS (SELECT 1 FROM orders o WHERE o.customer_id = c.customer_id AND o.status='completed') is unaffected by that same NULL, since EXISTS/NOT EXISTS never has to evaluate a NULL-vs-value comparison the same problematic way.
Trade-offs and pitfalls. Once you've found and fixed one instance of this pattern, treat it as evidence there may be siblings elsewhere in the same codebase, particularly any other use of NOT IN against a column that isn't guaranteed NOT NULL, since this exact defect class tends to recur wherever that same risky pattern was copied or independently reinvented.
Complexity
The fix itself doesn't change the query's complexity class; it changes correctness, which is the more urgent property to restore first.
Edge cases
Any aggregate (COUNT, SUM, AVG) silently ignores NULL values within the aggregated column by default, which is usually correct but worth double-checking explicitly whenever a report's totals look suspiciously low; that's a related but distinct NULL pitfall from the join/membership issue above.
Search Results
DoorDash Data Analyst Interview in 2025 (Leaked Questions)
Describe a time you used data to influence a product or business decision. · How do you approach balancing multiple projects and deadlines?
DoorDash Data Analyst Interview: Analytics Exercise, Case Study ...
Describe a data project you worked on. · How have you made complex data or analyses more accessible to non-technical partners? · What would your ...
Ace the DoorDash Data Scientist interview: Proven 2025 guide
Interview Questions · How do you analyze if a product is successful? · What are the most important metrics for DoorDash? · How do you measure revenue and cost?
8 DoorDash SQL Interview Questions (Updated 2025) - DataLemur
8 DoorDash SQL Interview Questions · SQL Question 1: First 14-Day Satisfaction · SQL Question 2: Analyze DoorDash Delivery Performance · SQL ...
DoorDash Data Analysis Interview Questions (Updated 2025)
Review this list of DoorDash data analysis bizops & strategy interview questions and answers verified by hiring managers and candidates.
This interview preparation guide was generated using AI-powered research from the sources listed above. While we strive for accuracy, we recommend verifying critical information from official company sources.
Want to create your own tailored preparation guide using our deep research?
Get Started for FreeInterview-Ready Courses
Visual-first, interactive, structured learning paths