← Uber Interview Insights

Uber·Machine Learning Engineer·Technical Phone Screen·Senior

Senior
Jun 2026

Summary

ML Engineer interview at Uber focused almost entirely on inference optimization and ML infra depth. They started with modeling fundamentals to warm up, then went hard on concrete work you've done, specific techniques, and measurable results. Pretty technical throughout.

Questions Asked (6)

Q1

Walk me through your hands-on experience with ML inference optimization. What models or workloads have you worked on and what techniques did you apply?

System DesignTechnical Trade-offs
Author's notes

This was basically the whole interview compressed into one question.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start with a high-level summary of your inference optimization experience, then dive into 1-2 specific projects where you optimized models for production. For each, describe the workload, the optimization techniques applied, and quantify the impact on latency, throughput, or cost.

Pro tip: Emphasize trade-offs: e.g., how quantization improved latency but required accuracy checks, or how batching increased throughput but added tail latency. This shows you understand real-world constraints beyond just applying techniques.

1. Set the context

Briefly describe the model, workload characteristics (e.g., real-time vs. batch, request rate, latency SLA), and the inference platform (e.g., TensorFlow Serving, TorchServe, custom).

2. Identify bottlenecks

Explain how you profiled the inference pipeline to find bottlenecks, such as compute-bound layers, memory bandwidth, or I/O overhead.

3. Apply optimization techniques

Detail the specific techniques you used, such as quantization, pruning, knowledge distillation, operator fusion, or hardware-specific optimizations (e.g., TensorRT, OpenVINO).

4. Measure and iterate

Describe how you measured improvements (e.g., latency percentiles, throughput, cost per inference) and iterated on the optimizations to balance accuracy and performance.

5. Summarize impact and learnings

Conclude with the overall impact (e.g., reduced latency by X%, increased throughput by Y%) and key takeaways or lessons learned.

Key Points to Mention

  • Model quantization (e.g., FP16, INT8) and its impact on latency and accuracy
  • Batching strategies (dynamic batching, micro-batching) and trade-offs with tail latency
  • Hardware acceleration (GPUs, TPUs, inference accelerators like NVIDIA TensorRT)
  • Graph optimizations (operator fusion, constant folding, kernel optimization)
  • Caching and precomputation for repeated requests
  • Monitoring and A/B testing to ensure production performance

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

Q2

What bottlenecks did you identify in your inference pipeline, and how did you measure them?

Root Cause AnalysisTechnical Trade-offs
Author's notes

They really wanted to know if I was actually measuring or just guessing.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by describing the inference pipeline and the specific bottleneck you identified, then explain the measurement methodology you used to diagnose it. Emphasize a data-driven approach: how you instrumented the system, collected metrics, and validated the bottleneck before optimizing.

Pro tip: Quantify the impact of the bottleneck (e.g., latency, throughput, cost) and how your measurement led to a targeted fix. Mention trade-offs you considered, showing you understand that optimizing one part can shift the bottleneck elsewhere.

1. Describe the inference pipeline

Briefly outline the pipeline stages (e.g., preprocessing, model inference, postprocessing) and the scale (QPS, latency requirements) to set context.

2. Identify the bottleneck

State the specific bottleneck you found (e.g., GPU underutilization, CPU preprocessing, network I/O) and its impact on key metrics.

3. Explain measurement methodology

Detail how you measured it: profiling tools (e.g., PyTorch Profiler, Nsight), instrumentation (e.g., Prometheus, OpenTelemetry), and metrics (latency percentiles, throughput, resource utilization).

4. Validate and prioritize

Describe how you confirmed the bottleneck (e.g., A/B tests, load tests) and prioritized it based on impact and effort.

5. Discuss resolution and trade-offs

Summarize the fix (e.g., batching, model quantization, caching) and any trade-offs (e.g., accuracy vs. latency) and results.

Key Points to Mention

  • Specific profiling tools used (e.g., PyTorch Profiler, TensorFlow Profiler, Nsight Systems)
  • Metrics measured (e.g., p99 latency, throughput, GPU utilization, CPU usage)
  • Instrumentation and monitoring setup (e.g., Prometheus, Grafana, custom logging)
  • Load testing and stress testing to reproduce the bottleneck
  • Trade-offs considered (e.g., latency vs. throughput, cost vs. performance)
  • Quantified improvement after optimization (e.g., reduced latency by X%, increased throughput by Y%)

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

