← Uber Interview Insights

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

SeniorPrefer not to say
May 2026

Summary

Did a system design round at Uber for an MLE role, focused entirely on building a recommendation system for a food delivery app. Pretty deep dive, they really wanted to see how you'd handle scale and latency constraints together, not just one or the other.

Questions Asked (6)

Q1

Design a personalized recommendation system for a food delivery platform, covering homepage ranking of nearby restaurants and dishes.

System DesignTechnical Trade-offs
Author's notes

This is the kind of question where you can go in ten different directions and none of them feel wrong, which is actually worse than having one clear path.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the problem scope and business objectives, then outline a two-stage recommendation architecture (candidate generation and ranking) that handles both restaurants and dishes. Emphasize how you would leverage Uber's unique data (e.g., real-time supply/demand, delivery logistics) to personalize and optimize for business metrics like conversion and delivery time.

Pro tip: Highlight the importance of modeling delivery time and availability as first-class signals in ranking, since a perfect recommendation that arrives cold or late destroys user trust. Also, discuss how to handle the cold-start problem for new restaurants/dishes using content-based features and exploration strategies.

1. Clarify Requirements and Metrics

Ask questions to understand the platform's goals, user base, and constraints (e.g., real-time vs. batch, latency, business metrics like CTR, conversion, delivery time). Define success metrics and offline/online evaluation strategies.

2. Data and Feature Engineering

Identify key data sources: user behavior (orders, clicks, ratings), restaurant/dish attributes, contextual (time, location, weather), and real-time supply/demand. Discuss feature engineering for personalization, including user embeddings, item embeddings, and interaction features.

3. Model Architecture

Propose a two-stage system: candidate generation (e.g., using collaborative filtering, two-tower models, or geo-based retrieval) to narrow down thousands of options to hundreds, followed by a ranking model (e.g., deep learning with wide & deep, DLRM) to score and order the final list. Consider multi-task learning to optimize for multiple objectives (click, order, delivery time).

4. Handling Restaurants and Dishes

Explain how to jointly rank restaurants and dishes: either rank restaurants first then dishes within, or use a unified model with item type as a feature. Address challenges like dish availability, restaurant hours, and delivery radius.

5. Evaluation and Iteration

Describe offline evaluation (A/B testing, counterfactual evaluation) and online metrics. Discuss how to handle feedback loops, position bias, and cold-start. Mention monitoring and retraining pipelines.

Key Points to Mention

  • Two-stage architecture: candidate generation + ranking to balance scalability and accuracy.
  • Use of real-time features: current restaurant load, delivery ETA, and courier availability to adjust rankings.
  • Multi-objective optimization: balancing user preferences, business goals (e.g., promoting high-margin restaurants), and delivery efficiency.
  • Cold-start strategies: content-based features, exploration/exploitation (e.g., epsilon-greedy, Thompson sampling) for new items.
  • Contextual bandits or reinforcement learning for dynamic personalization and exploration.
  • Evaluation: offline metrics (NDCG, recall@k) and online A/B tests with guardrail metrics (delivery time, cancellation rate).

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

Q2

How would you incorporate real-time signals like recent searches, current cart contents, weather, and time of day into your recommendations?

System DesignTechnical Trade-offs
Author's notes

Liked this one.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by framing the problem as a real-time feature engineering and low-latency serving challenge, then propose a hybrid architecture that combines batch-trained models with online learning or streaming updates. Walk through how each signal (searches, cart, weather, time) is ingested, transformed into features, and used at inference time, while explicitly discussing trade-offs like latency, freshness, and cold-start.

Pro tip: Emphasize that not all signals deserve the same latency budget—prioritize session-based signals (cart, recent searches) for immediate updates and treat environmental signals (weather, time) as slower-changing context. Also mention the importance of feature versioning and consistency between training and serving to avoid training-serving skew.

1. Clarify requirements and constraints

Ask about latency SLAs, scale (QPS), and whether the system is for ride recommendations, food, or ads. Establish the need for real-time vs near-real-time processing.

2. Design data ingestion and feature pipeline

Describe streaming sources (Kafka, Flink) for searches and cart events, and external APIs for weather/time. Explain how to compute features like recency, frequency, and context embeddings.

3. Propose model architecture and serving

Suggest a two-tower or wide-and-deep model that combines batch-trained embeddings with real-time features. Discuss online learning or micro-batch updates for freshness.

4. Address trade-offs and failure modes

Cover latency vs accuracy, signal staleness, cold-start for new users, and fallback strategies when real-time signals are unavailable.

