← Uber Interview Insights

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

SeniorPrefer not to say
Jun 2026

Summary

Uber MLE system design round, full session on building a restaurant ranking system for a food delivery product. The question had a lot of moving parts and I don't think I covered everything as cleanly as I wanted to.

Questions Asked (8)

Q1

Design a personalized restaurant recommendation and ranking system for a food delivery platform like Uber Eats. The system should rank restaurants on the home feed based on user history, cuisine preferences, time of day, location, delivery ETA, fees, and live marketplace conditions.

System DesignProduct Analytics & MetricsTechnical Trade-offs
Author's notes

This was the whole interview basically.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the business objective and success metrics, then outline a two-stage architecture: candidate generation (retrieval) followed by ranking. For ranking, propose a learning-to-rank model that incorporates user, restaurant, context, and real-time marketplace features, and discuss how to handle trade-offs like personalization vs. diversity and relevance vs. delivery efficiency.

Pro tip: Emphasize the importance of real-time features and online experimentation—Uber Eats operates in a dynamic marketplace, so your system must adapt to changing conditions and be validated through A/B tests. Also, mention how you would handle cold-start users and restaurants using content-based and contextual signals.

1. Clarify Requirements and Metrics

Ask questions to understand the scope: what are the key business goals (e.g., order completion, user retention, delivery efficiency)? Define offline and online metrics such as NDCG, CTR, conversion rate, and delivery time.

2. Design Data and Feature Pipeline

Identify data sources: user profiles, order history, restaurant attributes, real-time location, ETA, fees, and marketplace conditions. Outline feature engineering for user preferences, contextual features (time, location), and dynamic features (current wait time, courier availability).

3. Architect the Ranking System

Propose a two-stage system: candidate generation (e.g., collaborative filtering, geographic filtering) to narrow down to hundreds of restaurants, then a ranking model (e.g., gradient boosted trees or deep neural network) to score and order them. Discuss how to incorporate business rules and constraints.

4. Address Trade-offs and Challenges

Discuss trade-offs: personalization vs. diversity, relevance vs. delivery time/fees, exploration vs. exploitation. Explain how to handle cold-start, position bias, and real-time updates. Mention techniques like multi-task learning and contextual bandits.

5. Evaluate and Iterate

Describe offline evaluation (replay, counterfactual) and online A/B testing. Propose a feedback loop to continuously improve the model with new data and user interactions.

Key Points to Mention

  • Two-stage architecture: candidate generation and ranking
  • Feature engineering: user history, cuisine preferences, time of day, location, delivery ETA, fees, live marketplace conditions
  • Learning-to-rank models (e.g., LambdaMART, DNN) and multi-task learning for multiple objectives
  • Real-time feature serving and model updates for dynamic marketplace
  • Evaluation metrics: offline (NDCG, recall) and online (CTR, conversion, delivery time)
  • Cold-start strategies and exploration-exploitation balance

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

Q2

How would you define success metrics for this recommendation system, and what guardrail metrics would you put in place?

Product Analytics & MetricsA/B Testing & Experimentation
Author's notes

I went with order conversion rate and GMV as primary metrics, then mentioned session engagement as a secondary.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the business objective and user experience goals of the recommendation system, then define success metrics that directly measure progress toward those goals. Next, outline guardrail metrics that ensure the system doesn't harm other critical aspects like latency, diversity, or long-term user satisfaction. Finally, explain how you would validate these metrics through A/B testing and monitor them in production.

Pro tip: Emphasize the importance of aligning metrics with Uber's marketplace dynamics, such as balancing rider and driver experiences, and consider counterfactual or long-term metrics to avoid optimizing for short-term gains that hurt the ecosystem.

1. Clarify Business and User Goals

Ask clarifying questions to understand the specific recommendation context (e.g., Uber Eats restaurant recommendations, ride suggestions) and the primary business objectives (e.g., increase conversions, engagement, or retention).

2. Define Success Metrics

Propose primary success metrics that directly measure the desired outcome, such as click-through rate, conversion rate, order value, or user engagement, ensuring they are actionable and aligned with business goals.

3. Identify Guardrail Metrics

List guardrail metrics to monitor unintended consequences, such as latency, diversity of recommendations, user satisfaction, fairness, and long-term retention, ensuring they don't degrade.

4. Plan Validation and Monitoring

Describe how you would validate these metrics through A/B testing, including sample size, duration, and statistical significance, and how you would monitor them in production with alerts for anomalies.

5. Iterate and Refine

