← Uber Interview Insights

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

SeniorPrefer not to say
Jun 2026

Summary

Uber MLE system design round, pretty deep dive into recommendation systems. The scope was broad enough that I kept second-guessing whether to go deeper on one area or keep moving. Left feeling like I covered the surface of everything and the core of nothing.

Questions Asked (7)

Q1

Design an end-to-end restaurant recommendation system, covering personalization on the home feed, search, and a 'near me' feature.

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

This is one of those questions where you think you know where to start and then realize 20 minutes in you've been talking about geo filtering for way too long.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and scale, then design a shared data and feature pipeline that feeds three surfaces: personalized home feed, search, and 'near me'. For each surface, describe candidate generation, ranking models, and how you'd evaluate and iterate, emphasizing trade-offs between latency, relevance, and business metrics.

Pro tip: Anchor your design around Uber's unique assets: real-time location, trip history, and delivery data. Show how you'd leverage these signals to create a differentiated experience, and proactively discuss cold-start and marketplace dynamics (e.g., restaurant availability, delivery times).

1. Clarify Requirements and Scale

Ask about user base, restaurant inventory, latency budgets, and business goals (e.g., conversion, retention). Define success metrics for each surface.

2. Design Shared Data and Feature Pipeline

Outline data sources (user interactions, restaurant attributes, location, context) and how to compute features in batch and real-time. Emphasize feature store and consistency across surfaces.

3. Architect Each Surface

For home feed: candidate generation (e.g., collaborative filtering, content-based) and ranking (e.g., DNN with contextual features). For search: query understanding, retrieval, and ranking. For 'near me': geospatial indexing and ranking with distance, availability, and personalization.

4. Address Trade-offs and Challenges

Discuss latency vs. model complexity, exploration vs. exploitation, cold-start for new users/restaurants, and how to handle real-time constraints (e.g., caching, precomputation).

5. Evaluation and Iteration

Propose offline metrics (NDCG, recall) and online A/B tests (CTR, conversion). Describe monitoring, feedback loops, and how to handle model updates.

Key Points to Mention

  • Two-stage retrieval and ranking architecture for scalability
  • Feature store for consistent features across training and serving
  • Geospatial indexing (e.g., geohash, S2) for 'near me' queries
  • Contextual bandits or reinforcement learning for exploration
  • Cold-start strategies using content-based and demographic features
  • Online evaluation with interleaving and A/B testing

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

Q2

How would you design the candidate generation stage, and what retrieval strategies would you use?

System DesignAlgorithms & Data StructuresTechnical Trade-offs
Author's notes

Talked through collaborative filtering, two-tower embeddings, and content tag matching.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the problem context (e.g., recommendation system, search ranking) and scale requirements. Then outline a multi-stage retrieval pipeline, describing each retrieval strategy, its trade-offs, and how to combine them. Finally, discuss evaluation metrics and iteration.

Pro tip: Emphasize the importance of balancing recall and latency in candidate generation, and mention how Uber's scale (e.g., millions of drivers/riders) influences design choices like approximate nearest neighbor search and distributed systems.

1. Clarify Requirements and Context

Ask questions to understand the problem domain (e.g., recommendations, search), scale (users, items), latency constraints, and business objectives. This ensures the design is tailored to the specific use case.

2. Outline the Candidate Generation Pipeline

Describe the high-level architecture: multiple retrieval sources (e.g., collaborative filtering, content-based, trending) that generate candidates, followed by a fusion/ranking stage. Mention the need for efficiency and scalability.

3. Detail Retrieval Strategies

Explain specific retrieval methods: matrix factorization for collaborative filtering, two-tower models for embedding-based retrieval, inverted indices for keyword search, and graph-based methods. Discuss their pros and cons.

4. Address Trade-offs and Implementation

Discuss trade-offs between recall and latency, the use of approximate nearest neighbor (ANN) libraries (e.g., FAISS, HNSW), and how to handle cold-start and diversity. Mention distributed serving and caching.

