← Back to Directory

Uber interview notes, page 58 of 61

Large Enterprises

Most of these Uber write-ups come from Software Engineers (407), then Data Scientists (78) and Machine Learning Engineers (65). The most reported rounds are the technical phone screen (387), the system design round (95), the product sense round (46) and the onsite coding round (23).

609 interview notes · updated Aug 2026

Uber·Data Scientist·Technical Phone Screen

Jul 2026
Uber DS interview that was basically one massive experiment design question broken into six parts. Felt like a take-home that someone decided to ask live instead. The depth required was real, this wasn't a 'describe an A/B test' kind of thing.
  • You're running a weekly email campaign to 10 million users. How would you set up the randomization unit and any stratification blocks, and how do you prevent contamination from resends or overlap with other campaigns that same week?
  • Walk through the sample size calculation for detecting a +0.18 percentage point absolute lift on a 3% baseline CTR, using 80% power and a two-sided alpha of 0.05. State your assumptions and show the formula.
  • Define a primary success metric and at least two guardrail metrics for this email experiment. Be precise about numerators, denominators, and time windows. Why CTR over open rate?
  • Leadership wants to peek at results daily and stop the experiment early if there's harm. How do you design a valid sequential monitoring plan that still controls Type I error?
  • After 48 hours into the experiment, what diagnostics would you run to catch randomization failures, instrumentation delays, or traffic mix shifts like weekend effects? How do you fix issues without biasing the estimates?
  • An interim look shows negative CTR lift but higher open rates. Give at least three plausible explanations and explain what you'd do next. Also cover how you'd handle intention-to-treat versus per-protocol analysis and what you'd tell stakeholders.

“I went with user-level randomization pretty quickly but fumbled a bit on the contamination angle.”

View Post

Uber·Backend Engineer·Technical Phone Screen

Jul 2026
Uber backend interview, one coding question that was basically a BFS problem dressed up with a matrix of letters and dashes. Passed and moving to HR follow-ups, which I honestly didn't expect to feel so relieved about.
  • You're given a matrix with only dashes and letters. Replace each dash with the nearest adjacent letter (distance 1). If multiple letters are equally close, you can pick any. Follow-up: if there's a tie, use the alphabetically smallest letter.

“Recognized it pretty fast as a BFS thing, similar to the walls and gates problem.”

View Post

Uber·Backend Engineer·Technical Phone Screen

Jul 2026
Uber backend interview with a combinatorics problem that looks deceptively simple but has some real math hiding underneath. The kind of question where you either see the pattern or you're just staring at examples hoping something clicks.
  • You have a 1D array of houses where some are initially infected. Each day, an infected house can spread to one neighbor. How many distinct orderings exist in which all houses eventually become infected?

“The setup sounds like BFS/simulation at first and I think most people go down that path before realizing it's a counting problem.”

View Post

Uber·Software Engineer·Technical Phone Screen

Jul 2026
Uber SWE interview with a grid-based coding problem that looked straightforward until I actually had to think about the precomputation strategy. Not the hardest problem I've seen but definitely requires you to slow down and think before coding.
  • You're given a 2D grid where each cell is either empty, a robot, or an obstacle. Given a target tuple of four distances [left, up, right, down] representing how far a robot sits from the nearest obstacle in each direction, return the coordinates of all robots in the grid whose distances match that tuple exactly. Note that other robots do not count as obstacles.

“My first instinct was to just BFS from every robot cell and call it a day.”

View Post

Uber·Software Engineer·Onsite - System Design / Architecture

Jul 2026
Uber onsite system design round focused on a top-K popular items service, the kind of prompt that keeps showing up across Uber Eats and search teams. Dense round with a lot of follow-ups on windowing, hot keys, and API design.
  • Design a service that returns the top-K most popular items over a rolling time window, supporting per-restaurant, per-city, and global query slices at over a million events per second.
  • How would you implement the sliding window mechanics efficiently without scanning raw events on every query?
  • How do you handle a 'hot key' situation where a viral item in one city overwhelms a single shard?
  • Walk me through the read API design for serving top-K results, including how you'd handle items that go out of stock or get removed mid-window.
  • When the batch layer finishes recomputing and writes results back, how do you prevent it from overwriting fresher streaming state in Redis?
  • How would you handle deduplication, bot filtering, and weighted engagement signals in the popularity calculation?

“This is the core prompt and it's deceptively broad.”

View Post

Uber·Software Engineer·Onsite - System Design / Architecture

Jul 2026
System design round at Uber for a software engineer role. The prompt was a view-tracking system for an e-commerce product page, which sounds straightforward but ends up touching a lot of surface area fast.
  • Design a view-tracking system for a large e-commerce product detail page, covering client and server-side event collection, APIs, view counting, high write volume, storage, bot filtering, and privacy.

“I started with the event schema and API shape, which felt safe, but I spent way too long there and had to rush through the hard parts.”

View Post

Uber·Machine Learning Engineer·Technical Phone Screen

Jul 2026
Uber ML engineer interview that was basically a deep dive into logistic regression, not just the implementation but all the surrounding theory. More thorough than I expected for a single question.
  • Implement logistic regression from scratch for binary classification, including the sigmoid model, cross-entropy loss, gradient descent training, and both predict_proba and predict methods.
  • Why use cross-entropy loss instead of mean squared error for classification tasks?
  • How would you extend binary logistic regression to handle multi-class classification, and how would you add L2 regularization?
  • Walk through how you'd evaluate a binary classifier, and explain how changing the decision threshold affects your metrics.

“The coding part was fine.”

View Post

Uber·Software Engineer·Technical Phone Screen

Jul 2026
Uber SWE interview with a calendar interval problem. Pretty standard algorithmic question but the half-open interval detail is the kind of thing that'll trip you up if you're not careful.
  • Design and implement a calendar class that books time intervals [start, end), rejecting any new booking that overlaps with an existing one. Return true if the booking succeeds, false otherwise.

“The half-open interval part is where I slipped up initially.”

View Post

Uber·Machine Learning Engineer·Technical Phone Screen

Jul 2026
Uber ML engineer interview that was basically one big coding and design problem: build a next-word predictor from scratch, no libraries allowed. Felt like a reasonable test of fundamentals but the scope kept expanding as the conversation went on.
  • Build a probabilistic next-word generator from scratch without any NLP or ML libraries. Given a text corpus, implement tokenization, build n-gram counts, convert them to probabilities, handle unseen contexts, and sample from the resulting distribution.
  • What are the trade-offs between bigram, trigram, and higher-order n-gram models, and how would you extend this kind of system toward a neural approach?

“This started fine.”

View Post

Uber·Software Engineer·Technical Phone Screen

Jul 2026
Uber coding round for a Software Engineer role, one problem the whole session, a Jump Game variant that looked familiar until it wasn't.
  • You start at index 0 of an array of length n. At each step you can either move exactly 1 position forward, or jump forward by a prime number that ends in the digit 3 (like 3, 13, 23, 43, and so on). Using dynamic programming, determine whether the last index is reachable and find the minimum number of jumps to get there.

“I recognized Jump Game pretty fast and started talking through a standard BFS/DP approach.”

View Post