Q3

What end-to-end latency and throughput improvements did you deliver, and what were the trade-offs involved?

Technical Trade-offsProduct Analytics & Metrics
Author's notes

Numbers question.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Choose a specific ML system you improved, quantify the latency and throughput gains with concrete metrics, and clearly explain the trade-offs you made (e.g., accuracy vs. speed, cost vs. performance). Structure your answer to show the problem, your actions, the measurable impact, and the lessons learned.

Pro tip: Uber values real-time ML at massive scale, so emphasize how your improvements impacted user experience or business metrics (e.g., reduced ETA errors, increased trip matches). Also, be honest about trade-offs—interviewers respect candidates who acknowledge downsides and explain how they mitigated them.

1. Set the Context

Briefly describe the ML system, its purpose, and the baseline latency/throughput metrics before your work. Mention scale (e.g., QPS, data volume) to highlight the challenge.

2. State the Goal and Constraints

Explain what you aimed to improve (e.g., reduce p99 latency by 50%, double throughput) and any constraints like model accuracy, cost, or infrastructure limits.

3. Describe Your Approach

Outline the technical changes you made (e.g., model quantization, caching, batching, hardware upgrades, pipeline optimization) and why you chose them.

4. Quantify the Impact

Provide before-and-after metrics for latency (p50, p99) and throughput (QPS), and tie them to business outcomes (e.g., faster predictions, cost savings).

5. Discuss Trade-offs and Learnings

Explain the trade-offs (e.g., slight accuracy drop, increased complexity) and how you balanced them. Share what you learned and how you'd approach it differently.

Key Points to Mention

  • Specific latency metrics (e.g., p99 reduced from 200ms to 80ms) and throughput gains (e.g., from 1K to 5K QPS).
  • Trade-offs such as model accuracy vs. speed, cost vs. performance, or complexity vs. maintainability.
  • Technical optimizations like model pruning, quantization, distillation, or infrastructure changes (e.g., GPU acceleration, caching).
  • Business impact: how improvements affected user experience, revenue, or operational efficiency.
  • Collaboration with cross-functional teams (e.g., infra, product) to implement changes.
  • Lessons learned and how you would apply them to future projects.

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

Q4

How does your ML optimization work intersect with infrastructure concerns like scheduling, autoscaling, and accelerator selection?

System DesignTechnical Trade-offs
Author's notes

Surprised me a little.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Frame your answer around the co-design of ML optimization and infrastructure, emphasizing that model performance goals must be balanced with resource efficiency and system constraints. Use a concrete example from your experience to illustrate how you navigated trade-offs between scheduling, autoscaling, and accelerator selection. Highlight collaboration with infrastructure teams and the metrics you used to drive decisions.

Pro tip: Show that you understand the cost implications of ML workloads at scale—mention how you quantify the dollar impact of your optimization choices, as Uber is highly focused on unit economics. Also, emphasize that you design for failure and heterogeneity, not just peak performance.

1. Clarify the optimization objective

Start by defining what you are optimizing for—e.g., latency, throughput, cost, or model accuracy—and how it ties to business goals. This sets the context for infrastructure trade-offs.

2. Map infrastructure constraints

Discuss how scheduling policies (e.g., gang scheduling, preemption), autoscaling triggers (e.g., queue depth, latency SLOs), and accelerator types (GPU/CPU/TPU) impose constraints on your optimization space.

3. Describe the co-design process

Explain how you iteratively adjust model architecture, training/inference parameters, and infrastructure configurations together. For example, using mixed precision to fit larger batches on GPUs or adapting batch size to autoscaling behavior.

4. Quantify trade-offs and validate

Share how you measure the impact of changes—e.g., A/B tests, cost per prediction, resource utilization—and validate that optimizations hold under production traffic patterns.

5. Operationalize and iterate

Describe how you productionize the solution, monitor for drift, and continuously refine based on feedback from infrastructure telemetry and business metrics.

Key Points to Mention

  • Scheduling: gang scheduling for distributed training, preemption handling, and priority classes to balance latency-sensitive and batch workloads.
  • Autoscaling: using custom metrics (e.g., GPU utilization, queue wait time) to scale inference services, and the trade-off between cold starts and cost.
  • Accelerator selection: choosing between GPU, CPU, or TPU based on model characteristics, cost, and availability; leveraging heterogeneous clusters.
  • Cost optimization: techniques like spot instances, right-sizing, and model quantization to reduce infrastructure spend.
  • Collaboration: working with infrastructure teams to influence scheduler features or autoscaler policies based on ML workload patterns.
  • Metrics: defining and tracking end-to-end metrics such as cost per inference, p99 latency, and resource utilization to guide decisions.

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

