← DoorDash Interview Insights

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

SeniorPrefer not to say
Apr 2026

Summary

DoorDash ML engineer system design round focused entirely on building a personalized restaurant recommendation system. Pretty deep dive, covering everything from query parsing to LLM integration, which I wasn't fully expecting.

Questions Asked (4)

Q1

Design a personalized restaurant recommendation system where a user enters a query and gets back ranked restaurant results. Walk through query understanding, retrieval, and ranking.

System DesignTechnical Trade-offs
Author's notes

This is the kind of question that feels manageable until you're 10 minutes in and realize you've been talking about tokenization for way too long.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and constraints, then walk through the three stages—query understanding, retrieval, and ranking—highlighting data sources, model choices, and trade-offs. Emphasize how personalization and business metrics (e.g., conversion, delivery time) influence each stage.

Pro tip: Anchor your design around DoorDash's unique data (order history, real-time availability, delivery logistics) and discuss how you'd handle cold-start users and the exploration-exploitation trade-off in ranking.

1. Clarify Requirements and Constraints

Ask about scale, latency, personalization signals, and business objectives (e.g., maximizing orders vs. delivery efficiency). Define success metrics like CTR, conversion, or user satisfaction.

2. Query Understanding

Parse the user query to extract intent, entities (cuisine, location, price), and implicit preferences from user history. Use NLP techniques like NER, intent classification, and query rewriting.

3. Retrieval

Generate candidate restaurants using multiple sources: keyword search, collaborative filtering, and content-based matching. Apply filters (open now, delivery zone) and ensure low latency with approximate nearest neighbor search.

4. Ranking

Score and order candidates using a learning-to-rank model that combines features from query, user, restaurant, and context. Consider business rules and diversity to avoid filter bubbles.

5. Evaluation and Iteration

Offline evaluate with metrics like NDCG, then online A/B test. Monitor for biases and feedback loops, and iterate on model and features.

Key Points to Mention

  • Personalization signals: user order history, ratings, dietary preferences, and real-time context (time of day, location).
  • Two-stage architecture: retrieval (fast, high recall) followed by ranking (slower, high precision).
  • Feature engineering for ranking: query-restaurant relevance, user-restaurant affinity, restaurant quality, and delivery time estimates.
  • Handling cold-start: use content-based features and demographic/contextual signals for new users/restaurants.
  • Trade-offs: latency vs. model complexity, relevance vs. diversity, and exploration vs. exploitation.
  • Business metrics integration: incorporate delivery time, restaurant capacity, and promotions into ranking.

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

Q2

What real-time signals would you incorporate into the ranking model, and how would you handle serving them at low latency?

System DesignTechnical Trade-offs
Author's notes

Talked about things like current session behavior, time of day, and whether a restaurant is trending in the area.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by identifying high-value real-time signals for DoorDash's ranking model, such as courier location, restaurant prep time, and current traffic. Then, discuss a low-latency serving architecture that balances freshness, cost, and reliability, using a feature store with online-offline consistency and caching strategies.

Pro tip: Emphasize the trade-off between signal freshness and system complexity: not all signals need millisecond freshness; some can be updated every few seconds or minutes. Also, mention the importance of monitoring and fallback mechanisms to handle stale or missing features gracefully.

1. Identify Real-Time Signals

List relevant real-time signals for DoorDash, such as courier GPS, restaurant order queue length, traffic conditions, and weather. Prioritize signals by their impact on ranking and feasibility of low-latency serving.

2. Design Serving Architecture

Propose a streaming pipeline (e.g., Kafka + Flink) to compute features in real-time, and store them in a low-latency feature store (e.g., Redis, DynamoDB) for online serving. Ensure offline-online consistency for training.

3. Optimize for Low Latency

Discuss techniques like in-memory caching, pre-computation, and approximate algorithms to meet latency SLAs. Consider edge computing for location-based signals.

4. Handle Failures and Staleness

Implement fallback to batch features or default values when real-time signals are unavailable. Use time-to-live (TTL) and freshness checks to avoid stale data.

5. Evaluate and Monitor

Set up A/B tests to measure the impact of real-time signals on business metrics. Monitor latency, feature freshness, and model performance in production.

Key Points to Mention

  • Feature store for online-offline consistency (e.g., Feast, Tecton)
  • Stream processing frameworks (Kafka, Flink, Spark Streaming)
  • Low-latency storage (Redis, DynamoDB, Cassandra)
  • Caching strategies and pre-computation
  • Fallback mechanisms and graceful degradation
  • A/B testing and monitoring for real-time features

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