Explain the importance of continuously reviewing metrics, conducting deep dives, and adjusting as the product evolves or new data emerges.

Key Points to Mention

  • Alignment with business objectives (e.g., revenue, engagement, retention)
  • Primary success metrics (e.g., CTR, conversion rate, average order value)
  • Guardrail metrics (e.g., latency, diversity, fairness, user satisfaction)
  • Long-term vs short-term trade-offs (e.g., avoiding filter bubbles)
  • A/B testing methodology and statistical rigor
  • Monitoring and alerting for production health

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

Q3

Walk through your candidate generation strategy. What retrieval approaches would you use and how would you merge candidates from multiple sources?

System DesignAlgorithms & Data Structures
Author's notes

Talked about collaborative filtering, two-tower embeddings, and trending/geo-based heuristics.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the problem context (e.g., search, recommendation, ads) and the scale/latency requirements. Then describe a multi-stage retrieval pipeline with complementary sources (lexical, semantic, graph-based, etc.), and explain how you merge and rank candidates using techniques like reciprocal rank fusion or learned models. Emphasize trade-offs and evaluation metrics.

Pro tip: At Uber, candidate generation often involves geo-spatial and real-time constraints; mention how you'd incorporate location and time into retrieval and merging. Also, highlight the importance of diversity in candidates to avoid feedback loops.

1. Clarify Requirements and Constraints

Ask about the use case (e.g., Uber Eats search, driver matching), scale (QPS, corpus size), latency budget, and business metrics. This shapes retrieval choices.

2. Design Multiple Retrieval Sources

Propose complementary retrieval methods: inverted index for keyword matching, embedding-based ANN for semantic similarity, graph traversal for relationships, and possibly rule-based or popularity-based sources. Explain why each adds value.

3. Merge Candidates from Sources

Describe merging strategies: union, intersection, or weighted combination. Discuss techniques like reciprocal rank fusion (RRF) or training a lightweight model to score candidates from different sources.

4. Rank and Filter Candidates

Explain how you'd apply a ranking model (e.g., GBDT or neural) to the merged set, and apply filters (e.g., business rules, freshness, diversity) to produce the final candidate list.

5. Evaluate and Iterate

Outline offline metrics (recall@k, MRR) and online A/B testing. Discuss how to monitor source contribution and adjust merging weights over time.

Key Points to Mention

  • Complementary retrieval sources: lexical (BM25), semantic (ANN with embeddings), graph-based (e.g., co-visitation), and real-time (trending, location-based).
  • Merging techniques: reciprocal rank fusion, weighted sum of scores, or learning-to-rank with features from each source.
  • Handling scale and latency: approximate nearest neighbors, sharding, caching, and parallel retrieval.
  • Diversity and fairness: ensuring candidates from different sources are represented to avoid bias and improve coverage.
  • Evaluation: offline recall metrics and online A/B tests, with source-level attribution.
  • Uber-specific considerations: geo-spatial indexing, real-time event streams, and multi-sided marketplace dynamics.

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

Q4

What ranking model would you choose and what targets would you train it to predict? How do you handle multiple objectives like clicks, orders, and long-term retention?

Technical Trade-offsSystem Design
Author's notes

Said I'd start with a GBDT for interpretability and speed, then move to a multi-task neural model once we have enough data.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the business context and constraints (e.g., Uber's marketplace, latency, data volume), then propose a ranking model that balances multiple objectives, such as a multi-task learning model with shared representations. Explain how you would train it on targets like clicks, orders, and retention, and discuss trade-offs and evaluation metrics.

Pro tip: Emphasize that the choice of model and targets should be driven by the product's north-star metric and offline/online evaluation, not just algorithmic novelty. Mention that you would start with a simple baseline (e.g., logistic regression) and iterate, showing pragmatism.

1. Clarify business objectives and constraints

Ask about the specific use case (e.g., Uber Eats ranking, driver matching), the north-star metric, latency requirements, and data availability. This ensures your answer is tailored and shows you think holistically.

2. Choose a ranking model architecture

Propose a model that can handle multiple objectives, such as a multi-task neural network with shared bottom layers and task-specific heads, or a gradient-boosted decision tree ensemble with separate models per objective. Justify based on scale, latency, and interpretability needs.

3. Define training targets and labels

For each objective (clicks, orders, retention), specify how to define labels (e.g., binary click, order conversion, user return within X days) and how to handle delayed feedback and negative sampling. Discuss using proxies for long-term retention.

4. Handle multiple objectives

