← Back to Directory

Uber interview notes, page 12 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
Uber SWE interview with a graph connectivity problem that looks deceptively straightforward until you realize brute force is going to time out badly. The offline union-find angle is what they're actually testing for.
  • Given an undirected weighted graph and a list of queries, for each query determine whether a path exists between two nodes using only edges whose weights are strictly less than a given limit. Return a boolean array of answers.

“I started thinking about this as a per-query BFS and immediately knew that wasn't going to scale.”

View Post

Uber·Software Engineer·Technical Phone Screen

Apr 2026
Uber coding screen, one algorithmic problem the whole time. Pretty focused session, no fluff.
  • You're given an array of item prices. For each item, find the first subsequent item whose price is less than or equal to the current one and apply that as a discount. Return the final prices after discounts. Solve it in O(n).

“The brute force clicks immediately but they want O(n) so you know a stack is coming.”

View Post

Uber·Software Engineer·Technical Phone Screen

Apr 2026
Quick Uber AV Lab phone screen, one coding question, done in under 35 minutes. Nothing brutal, just a standard LeetCode-style problem from the Uber tag.
  • Solve a high-frequency coding problem commonly associated with Uber's LeetCode tag.

“It's one of those problems that shows up so often in Uber prep lists that you'd feel embarrassed not knowing it.”

View Post

Uber·Software Engineer·Technical Phone Screen

Apr 2026
Uber SWE interview with a graph/simulation problem that looks deceptively straightforward but has a real O(n) constraint baked in. The problem is clean but the follow-up on time complexity is where things get interesting.
  • You're given an integer array where each element tells you how far to jump from the current index (positive = right, negative = left). Starting from some index s, you keep jumping until you either go out of bounds on the left (index < 0), exit on the right (index >= n), or loop forever. Find the smallest starting index from which you never go out of bounds on the left. Return -1 if none exists. Aim for O(n) time.

“My first instinct was brute force, just simulate from every index and track visited states to catch cycles.”

View Post

Uber·Machine Learning Engineer·Technical Phone Screen

Apr 2026
Uber ML engineer screen, pretty much a graph traversal question dressed up with a bunch of follow-up variants. Not a bad round but you really need to know where the question is going before you start coding.
  • Given a 2D grid of land and water cells, count the number of islands, where an island is a group of land cells connected in four directions.

“Classic BFS/DFS problem and I knew it, but I made the mistake of jumping straight into code without asking which variant they wanted.”

View Post

Uber·Software Engineer·Online Assessment (OA)

Apr 2026
Uber SWE online assessment with two algorithmic problems. Both were on the harder side and felt more like competitive programming than typical interview prep stuff.
  • Given an n x n chessboard, a generalized knight can move using any ordered pair (a, b) where both values are between 1 and n-1, jumping in the 8 directions you'd expect from a normal knight. For every valid (a, b) pair, find the minimum number of moves to get from (0,0) to (n-1, n-1), or -1 if it's not reachable.
  • Positions 1 through n are arranged in a line. A token starts at position p, and some positions are forbidden. In one move, pick any contiguous segment of length k that contains the token, reverse it, and the token lands at its mirrored position within that segment. For every starting position, find the minimum reversals to reach each target position, or -1 if unreachable.

“BFS is the right instinct here since you're looking for shortest path on an unweighted graph.”

View Post

Uber·Software Engineer·Technical Phone Screen

Apr 2026
Uber SWE interview with a clean algorithmic problem that I probably overcomplicated before landing on the right approach. Nothing too wild, but the binary search piece tripped me up for a minute.
  • Given an array of numbers and a list of query values, for each query return the maximum length of a subsequence whose elements sum to no more than that query value.

“I jumped straight to thinking about dynamic programming and wasted a few minutes going down that road.”

View Post

Uber·Software Engineer·Technical Phone Screen

Apr 2026
Uber SWE coding round, one algorithmic question on prefix subarrays. Pretty clean problem once you see the trick, but I fumbled the explanation a bit under pressure.
  • You're given an array of length n that is a permutation of 1 through n. For each prefix of length k, determine whether that prefix contains exactly the numbers 1 through k (in any order). Return a binary array of your results.

“The naive approach is obvious: for each k, sort the prefix or check a set.”

View Post

Uber·Software Engineer·Technical Phone Screen

Apr 2026
Phone screen for a SWE role at Uber, design-and-code round where you build a last-click attribution tracker in memory, write the API, and run your own tests. Pretty meaty for a phone screen.
  • Build an in-memory last-click attribution tracker. You need to implement recordClick, recordConversion, getCampaignConversions, and getUserAttribution, where each conversion is attributed to the same user's most recent click within a 300-second window. Write and run your own test cases.

“The part that tripped me up first was the ordering assumption.”

View Post

Uber·Software Engineer·Onsite - System Design / Architecture

Apr 2026
Uber SWE low-level design round, one question, sixty minutes on the clock. Got it working but left feeling like I needed another half hour to clean things up.
  • Build a working Splitwise clone with running code within 60 minutes.

“The design itself wasn't the hard part, I had a reasonable mental model pretty fast.”

View Post