5. Evaluation and Iteration

Explain how to evaluate candidate generation: offline metrics (recall@k, hit rate) and online A/B testing. Describe how to iterate based on feedback and incorporate new data.

Key Points to Mention

  • Two-tower models for embedding-based retrieval
  • Approximate nearest neighbor (ANN) search (e.g., FAISS, HNSW) for scalability
  • Collaborative filtering and content-based filtering as complementary strategies
  • Trade-offs between recall and latency in candidate generation
  • Handling cold-start and ensuring diversity in candidates
  • Evaluation metrics: recall@k, hit rate, and online A/B testing

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

Q3

Walk me through your ranking model design, including what features you'd use and whether you'd go pointwise or pairwise.

System DesignTechnical Trade-offsData Modeling
Author's notes

Went with a learned model over user, restaurant, and context features.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the ranking problem context (e.g., Uber Eats search, ride matching) and define the objective. Then walk through a structured design: data and labels, feature engineering, model choice (pointwise vs. pairwise), training pipeline, and evaluation. Emphasize trade-offs and how you'd iterate based on business metrics.

Pro tip: Show awareness of Uber's two-sided marketplace: ranking affects not just user experience but also driver/restaurant supply and long-term ecosystem health. Mention how you'd incorporate business constraints (e.g., fairness, diversity) into the ranking objective.

1. Clarify the problem and objective

Ask about the specific ranking scenario (e.g., search, recommendations) and define the primary objective (e.g., CTR, conversion, rider wait time). Discuss how to translate business goals into a machine learning metric.

2. Data and label generation

Explain how to construct training data: what logs to use, how to define relevance labels (e.g., clicks, bookings, ratings), and how to handle biases (position bias, selection bias). Mention negative sampling and counterfactual logging.

3. Feature engineering

List key feature categories: user features (demographics, history), item features (restaurant/driver attributes), context features (time, location, device), and interaction features (user-item affinity). Highlight real-time features and embeddings.

4. Model choice: pointwise vs. pairwise

Compare pointwise (e.g., logistic regression, GBDT) and pairwise (e.g., RankNet, LambdaMART) approaches. Discuss when to use each: pointwise for simplicity and scalability, pairwise for better ranking performance when relative order matters. Mention listwise as an alternative.

5. Training, evaluation, and iteration

Describe the training pipeline (offline/online), evaluation metrics (NDCG, MRR, AUC), and online A/B testing. Explain how to monitor and iterate, including handling feedback loops and retraining frequency.

Key Points to Mention

  • Pointwise vs. pairwise vs. listwise trade-offs: pointwise is simpler and scales well, but pairwise optimizes ranking directly and often improves top-k metrics.
  • Feature engineering: user, item, context, and interaction features; importance of real-time features and embeddings for personalization.
  • Label generation and bias correction: using clicks/bookings as relevance, addressing position bias with inverse propensity scoring or counterfactual logging.
  • Model choices: GBDT (e.g., XGBoost) for pointwise, LambdaMART for pairwise; neural networks for complex interactions.
  • Evaluation: offline metrics like NDCG, online A/B tests, and business metrics (e.g., completion rate, rider wait time).
  • Uber-specific considerations: two-sided marketplace effects, supply-demand balance, and long-term user retention.

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

Q4

How would you design the feature store, and how do you handle freshness and consistency between online and offline environments?

System DesignData ModelingTechnical Trade-offs
Author's notes

Blanked a bit.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and scale, then propose a dual-store architecture with a unified feature definition layer. Explain how you'd handle freshness via streaming ingestion and consistency via point-in-time correctness and versioning.

Pro tip: Emphasize that consistency is not just about data equality but about semantic consistency—features must mean the same thing online and offline. Mention Uber's Michelangelo or Feast as real-world examples to show domain awareness.

1. Clarify Requirements and Scale