Q3

How would you handle cold-start for new restaurants or new users with no historical data?

System DesignProduct Sense & Ideation
Author's notes

Went with content-based fallbacks for new restaurants (menu embeddings, cuisine tags, location) and popularity-based defaults for new users.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the two cold-start scenarios (new restaurants and new users) and their distinct challenges. Then propose a multi-pronged strategy that leverages available metadata, content-based methods, and exploration, while emphasizing the need for a feedback loop to quickly learn from early interactions. Conclude with how you would measure success and iterate.

Pro tip: Highlight the importance of using transfer learning from similar entities (e.g., restaurants in the same cuisine or users with similar demographics) and designing an exploration-exploitation trade-off that balances short-term performance with long-term data collection.

1. Clarify the problem and constraints

Ask clarifying questions to understand the specific cold-start scenario: is it a new restaurant with no orders, a new user with no history, or both? What data is available (e.g., restaurant attributes, user sign-up info)? What are the business metrics (e.g., conversion, order rate)?

2. Leverage available metadata and content-based methods

For new restaurants, use attributes like cuisine, price range, location, and menu items to match with user preferences. For new users, use sign-up information (e.g., location, device, referral source) and demographic data to infer preferences.

3. Employ transfer learning and similarity-based approaches

Use models trained on similar entities: for restaurants, find similar existing restaurants and use their embeddings; for users, find similar users (e.g., via collaborative filtering or clustering) and borrow their preferences.

4. Design an exploration strategy

Implement a bandit-based approach (e.g., Thompson sampling) to balance showing new items to gather data while minimizing poor user experiences. Consider contextual bandits to personalize exploration.

5. Establish a feedback loop and evaluation metrics

Define metrics to measure cold-start performance (e.g., time to first order, user retention, restaurant order volume). Set up A/B tests to compare strategies and continuously update models as data accumulates.

Key Points to Mention

  • Content-based filtering using restaurant attributes and user demographics
  • Transfer learning from similar restaurants or users
  • Exploration-exploitation trade-off with multi-armed bandits
  • Use of side information and metadata to bootstrap models
  • Cold-start as a temporary phase: plan for transition to collaborative filtering
  • Evaluation metrics and A/B testing for cold-start strategies

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

Q4

How would you incorporate an LLM into this recommendation system? Think about query reformulation, generating explanations, end-to-end ranking, or RAG over reviews and menus.

System DesignTechnical Trade-offsProduct Sense & Ideation
Author's notes

This was the follow-up I was least prepared for.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the recommendation system's current architecture and business goals, then propose LLM integration points that address specific pain points, such as query understanding, explanation generation, or ranking. Emphasize trade-offs between latency, cost, and quality, and suggest a phased approach with offline evaluation before online deployment.

Pro tip: Focus on measurable impact: propose A/B tests with metrics like CTR, conversion, and order value, and discuss how to handle LLM hallucinations in explanations or ranking. Showing awareness of production constraints like latency and cost will set you apart.

1. Clarify Requirements and Constraints

Ask about the current system's scale, latency requirements, and business objectives to tailor your LLM integration. Identify where LLMs can add the most value without disrupting existing pipelines.

2. Identify Integration Points

Map LLM capabilities to specific components: query reformulation for search, explanation generation for trust, end-to-end ranking for personalization, or RAG for grounding in reviews and menus. Prioritize based on impact and feasibility.

3. Design the LLM Pipeline

Outline how the LLM will be used: prompt engineering, fine-tuning, retrieval augmentation, and fallback mechanisms. Consider model size, inference latency, and cost, and propose caching or distillation if needed.

4. Evaluate and Iterate

Define offline metrics (e.g., NDCG, BLEU for explanations) and online A/B tests (CTR, conversion). Plan for monitoring and continuous improvement, including guardrails against hallucinations.

5. Address Trade-offs and Risks

Discuss trade-offs between latency and quality, cost and performance, and personalization and privacy. Propose mitigations like asynchronous processing or hybrid models.

Key Points to Mention

  • Query reformulation: using LLMs to expand or clarify user queries for better search results.
  • Explanation generation: creating natural language reasons for recommendations to build trust.
  • End-to-end ranking: leveraging LLMs to directly rank items based on user context and preferences.
  • RAG over reviews and menus: retrieving relevant information to ground LLM outputs and reduce hallucinations.
  • Latency and cost considerations: using smaller models, caching, or asynchronous processing.
  • Evaluation metrics: offline (NDCG, MRR) and online (CTR, conversion, order value) with A/B testing.

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