← Back to Directory

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

Apr 2026
Uber MLE coding round, one problem the whole time. Geometry-flavored optimization question that looks deceptively clean until you start thinking about what K actually buys you.
  • Given N people on a 2D grid and K pickup locations you can place anywhere, minimize the total Manhattan distance from each person to their nearest pickup point.

“First thing I did was ask whether the pickup locations had to sit on integer coordinates or be chosen from existing people's positions, which felt like the right move.”

View Post

Uber·Software Engineer·Technical Phone Screen

Apr 2026
Uber coding screen for a software engineer role, one question, ran out of time. The problem looked trivial at first glance and absolutely was not.
  • Write a parser that evaluates nested add/sub expressions given as strings, e.g. 'add(1, sub(3,1))' should return 3.

“Burned myself on the comma-splitting approach.”

View Post

Uber·Frontend Engineer·Technical Phone Screen

Apr 2026
Phone screen for a frontend role at Uber. One algorithm-style question, pretty open-ended, which I wasn't expecting from a frontend interview.
  • Given an array of player rankings and a set of rules that determine win/loss outcomes based on rank, simulate and output the final tournament result.

“The open-endedness tripped me up more than the actual logic.”

View Post

Uber·Software Engineer·Onsite - System Design / Architecture

Apr 2026
Uber system design round for a software engineer position. The whole session was basically one deep problem: build a thread-safe token bucket rate limiter, then defend every design choice under concurrent load. Tougher than I expected for what sounds like a contained problem.
  • Design and implement a thread-safe rate limiter using the token bucket algorithm. It needs to support concurrent access from many worker threads and expose an API that allows consuming one or more tokens atomically.
  • How would you reduce lock contention in the rate limiter under very high concurrency? Compare a global lock, a lock-free CAS approach, and sharding across multiple buckets.
  • How would you extend this design to support per-user or per-key rate limiting, and how would you manage memory for a large, sparse key space?
  • What are the trade-offs between a token bucket, a sliding window counter, and a leaky bucket rate limiter?

“Spent the first few minutes just talking through the token bucket model before touching code, which I think was the right call.”

View Post

Uber·Software Engineer·Technical Phone Screen

Apr 2026
Uber SWE interview with a concurrency-heavy coding question that felt more like a systems puzzle than a typical algo problem. The synchronization angle made it trickier than it looked on the surface.
  • Design a class with three methods alpha(), beta(), and gamma() that can be called by three separate threads in any order, but must always print output in the sequence A, B, C, repeated for N cycles. You need to use proper synchronization (no busy-waiting), and be ready to talk through fairness, deadlock risks, and performance tradeoffs.

“I went straight to semaphores and sketched out a solution where each method waits on a permit before printing and then signals the next one.”

View Post

Uber·Software Engineer·Onsite - System Design / Architecture

Apr 2026
Uber system design screen focused on a single problem: a rolling event counter with some surprisingly deep follow-up on cleanup strategies and concurrency. Not a brutal round but the trade-off discussion caught me more off guard than the coding part did.
  • Design an in-memory rolling event counter that supports recording events by timestamp and querying how many events occurred in the last 300 seconds.
  • What are the trade-offs between cleaning up expired events lazily (on read) versus running a background thread to periodically purge them?
  • How does stale data affect the correctness of the count, and under what conditions could your implementation return a wrong answer?
  • How would you handle concurrency if multiple threads are calling record() and count() simultaneously?

“The base implementation wasn't too bad.”

View Post

Uber·Software Engineer·Technical Phone Screen

Apr 2026
Phone screen for a SWE role at Uber. They threw LC 269 at me straight up, no warmup, and then followed it with the verify-only variant as a back-to-back. Not a bad round but it was denser than I expected for a phone screen.
  • Given a list of words sorted in an unknown alien lexicographic order, recover any valid character ordering. Return an empty string if no valid ordering exists.
  • Given a fixed 26-character permutation defining an alien alphabet, verify whether a list of words is already sorted under that ordering.

“This is the classic topological sort problem on character constraints.”

View Post

Uber·Software Engineer·Onsite - Behavioral / Leadership

Apr 2026
Behavioral round at Uber for a software engineering role, focused entirely on people management scenarios. Four questions, all situational, all expecting real examples. Not the vibe I was prepared for going in.
  • What is your team's scope, how do you align it with broader org goals, and what metrics does your team own?
  • Walk me through how you've handled a low performer on your team, from identifying the issue through to executing an improvement plan.
  • Tell me about a time you disagreed with your manager. What did you do and how did it play out?
  • Describe a conflict you had with a cross-functional partner, like a PM, data scientist, or another engineer. How did you work through it, and what tradeoffs did you have to navigate?

“I fumbled the metrics part.”

View Post

Uber·Software Engineer·Technical Phone Screen

Apr 2026
Uber SWE interview with a grid-based robot localization problem. The core challenge wasn't the algorithm itself but keeping coordinate conventions straight under pressure, which tripped me up more than I expected.
  • A robot is placed somewhere on an m x n grid. You're given the robot's distance to the nearest wall or obstacle in each of the four cardinal directions. Find the robot's coordinates.

“Started with brute force, checking every cell and seeing if the four distances matched.”

View Post

Uber·Software Engineer·Technical Phone Screen

Apr 2026
Went through a coding round for an SDE 2 role at Uber. The question was around hit counter design, I got through the approach and tradeoffs fine but ran out of time before fixing a failing edge case, and I think I also misstated a complexity that probably dinged my evaluation.
  • Design and implement a hit counter that tracks the number of hits in the past 5 minutes. Discuss brute force and optimized approaches, including complexity tradeoffs.

“Got through brute force and the optimized version pretty cleanly, tradeoffs discussion felt okay too.”

View Post