Explain techniques like multi-task learning with loss weighting, Pareto optimization, or using a single model with a combined loss. Discuss how to balance objectives dynamically (e.g., based on business priorities) and avoid negative transfer.

5. Evaluate and iterate

Describe offline metrics (AUC, NDCG, calibration) and online A/B testing with business metrics. Mention the importance of guardrail metrics and long-term holdout experiments to measure retention impact.

Key Points to Mention

  • Multi-task learning (MTL) with shared representations and task-specific heads to leverage commonalities and reduce inference cost.
  • Handling delayed feedback for orders and retention (e.g., using survival analysis or exponential decay).
  • Loss weighting and dynamic adjustment based on business priorities (e.g., using uncertainty weighting or GradNorm).
  • Negative sampling and bias correction for click and order data.
  • Evaluation beyond clicks: using long-term holdout groups and causal inference to measure retention impact.
  • Trade-offs between model complexity, latency, and interpretability in a production system like Uber.

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

Q5

How would you handle position bias in training data, and what steps would you take to prevent feedback loops in the ranking system?

A/B Testing & ExperimentationTechnical Trade-offs
Author's notes

Position bias was something I'd read about but hadn't thought through deeply for recommendations specifically.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by acknowledging that position bias and feedback loops are intertwined challenges in ranking systems, then outline a two-pronged strategy: first, correct for bias in training data using techniques like inverse propensity scoring (IPS) or unbiased learning-to-rank; second, design the system to prevent feedback loops through exploration, randomization, and continuous monitoring. Emphasize the importance of experimentation (A/B tests) and trade-offs between short-term metrics and long-term health.

Pro tip: Frame your answer around Uber's specific context—e.g., ranking drivers or riders—and mention how you'd use Uber's experimentation platform to measure and mitigate bias, showing you understand their scale and data infrastructure.

1. Diagnose and Quantify Position Bias

Explain how you would detect position bias in logged data, e.g., by analyzing click-through rates by position or running randomized experiments where items are shuffled. Quantify its impact on model training.

2. Correct for Bias in Training

Describe methods to debias training data, such as inverse propensity scoring (IPS), position-aware learning-to-rank, or using unbiased counterfactual estimators. Mention the trade-off between bias correction and variance.

3. Prevent Feedback Loops via Exploration

Discuss incorporating exploration (e.g., epsilon-greedy, Thompson sampling) to collect unbiased data and avoid the rich-get-richer effect. Highlight the need to balance exploration and exploitation.

4. Monitor and Evaluate with A/B Tests

Propose continuous monitoring of ranking metrics and running A/B tests to measure the long-term impact of debiasing techniques. Use guardrail metrics to detect feedback loops.

5. Iterate and Refine

Emphasize the iterative nature: regularly retrain models with fresh unbiased data, adjust exploration rates, and incorporate new debiasing methods as the system evolves.

Key Points to Mention

  • Inverse Propensity Scoring (IPS) and its variants for debiasing
  • Exploration strategies like epsilon-greedy or Thompson sampling to break feedback loops
  • A/B testing and counterfactual evaluation to measure debiasing effectiveness
  • Trade-offs between bias correction, variance, and short-term vs. long-term metrics
  • Uber's scale and the need for scalable, production-ready solutions
  • Monitoring and guardrail metrics to detect and mitigate feedback loops

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

Q6

How would you approach cold start for both new users and new restaurants?

Product Sense & IdeationAdaptability & Ambiguity
Author's notes

My weakest section.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the cold start problem in the context of Uber's food delivery platform, distinguishing between new users and new restaurants. Then, outline a two-sided approach that leverages available data, such as user demographics and restaurant attributes, and employs techniques like meta-learning and contextual bandits to provide personalized recommendations despite limited interaction data.

Pro tip: Emphasize the importance of exploration-exploitation trade-offs and how you would measure success through metrics like conversion rate and user retention, while being mindful of potential biases in the data.

1. Clarify the Problem

Define what cold start means for new users (no order history) and new restaurants (no ratings or order history), and discuss the impact on the platform's ecosystem.

2. Leverage Available Data

Identify and utilize side information such as user demographics, location, device type, and restaurant cuisine, price range, and location to create initial profiles.

3. Apply Modeling Techniques

Use meta-learning to learn from similar users/restaurants, contextual bandits for exploration, and content-based filtering to generate initial recommendations.

4. Design for Exploration and Feedback

Implement an exploration strategy to gather feedback quickly, such as showing new restaurants to users likely to enjoy them, and use that feedback to update models.