Ask about latency SLAs, feature types (batch vs. streaming), data volume, and consistency guarantees needed. This shows you tailor solutions to business needs.

2. Design the Architecture

Propose a dual-store setup: an offline store (e.g., Hive, BigQuery) for training and an online store (e.g., Redis, Cassandra) for serving. Include a feature registry for metadata and discovery.

3. Address Freshness

Use stream processing (e.g., Kafka, Flink) to update online features in near real-time. For offline, use batch jobs with incremental updates. Discuss trade-offs between latency and cost.

4. Ensure Consistency

Implement point-in-time correctness for offline training to avoid leakage. Use feature versioning and a unified transformation layer to ensure online and offline features are computed identically.

5. Monitor and Evolve

Set up monitoring for feature drift, freshness, and consistency. Plan for backfills and schema evolution. Discuss how to handle failures and rollbacks.

Key Points to Mention

  • Point-in-time correctness for offline training to prevent data leakage
  • Streaming ingestion for low-latency online features (e.g., Kafka, Flink)
  • Feature versioning and a central registry for discoverability and governance
  • Trade-offs between consistency, latency, and cost
  • Monitoring for feature drift and freshness SLAs
  • Backfill strategies and handling schema evolution

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

Q5

What does your serving architecture look like, and how do you hit sub-200ms p99 latency?

System DesignTechnical Trade-offs
Author's notes

ANN index for the embedding retrieval, caching at multiple layers, pre-computing candidate sets for common user clusters.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by describing the end-to-end serving architecture, emphasizing the separation of concerns between the model, feature store, and serving infrastructure. Then focus on the latency-critical path, explaining how you optimize each component (e.g., caching, batching, hardware acceleration) to achieve sub-200ms p99. Use concrete examples and metrics to demonstrate your experience.

Pro tip: Quantify the impact of each optimization (e.g., 'batching reduced p99 by 30%') and acknowledge trade-offs (e.g., batching increases latency for small requests). This shows you understand the nuances of production ML systems.

1. High-Level Architecture

Outline the main components: client, API gateway, feature service, model server, and any caching layers. Explain how they interact and where latency is introduced.

2. Latency Budget Breakdown

Allocate the 200ms budget across components (e.g., network, feature retrieval, inference, post-processing). This demonstrates a systematic approach to meeting the target.

3. Optimization Techniques

Detail specific techniques used at each stage: feature pre-computation, in-memory feature store, model quantization/pruning, hardware accelerators (GPU/TPU), and request batching.

4. Monitoring and Iteration

Describe how you monitor p99 latency in production (e.g., Prometheus, Grafana) and continuously identify and address bottlenecks through profiling and load testing.

5. Trade-offs and Alternatives

Discuss trade-offs made (e.g., accuracy vs. latency, cost vs. performance) and how you validated them. Mention any fallback strategies for extreme cases.

Key Points to Mention

  • Feature store with low-latency access (e.g., Redis, DynamoDB) and pre-computed features
  • Model optimization: quantization, pruning, distillation, and compilation (e.g., TensorRT, ONNX Runtime)
  • Hardware acceleration: GPUs, TPUs, or specialized inference chips (e.g., AWS Inferentia)
  • Request batching and micro-batching with careful timeout management
  • Caching strategies: model output caching, feature caching, and CDN for static assets
  • Load balancing, autoscaling, and canary deployments to maintain performance under varying load

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

Q6

How would you set up the feedback loop and define the signals you'd use to improve the model over time?

Product Analytics & MetricsA/B Testing & ExperimentationSystem Design
Author's notes

Clicks, reservations, dwell time, explicit ratings.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by framing the feedback loop as a continuous cycle: data collection, signal definition, model retraining, and evaluation. Emphasize that signals should be tied to business objectives and user behavior, and that the loop must be automated and monitored for drift. Conclude with how you'd validate improvements through online experiments.