5. Evaluate and iterate

Mention offline metrics (AUC, NDCG) and online A/B tests, plus monitoring for feature drift and system health.

Key Points to Mention

  • Streaming vs batch processing (e.g., Kafka, Flink, Spark Streaming)
  • Feature store for consistency and low-latency retrieval
  • Online learning or incremental model updates
  • Contextual bandits for exploration-exploitation with real-time signals
  • Latency budgets and fallback mechanisms
  • Training-serving skew and feature versioning

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

Q3

How do you handle cold-start for both new users and newly onboarded restaurants?

Product Sense & IdeationTechnical Trade-offs
Author's notes

Blanked slightly on the restaurant side.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the two-sided cold-start problem: new users lack personalization data, and new restaurants lack engagement signals. Then propose a unified framework that leverages transfer learning, contextual bandits, and exploration strategies, while addressing marketplace dynamics like liquidity and fairness.

Pro tip: Emphasize that cold-start is not just a modeling problem but also a marketplace design problem—discuss how you'd balance exploration for new restaurants with user experience, and mention Uber's specific context (e.g., Uber Eats) to show product sense.

1. Define the problem and metrics

Clarify what cold-start means for each side: new users have no order history, new restaurants have no ratings or orders. Define success metrics like conversion rate, time-to-first-order, and restaurant retention.

2. Leverage transfer learning and side information

For new users, use demographic, geolocation, and device data to infer preferences; for new restaurants, use cuisine type, price range, location, and menu embeddings to predict appeal.

3. Design exploration strategies

Employ contextual bandits (e.g., Thompson sampling) to balance exploration of new restaurants with exploitation of known favorites, and use epsilon-greedy or UCB for new users to gather preference data quickly.

4. Address marketplace dynamics

Ensure new restaurants get sufficient exposure without harming user experience; consider throttled exploration, fairness constraints, and liquidity-aware ranking.

5. Iterate and evaluate

Set up A/B tests to measure long-term impact, monitor for feedback loops, and continuously update models as more data arrives.

Key Points to Mention

  • Transfer learning from similar users or restaurants (e.g., meta-learning, embeddings)
  • Contextual bandits for exploration-exploitation trade-off
  • Use of side information (demographics, cuisine, location) to bootstrap models
  • Marketplace liquidity and fairness considerations for new restaurants
  • Evaluation metrics beyond CTR, such as long-term retention and restaurant success
  • Uber's scale and real-time constraints (e.g., low-latency serving)

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

Q4

Walk me through how you'd set up A/B testing infrastructure and define guardrail metrics for this recommendation system.

A/B Testing & ExperimentationProduct Analytics & Metrics
Author's notes

Covered experiment randomization at the user level, talked about north-star metrics like order conversion and then guardrail metrics like cancellation rate and courier wait time.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by framing the problem around Uber's scale and the need for reliable, low-latency experimentation. Then walk through the end-to-end setup: randomization unit, assignment, logging, and analysis, while emphasizing guardrail metrics that protect user experience and system health. Finally, discuss how you'd iterate and validate the infrastructure itself.

Pro tip: Highlight the importance of pre-experiment power analysis and sequential testing to avoid peeking problems, and mention that guardrails should be monitored in real-time with automated kill switches to prevent user harm.

1. Define Experiment Scope and Randomization Unit

Clarify the goal (e.g., improve recommendation CTR) and choose the randomization unit (user, session, or request) based on interference and network effects. For Uber's marketplace, consider geo or time-based randomization if needed.

2. Design Assignment and Logging Infrastructure

Implement a scalable assignment service (e.g., using a hash of user ID) to ensure consistent bucketing. Set up logging to capture exposure, treatment, and outcome events with low latency and high fidelity.

3. Select Primary and Guardrail Metrics

Choose primary success metrics (e.g., CTR, conversion) and define guardrails (e.g., latency, error rates, user churn, fairness). Ensure guardrails are actionable and have clear thresholds for alerting.

4. Run Analysis and Monitor Real-Time

Use statistical tests (e.g., t-test, CUPED) to measure impact, and monitor guardrails in real-time with dashboards and alerts. Implement sequential testing or Bayesian methods to allow early stopping.

5. Validate and Iterate on Infrastructure

Conduct A/A tests to validate the system, and continuously refine assignment, logging, and analysis pipelines. Document learnings and automate where possible.