5. Measure and Iterate

Define success metrics (e.g., click-through rate, conversion, retention) and set up A/B tests to evaluate the cold start strategy, iterating based on results.

Key Points to Mention

  • Meta-learning and transfer learning from similar domains or users
  • Contextual bandits for balancing exploration and exploitation
  • Content-based filtering using restaurant attributes and user preferences
  • Hybrid recommendation systems combining collaborative and content-based methods
  • Importance of real-time feedback loops and online learning
  • Evaluation metrics and A/B testing methodology for cold start scenarios

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

Q7

Describe the online serving architecture for this system. How do you meet latency requirements while keeping features fresh?

System DesignTechnical Trade-offs
Author's notes

Talked about a feature store with precomputed user and restaurant embeddings, a low-latency retrieval layer, and a separate re-ranking service.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by outlining the end-to-end online serving architecture, from request handling to model inference, then dive into how you balance latency and feature freshness. Emphasize trade-offs and concrete techniques like caching, precomputation, and streaming updates.

Pro tip: Highlight the importance of monitoring and fallback strategies to handle latency spikes and stale features, showing you think about production reliability. Mention how you'd measure and iterate on the system using A/B tests and latency percentiles.

1. High-Level Architecture

Describe the main components: request routing, feature retrieval, model inference, and response assembly. Mention technologies like gRPC, Kafka, and feature stores.

2. Latency Requirements

State typical latency budgets (e.g., p99 < 100ms) and how you ensure them through techniques like caching, batch inference, and model optimization.

3. Feature Freshness

Explain how you keep features up-to-date using streaming pipelines (e.g., Kafka, Flink) and online-offline consistency, while managing trade-offs with latency.

4. Trade-offs and Optimizations

Discuss specific trade-offs (e.g., precomputed vs. on-the-fly features) and optimizations like approximate nearest neighbors, quantization, and asynchronous logging.

5. Monitoring and Reliability

Cover how you monitor latency, feature freshness, and model performance, and implement fallbacks (e.g., default features, cached responses) to handle failures.

Key Points to Mention

  • Feature store (e.g., Michelangelo) for online-offline consistency
  • Streaming feature computation with Kafka/Flink for low-latency updates
  • Caching strategies (Redis, local cache) for frequently accessed features
  • Model serving optimizations (TensorFlow Serving, ONNX, quantization)
  • Latency budgets and percentile monitoring (p50, p95, p99)
  • Fallback mechanisms for stale features or high latency

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

Q8

How would you design the experimentation and monitoring setup for this system, and what failure modes would you watch for?

A/B Testing & ExperimentationRoot Cause Analysis
Author's notes

Standard A/B testing answer, talked about novelty effects and the need for longer experiment windows for ranking changes.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the system's goals and constraints, then outline a layered experimentation framework from offline evaluation to online A/B tests, and finally detail monitoring metrics and failure modes. Emphasize Uber's scale and the need for robust, automated detection and mitigation.

Pro tip: Tie your answer to Uber's specific challenges like real-time decisioning and marketplace dynamics, and mention how you'd use guardrail metrics to prevent long-term harm while iterating quickly.

1. Clarify System Goals and Constraints

Ask questions to understand the system's purpose, key metrics, and operational constraints (e.g., latency, scale, user impact). This ensures your design aligns with business and technical requirements.

2. Design Offline Evaluation

Propose offline experiments using historical data, counterfactual methods, and simulation to validate model changes before online deployment. Highlight metrics like precision, recall, or business KPIs.

3. Plan Online Experimentation

Outline A/B testing methodology: randomization unit, sample size, duration, and statistical tests. Include multi-armed bandits for adaptive allocation if appropriate, and discuss guardrail metrics.

4. Set Up Monitoring and Alerting

Define real-time monitoring for model performance, data quality, and system health. Specify alert thresholds and automated rollback or mitigation strategies.

5. Identify Failure Modes and Mitigations

Enumerate potential failure modes such as data drift, feedback loops, and metric gaming. For each, describe detection methods and mitigation plans.

Key Points to Mention

  • Use of guardrail metrics to monitor long-term health and prevent negative side effects.
  • Statistical power and sample size calculation to ensure valid experiment results.
  • Handling of network effects and interference in Uber's marketplace (e.g., rider-driver interactions).
  • Automated anomaly detection and root cause analysis for rapid incident response.
  • Consideration of feedback loops where model predictions influence future data.
  • Importance of logging and reproducibility for debugging and iterative improvement.

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