Q5

Which serving stacks have you worked with, like vLLM, TensorRT-LLM, or Triton, and what drove your choice between them?

Technical Trade-offsSystem Design
Author's notes

Had used two of the three so the comparison came naturally.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by listing the serving stacks you've used, then for each, explain the specific project context and the trade-offs that led to your choice. Emphasize how you evaluated factors like latency, throughput, hardware compatibility, and ease of integration, and conclude with lessons learned that would apply to Uber's scale.

Pro tip: Quantify the impact of your choices—e.g., 'vLLM reduced p99 latency by 40% compared to our previous solution'—and be honest about limitations you encountered, showing you understand real-world constraints.

1. List your serving stacks

Briefly name the stacks you've worked with (e.g., vLLM, TensorRT-LLM, Triton) and the scale of deployments (e.g., number of models, QPS).

2. Describe the project context

For each stack, explain the use case: model types, latency/throughput requirements, hardware (GPU/CPU), and team constraints.

3. Explain the decision drivers

Detail why you chose one stack over others, focusing on trade-offs like performance, ease of use, ecosystem support, and cost.

4. Share outcomes and metrics

Quantify the results: improvements in latency, throughput, cost savings, or developer productivity.

5. Relate to Uber's needs

Connect your experience to Uber's scale and challenges, showing how you'd evaluate serving stacks for their ML infrastructure.

Key Points to Mention

  • Latency vs. throughput trade-offs and how they influenced your choice
  • Hardware compatibility (e.g., NVIDIA GPUs, specific architectures like Ampere/Hopper)
  • Ease of integration with existing ML pipelines and monitoring tools
  • Community support, documentation, and long-term maintenance
  • Cost implications (e.g., GPU utilization, licensing)
  • Scalability and reliability under high load

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

Q6

What are the fundamentals of how a transformer model runs at inference time, and where are the common performance failure points?

Technical Trade-offsAlgorithms & Data Structures
Author's notes

Warmup question but they weren't just looking for a textbook answer.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by outlining the two-phase inference process: prefill (processing the input prompt in parallel) and decode (generating tokens autoregressively). Then, map each phase to its computational bottlenecks and memory access patterns, highlighting common failure points like KV cache growth and memory bandwidth limits. Conclude with practical optimizations used in production, such as batching and quantization.

Pro tip: Emphasize that inference performance is often memory-bandwidth-bound rather than compute-bound, especially during decoding. Mentioning this trade-off shows you understand real-world deployment constraints beyond theoretical FLOPs.

1. Describe the two-phase inference process

Explain that inference consists of prefill (processing the entire input prompt in parallel) and decode (generating one token at a time autoregressively). Note that prefill is compute-bound while decode is memory-bandwidth-bound.

2. Detail the transformer forward pass

Walk through the key operations: embedding lookup, multi-head self-attention (with KV caching), feed-forward networks, and layer normalization. Highlight that during decode, each new token attends to all previous tokens via the KV cache.

3. Identify performance bottlenecks

Discuss how KV cache size grows linearly with sequence length and batch size, causing memory pressure. Explain that decoding is memory-bound due to repeated loading of model weights and KV cache, leading to low GPU utilization.

4. Discuss common failure points and mitigations

Cover issues like out-of-memory errors from large KV caches, latency spikes with long sequences, and throughput degradation under high batch sizes. Mention optimizations: KV cache quantization, paged attention, continuous batching, and speculative decoding.

5. Relate to production considerations

Tie the discussion to real-world deployment: trade-offs between latency and throughput, hardware selection (GPU vs. CPU), and the importance of profiling to identify bottlenecks. Mention that Uber-scale systems require efficient serving frameworks.

Key Points to Mention

  • Prefill vs. decode phases and their differing computational characteristics
  • KV cache mechanics and its impact on memory and latency
  • Memory bandwidth as the primary bottleneck during autoregressive decoding
  • Common failure points: OOM from KV cache, latency spikes, throughput collapse
  • Optimization techniques: paged attention, continuous batching, quantization, speculative decoding
  • Trade-offs between latency and throughput in production serving

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