Pro tip: At Uber, where real-time decisions and scale matter, highlight the importance of low-latency feedback and guardrail metrics to catch regressions quickly. Mention that you'd align signal definitions with cross-functional teams (product, data science) to ensure they reflect true user value.

1. Define Objectives and Success Metrics

Clarify the model's business goal (e.g., increase completed trips, reduce ETA error) and translate it into measurable online and offline metrics. Ensure these metrics are actionable and aligned with stakeholder expectations.

2. Identify and Instrument Signals

Select leading and lagging signals from user interactions, system logs, and business outcomes. Instrument data pipelines to capture these signals in real-time or near-real-time, ensuring high data quality and coverage.

3. Build the Feedback Loop

Design an automated pipeline that collects new data, computes signals, and triggers model retraining or fine-tuning at a cadence (e.g., daily, weekly). Include mechanisms for human-in-the-loop review for critical decisions.

4. Evaluate and Iterate

Use offline evaluation (e.g., holdout sets, counterfactual analysis) and online A/B tests to measure model improvements against guardrail metrics. Analyze results to refine signals and retraining strategies.

5. Monitor and Govern

Set up monitoring for data drift, model performance degradation, and feedback loop health. Establish governance for periodic reviews, rollback procedures, and updates to signal definitions as business needs evolve.

Key Points to Mention

  • Alignment of signals with business KPIs and user value (e.g., trip completion rate, rider wait time).
  • Use of both leading indicators (e.g., app opens, search queries) and lagging indicators (e.g., completed trips, ratings).
  • Automation of data collection, retraining, and deployment to reduce latency and manual effort.
  • Online experimentation (A/B testing) with guardrail metrics to validate improvements and catch regressions.
  • Monitoring for data drift, concept drift, and feedback loop biases (e.g., position bias, popularity bias).
  • Cross-functional collaboration with product, data science, and operations teams to define and refine signals.

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

Q7

How would you evaluate the system both offline and online?

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

NDCG and AUC offline, A/B test on conversion and engagement online.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying that offline evaluation uses historical data to validate model performance before deployment, while online evaluation uses live experiments like A/B tests to measure real-world impact. Then, describe a structured process: define metrics, run offline tests for rapid iteration, and finally conduct online tests to assess business and user metrics. Emphasize the importance of aligning offline and online results and iterating based on findings.

Pro tip: Highlight the importance of choosing the right offline metrics that correlate with online business metrics, and mention that at Uber, online evaluation often involves sophisticated experimentation platforms like A/B testing with guardrail metrics to ensure safety.

1. Define Evaluation Goals and Metrics

Identify the specific objectives of the model and select appropriate offline and online metrics that align with business goals, such as accuracy, AUC, or revenue lift.

2. Offline Evaluation

Use historical data to train and validate the model, employing techniques like cross-validation, holdout sets, and backtesting to estimate performance and catch issues early.

3. Online Evaluation Setup

Design and run controlled experiments (e.g., A/B tests) with proper randomization, sample size calculation, and guardrail metrics to measure the model's impact in production.

4. Analyze and Compare Results

Compare offline and online results to identify discrepancies, understand causal effects, and determine if the model meets success criteria.

5. Iterate and Monitor

Use insights from both evaluations to refine the model, and set up continuous monitoring to detect performance degradation or unexpected behavior post-deployment.

Key Points to Mention

  • Offline metrics: precision, recall, F1, AUC, RMSE, etc., and their limitations (e.g., not capturing user behavior).
  • Online metrics: click-through rate, conversion rate, revenue, user engagement, and guardrail metrics (e.g., latency, error rates).
  • A/B testing methodology: randomization, control/treatment groups, statistical significance, and avoiding pitfalls like peeking.
  • Causal inference: understanding that offline evaluation is correlational, while online experiments can establish causality.
  • Uber's experimentation culture: mention Uber's XP or experimentation platform, and the importance of scaling experiments.
  • Handling discrepancies: if offline results don't match online, investigate data drift, metric mismatch, or implementation issues.

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