← Back to Directory

Uber interview notes, page 49 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·Machine Learning Engineer·Technical Phone Screen

Jun 2026
Uber ML engineer screen, basically one big coding and theory question about implementing linear regression from scratch. They wanted working code plus a real conversation about the math and edge cases, not just pseudocode.
  • Implement linear regression from scratch in code, supporting both the closed-form normal equation and gradient descent on MSE. Your implementation should include a fit method, a predict method, and handle the bias term cleanly. Be ready to discuss numerical pitfalls, collinearity, regularization, and why feature scaling matters for gradient descent.

“This one took longer than I expected.”

View Post

Uber·Software Engineer·Onsite - System Design / Architecture

Jun 2026
System design round at Uber focused entirely on building a heatmap ingestion and query system. Pretty deep dive, they pushed hard on every layer of the stack.
  • Design a heatmap system that ingests high-volume geo-tagged events and supports queries returning aggregated heatmap tiles for a given bounding box, zoom level, and time range.

“This one sprawled fast.”

View Post

Uber·Software Engineer·Technical Phone Screen

Jun 2026
Uber SWE interview with a BST problem that seemed straightforward until the follow-up hit. The algorithmic part was fine but the optimization discussion is where things got interesting.
  • Given the root of a binary search tree and an integer k, return the k-th smallest value in the tree. Expected an O(H + k) iterative solution using in-order traversal with a stack.
  • Follow-up: if the BST is modified frequently with inserts and deletes, and you also need to query the k-th smallest element frequently, how would you redesign the approach?

“I went recursive first out of habit and they nudged me toward iterative.”

View Post

Uber·Software Engineer·Onsite - Coding / Algorithms

Jun 2026
Uber SWE coding round, two problems back to back. The first was a tree construction problem and the second was a graph traversal thing. Not the hardest session I've had but the second problem took me longer than I expected.
  • Given an N x N matrix representing an image where N is a power of 2, design a quadtree node structure and write a function to build the quadtree. Leaf nodes store a single value when all pixels in a region are identical; otherwise the node splits into four child quadrants.
  • Given a directed graph as an adjacency list, find all 'safe' nodes where every path from that node eventually terminates at a node with no outgoing edges. Return them in ascending order.

“I actually liked this one.”

View Post

Uber·Software Engineer·Technical Phone Screen

Jun 2026
Uber SWE interview with a maze pathfinding problem. Pretty standard BFS territory but the border-exit condition tripped me up a bit.
  • Given a 2D grid with empty cells and walls, and a starting position, find the minimum number of steps to reach the nearest empty cell on the border of the grid. The starting cell itself does not count as an exit. Return -1 if no exit is reachable.

“My first instinct was BFS and that was right, but I fumbled the exit condition initially.”

View Post

Uber·Software Engineer·Onsite - System Design / Architecture

Jun 2026
Uber system design round for a software engineer role. Just one question but it ate up the whole session.
  • Design a calendar application.

“Spent the first few minutes just trying to scope it down because calendar is deceptively broad.”

View Post

Uber·Software Engineer·Online Assessment (OA)

Jun 2026
Uber SWE online assessment, two coding problems back to back. The first was a graph/DP hybrid and the second was an optimization problem with a budget constraint. Nothing behavioral, just pure problem solving under time pressure.
  • Given an integer array of scores and an integer k, starting at index 0 and accumulating score[0], you can jump from index i to index j only if j > i, the gap is at most k, and the gap is a prime number. Find the maximum total score to reach the last index, or return null if it's unreachable. Scores can be negative.
  • You have a pipeline of n services where the bottleneck (minimum throughput) determines overall throughput. Each service can be expanded any number of times at a per-expansion cost, multiplying its throughput. Given a fixed budget, maximize the pipeline's throughput.

“The prime constraint is what makes this annoying.”

View Post

Uber·Software Engineer·Onsite - System Design / Architecture

Jun 2026
Uber system design round for a software engineer role, focused entirely on the search component of Uber Eats. Lots of follow-up questions and they also wanted a full metric monitoring design layered on top, which I was not expecting.
  • Design the search component for Uber Eats. How would you architect it to handle restaurant and item discovery at scale?
  • How would you design the metric monitoring system for the Uber Eats search component you just described?

“This is where most of the session went.”

View Post

Uber·Product Manager·Onsite - Product Sense / Strategy

Jun 2026
Uber PM interview with a single meaty strategy question about Uber Freight. No behavioral fluff, just dropped straight into a big ambiguous product problem and left to figure it out.
  • You're the lead PM for Uber Freight before it launches. How would you test the concept and validate whether it's feasible within a 6-month window?

“This one took me a minute to even figure out where to start.”

View Post

Uber·Software Engineer·Online Assessment (OA)

Jun 2026
Uber SWE online assessment, one graph problem that looks deceptively simple until you realize the naive approach times out on hidden test cases. The whole thing is basically a tree re-rooting DP problem dressed up in edge-reversal clothing.
  • Given a directed tree with n nodes and n-1 edges, find the minimum number of edge reversals needed so that every node can reach a chosen root. Either return the minimum over all possible root choices, or return an array of per-root costs depending on the variant.
  • A related variant: given n cities connected by n-1 directed roads forming a tree, what is the minimum number of roads to reverse so every city can reach city 0?

“My first instinct was just re-run a DFS from every node and count reversals each time.”

View Post