← Back to Directory

Uber interview notes, page 30 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·Software Engineer·Technical Phone Screen

May 2026
Uber SWE coding round, two algorithmic questions back to back. Both had a binary search / DP flavor which I wasn't fully warmed up for. Manageable but not easy.
  • You have an array of vaults, each holding some positive integer amount, and a fixed number of hours h. Each hour you can work on only one vault and remove at most k units from it. What is the minimum integer k that lets you empty all vaults within h hours? Walk through your algorithm and its time complexity.
  • Given a set of distinct positive integers and a target value, can you determine whether any subset sums exactly to the target? Describe the algorithm, its complexity, and how you'd reconstruct an actual valid subset if one exists.

“Classic binary search on the answer, basically the same shape as the 'eating bananas' problem.”

View Post

Uber·Software Engineer·Technical Phone Screen

May 2026
Uber coding screen for a software engineer role, basically one graph problem the whole time. The question was a reskin of a classic BFS problem, which I'd seen before in a different form, so that helped.
  • Given an m x n grid where cells are either empty, healthy, or infected, find the minimum number of minutes for infection to spread to all healthy cells via 4-directional neighbors. Return -1 if any healthy cell can never be reached.

“I'd done the orange rotting problem before so the structure clicked pretty fast.”

View Post

Uber·Software Engineer·Technical Phone Screen

May 2026
Uber Applied Scientist interview with a pandas-heavy data analysis question involving multiple joined DataFrames and aggregation. The problem felt straightforward on the surface but the expected depth around join types, NaN handling, and output validation made it a real test.
  • You're given three related DataFrames (e.g., orders, items, restaurants) joined by appropriate keys. Use pandas groupby and aggregation to answer business questions like average sales per category, which categories drive the most revenue, and per-restaurant metrics like order completion rate and average basket size. Walk through your join strategy, aggregation approach, and how you'd validate the result.

“This one took more thought than I expected.”

View Post

Uber·Machine Learning Engineer·Technical Phone Screen

May 2026
Uber ML Engineer interview with a coding round focused on DFS and backtracking. Two problems back to back, both graph/recursion flavored. Not the most ML-heavy screen I expected.
  • Given an m x n grid where 1s represent land and 0s represent water, count the number of distinct connected land regions. Cells connect horizontally and vertically only.
  • Given a string of digits (e.g. '2345'), generate all letter strings it could represent using a phone keypad mapping, and also return the count of possible outputs.

“Classic connected components problem.”

View Post

Uber·Software Engineer·Technical Phone Screen

May 2026
Phone screen for a software engineer role at Uber. Just one coding problem, pretty light, and they moved things along quickly enough that I wasn't left hanging for too long.
  • Given a large dataset of elements, find the top K elements efficiently.

“Priority queue was the obvious move here and I went with it.”

View Post

Uber·Software Engineer·Technical Phone Screen

May 2026
Went through a technical phone screen for a Software Engineer role at Uber and got hit with the classic LRU cache design question. Nothing too surprising but the O(1) constraint is where people usually trip up, and I was no exception at first.
  • Design and implement an LRU cache class that supports get and put operations, both in O(1) average time, with a fixed capacity that evicts the least recently used entry when full.

“My first instinct was to reach for a plain dict, which obviously doesn't track order.”

View Post

Uber·Machine Learning Engineer·Technical Phone Screen

May 2026
Uber phone screen for an MLE role, basically one technical problem the whole time. The question was about minimizing a convex function treated as a black box, and it escalated from a continuous 1D version to a discrete 2D rectangle by the end of the round.
  • Given a black-box convex function F(x) defined on a continuous interval [a, b], write a routine to find the minimum using as few evaluations of F as possible.
  • Now assume F is defined on an integer interval. Can you do better than ternary search? Implement an integer-domain minimizer for a strictly convex function.
  • Extend the integer-domain minimizer to two dimensions: given a strictly convex f(x, y) over an integer rectangle, find the (x, y) that minimizes f.

“I went straight to ternary search, which was fine, but the interviewer pushed back on the number of F evaluations per iteration.”

View Post

Uber·Software Engineer·Onsite - System Design / Architecture

May 2026
Uber onsite system design round focused on a daily puzzle product with leaderboards and submission scoring. The interviewer was noticeably more relaxed than other rounds I'd heard about, which was a relief but also made me second-guess whether I was actually doing well or just not being pushed.
  • Design a daily puzzle platform where users submit one answer per day, get scored server-side, and can see a leaderboard broken down by locale, day, and all-time.
  • How would you handle the submission burst that happens at midnight local time across different locales?
  • Where should scoring happen: on the client, on the server, or computed on-the-fly via a serverless function?

“I went straight to the Redis sorted-set for the leaderboard and that was the right call.”

View Post

Uber·Software Engineer·Technical Phone Screen

May 2026
Went through a technical phone screen for a software engineer role at Uber. Two coding questions, one pretty standard and one that tripped me up more than I expected.
  • Given a set of intervals, merge all overlapping ones and return the result.
  • Design a system that finds the top K most frequent elements from a data stream in real time.

“Classic problem, I'd seen it before so I wasn't too worried.”

View Post

Uber·Machine Learning Engineer·Technical Phone Screen

May 2026
Uber ML engineer screen with one meaty coding question around implementing CLIP-style contrastive loss from scratch. Pretty focused session, no fluff.
  • Given a batch of image and text embeddings, implement the contrastive loss used in CLIP. The expected formulation averages cross-entropy loss computed over the similarity matrix from both the image and text directions.

“I knew the general idea of contrastive learning but fumbled a bit on the symmetry part.”

View Post