← Uber Interview Insights

Uber·Data Scientist·Onsite - System Design / Architecture·Senior

SeniorPrefer not to say
May 2026

Summary

Uber DS interview that was basically one long system design session on recommendation systems. They wanted the full stack, not just the modeling bits, and pushed back whenever an answer felt too textbook.

Questions Asked (5)

Q1

Design an end-to-end recommendation system for a feed, e-commerce, or short-video product. Walk through the full design from product goals to serving infrastructure.

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

This is a beast of a question and I underestimated how much they'd push on the 'why' behind every choice.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the product context and business objectives, then walk through the ML system design in layers: data, features, models, and serving. Emphasize trade-offs, metrics, and how you would iterate based on feedback.

Pro tip: At Uber, tie your design to real-time constraints and marketplace dynamics—show you understand that recommendations must balance multiple stakeholders (riders, drivers, eaters, restaurants) and that latency and freshness are critical.

1. Clarify Product Goals & Metrics

Ask questions to understand the product (e.g., Uber Eats feed, Uber rider home screen) and define success metrics like CTR, conversion, or retention. Align the design with business objectives such as increasing orders or reducing ETA.

2. Data & Feature Pipeline

Outline data sources (user interactions, item metadata, context) and how to build features (user, item, context) in batch and real-time. Discuss handling of implicit feedback and cold-start.

3. Modeling Approach

Propose a multi-stage architecture: candidate generation (e.g., two-tower, ALS) followed by ranking (e.g., GBDT, deep learning). Explain how to incorporate business rules and diversity.

4. Serving & Infrastructure

Describe the serving stack: offline training, online inference with low latency, caching, and A/B testing. Discuss how to handle real-time updates and scale.

5. Evaluation & Iteration

Define offline metrics (e.g., recall@k, NDCG) and online metrics (CTR, conversion). Explain how to run experiments, monitor, and iterate based on feedback.

Key Points to Mention

  • Two-stage architecture: candidate generation + ranking
  • Real-time feature serving and low-latency inference
  • Handling cold-start and exploration/exploitation
  • Business metrics vs. ML metrics and trade-offs
  • A/B testing and online evaluation
  • Scalability and fault tolerance in serving

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

Q2

What data sources and labeling strategies would you use, and how do you handle biases in the training data?

Data ModelingTechnical Trade-offs
Author's notes

Came up as a follow-up but felt like its own question.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by outlining the data sources relevant to Uber's business, such as trip data, GPS logs, and user feedback, and then discuss labeling strategies like manual annotation, weak supervision, and active learning. Emphasize a systematic approach to bias detection and mitigation, including fairness metrics and debiasing techniques, and tie it back to business impact and ethical considerations.

Pro tip: Highlight the importance of continuous monitoring and feedback loops in production to catch biases that emerge over time, and mention how you would collaborate with cross-functional teams like legal and product to define fairness constraints.

1. Identify relevant data sources

List internal sources like trip records, driver and rider app events, and external sources like weather or traffic data, considering volume, velocity, and variety.

2. Choose labeling strategies

Discuss trade-offs between manual labeling, semi-supervised techniques, and leveraging implicit feedback (e.g., ratings) to balance cost, quality, and scalability.

3. Detect biases in training data

Explain methods to identify biases, such as analyzing representation across geographies, demographics, and time, and using fairness metrics like demographic parity.

4. Mitigate biases

Describe techniques like reweighting, resampling, or adversarial debiasing, and how to validate their effectiveness without harming model performance.

5. Monitor and iterate

Emphasize setting up monitoring dashboards and feedback loops to track bias metrics post-deployment and retrain models as needed.

Key Points to Mention

  • Uber-specific data sources: trip data, GPS traces, driver/rider ratings, support tickets, and external datasets like weather and traffic.
  • Labeling strategies: manual annotation, weak supervision, active learning, and using implicit signals (e.g., completed trips) as labels.
  • Bias types: selection bias, label bias, and historical bias, with examples like underrepresentation of certain regions or times.
  • Fairness metrics: demographic parity, equal opportunity, and disparate impact, and how to choose based on context.
  • Debiasing techniques: pre-processing (reweighting), in-processing (adversarial), and post-processing (threshold adjustment).
  • Ethical and business considerations: compliance with regulations, user trust, and long-term model reliability.

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

Q3

How would you structure the two-stage retrieval and ranking pipeline, and what are the trade-offs between different approaches at each stage?

System DesignTechnical Trade-offsAlgorithms & Data Structures
Author's notes

This is where I felt most comfortable.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the problem context and requirements (e.g., scale, latency, relevance metrics). Then describe a two-stage pipeline: a fast candidate generation stage (e.g., using ANN or matrix factorization) followed by a more accurate ranking stage (e.g., GBDT or deep model). Finally, discuss trade-offs at each stage, such as recall vs. precision, latency vs. accuracy, and complexity vs. maintainability.