Key Points to Mention

  • Randomization unit choice and potential interference in a marketplace
  • Scalable assignment service with consistent hashing
  • Real-time logging and data pipeline for low-latency analysis
  • Guardrail metrics: latency, error rates, user engagement, fairness
  • Statistical methods: power analysis, sequential testing, CUPED
  • Automated kill switches and alerting for guardrail violations

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

Q5

What feedback loops and biases should you watch out for in a recommendation system like this, and how would you mitigate them?

A/B Testing & ExperimentationProduct Analytics & Metrics
Author's notes

Popularity bias and position bias, the classics.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by categorizing feedback loops into data, model, and user interaction types, then discuss biases like popularity and position bias. For each, propose mitigation strategies such as exploration, unbiased evaluation, and debiasing techniques, emphasizing Uber's scale and real-time constraints.

Pro tip: Highlight the trade-off between short-term metrics and long-term ecosystem health, and suggest using counterfactual or off-policy evaluation to measure long-term effects without deploying risky changes.

1. Identify feedback loops

Describe loops like user feedback (clicks reinforce recommendations), data collection (exposure bias), and model updates (feedback poisoning). Explain how they can amplify biases.

2. Recognize biases

List biases such as popularity bias, position bias, selection bias, and conformity bias. Explain how they manifest in recommendation systems.

3. Mitigation strategies

Propose techniques like exploration (epsilon-greedy, Thompson sampling), unbiased learning (inverse propensity scoring), and diversity constraints. Mention A/B testing with guardrail metrics.

4. Evaluation and monitoring

Suggest using off-policy evaluation, counterfactual logging, and long-term holdout groups to measure and monitor biases and loop effects.

5. Uber-specific considerations

Tie to Uber's context: real-time recommendations (e.g., Uber Eats), marketplace dynamics, and the need to balance rider/driver/courier experiences.

Key Points to Mention

  • Popularity bias and how it reduces diversity
  • Position bias in ranking and click models
  • Feedback loops from user interactions (e.g., clicks, ratings)
  • Exploration vs exploitation trade-off
  • Debiasing techniques like inverse propensity scoring
  • Long-term metrics and counterfactual evaluation

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

Q6

How would you ensure the system meets a sub-200ms p99 latency requirement at the scale of hundreds of millions of users?

System DesignTechnical Trade-offs
Author's notes

Talked through pre-computing candidate sets, caching, async feature fetching, and keeping the ranking model lightweight enough to run in single-digit milliseconds.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the workload characteristics (e.g., request types, read/write ratio, model inference vs. feature serving) and then propose a layered architecture that addresses latency at each tier: edge caching, efficient model serving, and asynchronous processing. Emphasize trade-offs between consistency, cost, and latency, and describe how you would measure and monitor p99 latency in production.

Pro tip: Quantify the impact of each optimization: e.g., 'Caching reduces p99 by X ms, but adds Y ms of staleness.' This shows you understand that latency improvements often come with trade-offs, and you can make data-driven decisions.

1. Clarify Requirements and Workload

Ask questions to understand the request mix (e.g., model inference, feature retrieval), traffic patterns, and consistency requirements. This ensures your design targets the right bottlenecks.

2. Design for Low Latency at Each Tier

Propose optimizations for client, edge, service, and data layers: CDN caching, request coalescing, model quantization, and in-memory feature stores. Explain how each reduces p99.

3. Address Scalability and Bottlenecks

Discuss horizontal scaling, sharding, and load balancing to handle hundreds of millions of users. Identify potential bottlenecks (e.g., hot keys, model inference latency) and mitigation strategies.

4. Implement Monitoring and Fallbacks

Describe how you would monitor p99 latency in real-time and set up alerts. Include fallback mechanisms (e.g., degraded responses, cached results) to maintain latency under load.

5. Iterate with Trade-off Analysis

Summarize key trade-offs (cost vs. latency, consistency vs. availability) and propose a plan to continuously optimize based on metrics and A/B testing.

Key Points to Mention

  • Use of caching layers (CDN, Redis, local caches) to reduce round trips and backend load.
  • Model optimization techniques: quantization, pruning, distillation, and hardware acceleration (GPU/TPU) for inference.
  • Asynchronous and parallel processing: batching, pipelining, and non-blocking I/O to improve throughput and reduce latency.
  • Geographic distribution and edge computing to bring computation closer to users.
  • Load balancing and autoscaling to handle traffic spikes and maintain p99 under varying load.
  • Monitoring and observability: distributed tracing, percentile metrics, and SLOs to detect and address latency regressions.

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