← Back to Directory

Uber interview notes, page 14 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

Apr 2026
Did a technical screen for an SWE role at Uber and got hit with a grid traversal problem that looked deceptively manageable at first glance. The query-ordering twist is what gets you.
  • Given an integer matrix and an array of query values, for each query count how many cells are reachable from the top-left cell by moving in four directions through cells whose values are strictly less than the query. Return answers in the original query order.

“My first instinct was to just run a BFS for every query independently.”

View Post

Uber·Software Engineer·Technical Phone Screen

Apr 2026
Uber SWE coding round, pretty much one meaty interval problem with a follow-up that I wasn't fully ready for. The main question was fine but the memory constraint angle at the end is where things got interesting.
  • Given two sorted, pairwise-disjoint lists of closed intervals, find all intersections between the two lists. Follow-up: how would you handle this if the lists are too large to fit in memory?

“Two-pointer sweep wasn't hard to get to, the intersection formula is just max of starts and min of ends, check that max <= min and you're done.”

View Post

Uber·Software Engineer·Onsite - System Design / Architecture

Apr 2026
System design round at Uber for a software engineer role. The whole thing was basically one long question about shopping carts, which sounds mundane until you're 40 minutes in and still untangling consistency tradeoffs.
  • Design an online shopping cart service for a multi-merchant e-commerce platform, where each user has a separate cart per merchant and carts persist across devices and sessions.
  • How would you handle checkout coordination across inventory and payment systems, and what happens if a write to one merchant's cart fails partway through?
  • How would you detect when a cart item goes out of stock or its price changes, and surface that to the user?
  • Walk through how you'd merge a guest user's cart into their account cart when they log in.

“This was the whole interview.”

View Post

Uber·Machine Learning Engineer·Technical Phone Screen

Apr 2026
ML engineer screen at Uber, one technical question about a computer vision architecture. Short and focused, felt more like a knowledge check than a real back-and-forth.
  • Can you explain how Mask R-CNN works?

“I know this model reasonably well so I wasn't panicking, but I fumbled the ordering a bit.”

View Post

Uber·Software Engineer·Technical Phone Screen

Apr 2026
Went through a coding round for a Software Engineer role at Uber. Just the one problem, a pretty well-known LeetCode question that shows up constantly on prep sites.
  • Solve LeetCode problem #1043 (Partition Array for Maximum Sum).

“High-frequency problem so I'd seen it before, which helped.”

View Post

Uber·Software Engineer·Technical Phone Screen

Apr 2026
Uber SWE interview with a tournament simulation problem that had two parts, the second of which was genuinely tricky. The construction part caught me off guard and I spent way too long on it.
  • You're given an array representing player ranks in a single-elimination tournament. Players are paired by adjacent indices each round, the stronger one (lower rank number) advances, and an unpaired last player gets a bye. Simulate the tournament and output the remaining players after each round.
  • Given n, construct an initial permutation of ranks 1 through n such that stronger players (lower rank numbers) are always eliminated in later rounds than weaker ones. The arrangement must work for any n, not just powers of two.

“Part one was fine, just iterate and pick the min of each adjacent pair, handle odd lengths by appending the last element.”

View Post

Uber·Software Engineer·Technical Phone Screen

Apr 2026
Uber phone screen for a SWE role, pretty much a single coding problem the whole time. The question was grid-based and had a decent follow-up that I wasn't fully ready for.
  • You're given a 2D grid with robots ('O'), empty cells ('E'), and blockers ('X'). Given a query of four distances [left, top, bottom, right] representing how far a cell is from the nearest blocker in each direction (grid boundaries count as blockers), return the positions of all robots whose distance profile exactly matches the query.
  • Come up with a set of unit tests for this robot-matching function. What cases would you cover?

“Started with brute force, scanning all four directions for each robot until hitting an X or the boundary.”

View Post

Uber·Software Engineer·Technical Phone Screen

Apr 2026
Uber SWE coding round, one question about printing a filesystem tree with indentation. Pretty clean problem but the details around formatting tripped me up more than I expected.
  • Given the root node of a filesystem tree where nodes are either directories or files, implement a function that prints the full directory structure with indentation markers indicating depth.

“Recursive DFS was the obvious move and I went there immediately, which was fine.”

View Post

Uber·Software Engineer·Technical Phone Screen

Apr 2026
Uber SWE interview with a graph connectivity problem that started clean and then got messy fast once the follow-up landed. The core question was doable but the block-events extension is where things got real.
  • You're given a time-ordered log of Uber rider events. Each event records two riders sharing a ride, which creates an undirected connection between them. Two riders are connected if any path of shared rides links them transitively. Find the earliest timestamp at which all riders in the log become part of a single connected component. Return -1 if it never happens.
  • Follow-up: the log can now also contain block events, where rider X blocks rider Y and their direct connection is removed from that timestamp onward, even if they shared a ride earlier. How do you modify your approach to still find the earliest time all riders are connected, accounting for edges being both added and removed over time?

“Pretty much a union-find problem once you see it.”

View Post

Uber·Product Manager·Onsite - Cross-functional / Panel

Apr 2026
Interviewed for a PM role at Uber, one round that felt more like a cross-functional alignment check than a traditional product interview.
  • Walk me through how you typically collaborate with design teams throughout a product cycle.

“I rambled a bit here.”

View Post