Pro tip: Emphasize that the two-stage design is a trade-off between efficiency and effectiveness, and that the choice of algorithms depends on business metrics (e.g., Uber's need for real-time ETAs and personalization). Mention how you would evaluate and iterate on each stage separately.

1. Clarify Requirements and Constraints

Ask about scale (users, items), latency requirements, and key metrics (e.g., CTR, conversion). This sets the stage for justified design choices.

2. Design Candidate Generation (Stage 1)

Propose methods like ANN, matrix factorization, or heuristic rules to quickly retrieve a few hundred candidates from millions. Discuss trade-offs: recall vs. speed, and simplicity vs. personalization.

3. Design Ranking (Stage 2)

Describe using more complex models (e.g., GBDT, DNN) to score and rank the candidates. Trade-offs: accuracy vs. latency, feature richness vs. inference cost, and model complexity vs. interpretability.

4. Discuss Integration and Evaluation

Explain how the stages connect (e.g., candidate set size, feature consistency) and how to evaluate end-to-end (offline metrics, online A/B tests). Mention iterative improvements.

5. Summarize Trade-offs and Recommendations

Conclude with a balanced view: e.g., for Uber, prioritize low-latency candidate generation and a ranking model that balances accuracy with real-time constraints.

Key Points to Mention

  • Candidate generation methods: ANN (e.g., FAISS), matrix factorization, or rule-based filtering.
  • Ranking models: GBDT (e.g., XGBoost), deep neural networks, or learning-to-rank.
  • Trade-offs: recall vs. precision, latency vs. accuracy, model complexity vs. maintainability.
  • Evaluation metrics: offline (NDCG, recall@k) and online (CTR, conversion rate).
  • Scalability considerations: distributed systems, caching, and real-time inference.
  • Uber-specific context: real-time ETAs, geospatial data, and personalization for riders/drivers.

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

Q4

How would you handle serving at scale, including latency constraints, caching, and embedding index choices?

System DesignTechnical Trade-offs
Author's notes

Talked through Faiss vs ScaNN, pre-computed embeddings cached for users, latency budget split across retrieval and ranking.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the scale (QPS, latency SLA, data volume) and the use case (e.g., real-time recommendations, search). Then propose a layered architecture: a fast online serving layer with caching and an approximate nearest neighbor (ANN) index, supported by offline batch pipelines for index building and updates. Discuss trade-offs between latency, accuracy, cost, and freshness, and justify your choices with Uber-specific examples like Michelangelo or Horovod.

Pro tip: Emphasize that at Uber's scale, you must design for failure and degradation—e.g., fallback to a simpler model or cached results if the ANN index is slow or unavailable. Also, mention that you'd measure p99 latency, not just average, and continuously monitor index recall and staleness.

1. Clarify requirements and constraints

Ask about expected QPS, latency SLA (e.g., p99 < 100ms), data size, update frequency, and accuracy needs. This scopes the problem and shows you avoid premature optimization.

2. Design the serving architecture

Propose a multi-tier system: a load balancer, stateless model servers, a feature store for low-latency feature retrieval, and a caching layer (e.g., Redis) for frequent queries. Discuss horizontal scaling and autoscaling.

3. Choose and tune the embedding index

Compare ANN algorithms (HNSW, IVF, PQ) on recall, latency, memory, and build time. Explain how you'd shard the index across nodes and handle updates (e.g., periodic rebuilds vs. incremental).

4. Implement caching and fallbacks

Describe caching strategies: exact-match cache for repeated queries, semantic cache for similar embeddings, and precomputed results for hot items. Include fallback to a simpler model or stale cache if the index is slow.

5. Monitor, evaluate, and iterate

Define metrics: latency percentiles, cache hit rate, index recall, and business KPIs. Set up A/B tests and canary deployments to validate changes without regressions.

Key Points to Mention

  • Latency constraints: p99 vs. average, tail latency mitigation (hedged requests, timeouts)
  • Caching strategies: exact-match, semantic, precomputed, and cache invalidation policies
  • Embedding index choices: HNSW vs. IVF vs. PQ, trade-offs in recall, latency, memory, and build time
  • Sharding and replication of the index for scalability and fault tolerance
  • Fallback mechanisms: degraded mode with simpler model or cached results
  • Monitoring and evaluation: recall, staleness, cache hit rate, and business metrics

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

Q5

How would you monitor the system post-launch and decide when to retrain?

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

Short answer: I said track prediction score distribution over time, monitor feature drift, and set up alerts on business metrics diverging from model scores.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by outlining a comprehensive monitoring system that tracks both model performance and business metrics in real-time, with automated alerts for anomalies. Then, describe a data-driven retraining strategy that balances model degradation, business impact, and operational costs, using statistical tests to decide when to retrain.

Pro tip: Emphasize the importance of setting up a feedback loop with product teams to capture ground truth labels and business context, as this is often overlooked but critical for timely retraining. Also, mention the trade-off between retraining frequency and computational cost, showing you understand the operational constraints.

1. Define Monitoring Metrics

Identify key model performance metrics (e.g., AUC, RMSE) and business metrics (e.g., conversion rate, revenue per user) to track continuously. Establish baselines and thresholds for alerts.

2. Implement Monitoring Infrastructure

Set up dashboards and automated alerts using tools like Prometheus, Grafana, or internal systems. Ensure real-time data pipelines and logging for model inputs, outputs, and performance.

3. Detect Performance Degradation

Use statistical process control, drift detection (e.g., PSI, KL divergence), and A/B tests to identify when model performance deviates significantly from baseline.

4. Evaluate Retraining Triggers

Define triggers such as performance drop below threshold, significant data drift, or scheduled intervals. Assess business impact and cost-benefit of retraining.

5. Execute and Validate Retraining

Retrain model with updated data, validate offline, and deploy via A/B test to confirm improvement before full rollout. Monitor post-retraining performance.

Key Points to Mention

  • Real-time monitoring of model performance and business KPIs with automated alerts
  • Data drift detection techniques (e.g., population stability index, KL divergence)
  • A/B testing framework to validate retrained models before full deployment
  • Feedback loops for ground truth labels and business context
  • Cost-benefit analysis of retraining frequency vs. performance gains
  • Scheduled retraining vs. event-driven retraining based on triggers

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