← DoorDash Interview Insights

DoorDash·Machine Learning Engineer·Onsite - System Design / Architecture·Senior

Senior
Jun 2026

Summary

ML system design round at DoorDash for an MLE role. The whole thing was focused on infrastructure and pipelines rather than modeling, which I wasn't fully expecting. Pretty thorough coverage of the full lifecycle from feature stores to serving to observability.

Questions Asked (5)

Q1

Design the end-to-end ML infrastructure for a large-scale product, covering the training pipeline, inference pipeline, and experiment management. Focus on the infrastructure and high-level pipelines rather than the model itself.

System DesignTechnical Trade-offs
Author's notes

This was basically the whole interview.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the product requirements and scale (e.g., DoorDash's real-time delivery predictions), then outline the end-to-end ML infrastructure covering data ingestion, training, deployment, and monitoring. Emphasize trade-offs between latency, cost, and scalability, and how you'd manage experiments and model lifecycle.

Pro tip: Highlight the importance of feature consistency between training and serving, and propose a feature store to avoid training-serving skew—a common pitfall in production ML systems.

1. Clarify Requirements and Scale

Ask about data volume, prediction latency, update frequency, and business goals to tailor the design. Establish assumptions for scale (e.g., millions of daily predictions).

2. Design Training Pipeline

Outline data ingestion, storage, feature engineering, and distributed training. Include orchestration (e.g., Airflow, Kubeflow) and versioning of data and models.

3. Design Inference Pipeline

Cover model serving (batch vs. real-time), deployment strategies (canary, A/B), and scaling (autoscaling, load balancing). Address low-latency requirements and fallback mechanisms.

4. Implement Experiment Management

Describe tracking experiments (e.g., MLflow), managing model registry, and enabling reproducible training. Include A/B testing infrastructure and metrics collection.

5. Address Monitoring and Maintenance

Discuss monitoring for data drift, model performance, and system health. Outline retraining triggers and CI/CD for ML.

Key Points to Mention

  • Feature store for consistency and reuse
  • Distributed training frameworks (e.g., Horovod, PyTorch DDP)
  • Model registry and versioning
  • Real-time inference with low latency (e.g., TensorFlow Serving, Triton)
  • A/B testing and canary deployments
  • Monitoring for data drift and model degradation

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q2

How would you design a feature store that supports both online low-latency lookups and offline batch training jobs?

System DesignData Modeling
Author's notes

I knew this one was coming and still fumbled the consistency angle.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements like latency SLAs, data volume, and consistency needs. Then propose a dual-store architecture with a unified transformation layer, and discuss trade-offs around consistency, cost, and complexity.

Pro tip: Emphasize the importance of point-in-time correctness to avoid training-serving skew, and mention how you would handle backfilling and feature versioning.

1. Clarify Requirements

Ask about latency targets, data scale, consistency needs, and use cases to tailor the design.

2. High-Level Architecture

Propose a dual-store system: an online store (e.g., Redis, DynamoDB) for low-latency lookups and an offline store (e.g., S3, BigQuery) for batch training.

3. Data Ingestion & Transformation

Describe a unified pipeline that computes features from batch and streaming sources, ensuring consistency between online and offline.

4. Serving & Training

Explain how online serving retrieves features with low latency, and how offline training uses point-in-time correct joins to create training datasets.

5. Operational Concerns

Discuss monitoring, backfilling, feature versioning, and trade-offs like cost vs. consistency.

Key Points to Mention

  • Point-in-time correctness to prevent data leakage
  • Training-serving skew and how to avoid it
  • Online store choices (Redis, DynamoDB) and offline store choices (S3, BigQuery)
  • Unified transformation logic (e.g., using Spark or Flink)
  • Feature versioning and backfilling strategies
  • Latency SLAs and scalability considerations

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q3

Walk through how you'd handle A/B testing, shadow deployments, canary rollouts, and rollbacks for ML models in production.

A/B Testing & ExperimentationSystem Design
Author's notes

Probably my strongest answer.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Structure your answer around the ML model lifecycle: offline validation, shadow deployment, canary rollout, A/B testing, and rollback. Emphasize how each stage de-risks deployment and how you'd measure success with both business and model-specific metrics. Highlight the importance of automation and monitoring to enable fast rollbacks.

Pro tip: Always define rollback criteria and automate the rollback process before deployment—this shows you prioritize safety and reliability. Also, mention that you'd use a combination of online and offline metrics to detect issues early.

1. Offline Validation

Validate the new model on a holdout set and compare against the current production model using offline metrics. Ensure it meets performance thresholds and business constraints.

2. Shadow Deployment

Deploy the new model in shadow mode to run alongside the current model without affecting user experience. Compare predictions and monitor for discrepancies, latency, and resource usage.

3. Canary Rollout

Release the new model to a small percentage of traffic (e.g., 1-5%) to test in production. Monitor key metrics (e.g., CTR, conversion, latency) and compare against the control group.

4. A/B Testing

Gradually increase traffic to the new model while conducting a statistically rigorous A/B test. Use appropriate sample sizes and significance levels to determine if the new model improves business metrics.

5. Rollback and Monitoring

Set up automated alerts and rollback triggers based on predefined thresholds (e.g., error rate, latency, business metric drop). If issues arise, revert to the previous model quickly and conduct a post-mortem.

Key Points to Mention

  • Define clear success metrics (business and model-specific) and rollback criteria before deployment.
  • Use shadow deployment to catch integration issues and performance regressions without user impact.
  • Implement canary releases with gradual traffic increase and automated monitoring.
  • Conduct A/B tests with proper statistical power to measure causal impact.
  • Automate rollbacks to minimize downtime and user impact.
  • Consider model-specific challenges like feature drift, data leakage, and feedback loops.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q4

How would you monitor a deployed ML system for data drift, model drift, and training/serving skew?

System DesignRoot Cause Analysis
Author's notes

Blanked for a second on training/serving skew specifically.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by defining the three types of drift and skew, then outline a monitoring strategy that includes data collection, statistical tests, alerting, and root cause analysis. Emphasize proactive detection and automated responses, and tie it to business impact like delivery time predictions.

Pro tip: Highlight the importance of monitoring feature distributions and model predictions in real-time, and set up automated retraining triggers to maintain performance. Also, mention that you'd monitor not just the model but also the data pipeline for upstream issues.

1. Define Metrics and Baselines

Identify key metrics for data drift (e.g., PSI, KL divergence), model drift (e.g., accuracy, F1, RMSE), and training/serving skew (e.g., feature distribution differences). Establish baselines from training data and initial deployment.

2. Implement Data Collection and Logging

Log all incoming features, predictions, and ground truth (when available) in production. Ensure data is stored with timestamps and metadata for analysis.

3. Set Up Monitoring and Alerting

Use statistical tests and thresholds to detect drift and skew. Integrate with monitoring tools (e.g., Prometheus, Grafana) and set up alerts for anomalies.

4. Root Cause Analysis and Response

When alerts trigger, investigate causes: data quality issues, upstream changes, or concept drift. Decide on actions like retraining, feature updates, or pipeline fixes.

5. Automate Retraining and Feedback Loops

Implement automated retraining pipelines triggered by drift detection, and continuously update baselines. Close the loop by feeding production data back into training.

Key Points to Mention

  • Statistical tests for drift: PSI, KL divergence, KS test, Chi-square
  • Model performance metrics: accuracy, precision, recall, F1, RMSE, and business KPIs
  • Training/serving skew: feature distribution differences, preprocessing inconsistencies
  • Monitoring tools: Prometheus, Grafana, ELK, custom dashboards
  • Alerting thresholds and anomaly detection
  • Automated retraining and CI/CD for ML

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q5

How would you approach cost optimization and multi-tenant isolation in a shared ML infrastructure platform?

System DesignTechnical Trade-offs
Author's notes

Honestly the question I was least prepared for.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the platform's scale, workload types, and isolation requirements, then propose a layered architecture that separates control plane (multi-tenant orchestration) from data plane (isolated compute/storage). Balance cost optimization via resource sharing and autoscaling with isolation via namespaces, quotas, and network policies, and discuss trade-offs explicitly.

Pro tip: Emphasize that isolation and cost optimization are often at odds; show maturity by proposing tiered isolation levels (e.g., shared for dev, dedicated for prod) and quantifying the cost impact of each isolation mechanism.

1. Clarify Requirements and Constraints

Ask about scale (number of tenants, jobs/day), workload types (training vs. inference), latency SLAs, compliance needs, and budget constraints. This ensures your design addresses real needs.

2. Design Multi-Tenant Isolation Layers

Propose isolation at compute (namespaces, cgroups, VMs), storage (per-tenant buckets, encryption), network (VPCs, policies), and identity (RBAC, IAM) levels. Discuss trade-offs between strong isolation (higher cost) and weak isolation (lower cost).

3. Implement Cost Optimization Strategies

Suggest techniques like bin-packing, spot instances, autoscaling, resource quotas, and tiered storage. Highlight how sharing resources across tenants reduces cost but requires robust isolation.

4. Balance Trade-offs and Propose Architecture

Present a concrete architecture (e.g., Kubernetes with namespaces, Istio for network policies, KFServing for inference) and explain how it achieves both goals. Discuss monitoring and chargeback for accountability.

5. Address Failure Modes and Evolution

Cover noisy neighbor issues, security breaches, and cost overruns. Explain how to detect and mitigate them, and how the design can evolve with scale.

Key Points to Mention

  • Resource quotas and limits per tenant to prevent noisy neighbor and control cost
  • Use of spot instances and autoscaling for cost savings, with fallback to on-demand for critical jobs
  • Network policies and service meshes for tenant isolation without sacrificing performance
  • Chargeback/showback mechanisms to incentivize efficient resource usage
  • Tiered isolation: shared clusters for non-critical workloads, dedicated clusters for sensitive ones
  • Monitoring and observability to track per-tenant usage and detect anomalies

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.