← Back to Directory

Uber interview notes, page 1 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 2025
Did a 60-minute backend phone screen for a mid-level SWE role at Uber and now I'm in the waiting-for-feedback purgatory that every engineer knows too well. The problem was event-processing flavored, ad impressions and clicks with a rolling window, and I got through a working solution but ran out of time before finishing the optimized version.
  • Design a system to track ad impressions and clicks within a rolling time window, then implement and optimize it.
  • What are the optimization opportunities in your solution, and what tradeoffs do they involve?

“Got a working solution down and wrote my own test cases to verify it, which felt good.”

View Post

Uber·Data Scientist·Technical Phone Screen

Sep 2025
Uber DS interview, technical phone screen or take-home style, all SQL and Pandas. Five questions across ride-share analytics scenarios. Pretty brutal if you're rusty on window functions.
  • Given a trips table with request_time, city, and status, compute per-city total requests, completed trips, and completion rate for the last 7 days. Order results by completion rate ascending.
  • For each driver over the last 7 days, compute the ratio of average surge multiplier during the 20:00-21:59 window versus 14:00-15:59 on completed trips, bucketed by city and day. Return only drivers where both windows have at least one trip and the ratio exceeds 1.5.
  • Compute the median pickup wait time per city for completed trips over the last 7 days, but first exclude any trips above the city-specific 95th percentile wait. Use window functions for both the percentile cutoff and the median.
  • Identify likely duplicate rider accounts by finding rider pairs who share either the same device ID or the same payment card hash on trips taken in the last 30 days. Return the pair with a < b ordering, the evidence type, evidence value, and first seen time.
  • Using Pandas, compute 7-day new-user retention by cohort for riders whose first completed trip falls within a given date range. A rider is retained if they have at least one additional completed trip within 7 days of their first. Return cohort_date, number of new riders, retained count, and retention rate.

“Seemed straightforward but I kept second-guessing whether to filter on request_time or dropoff_time.”

View Post

Uber·Software Engineer·Technical Phone Screen

Apr 2026
Uber coding round, tree problem that looked straightforward but had enough follow-up surface area to trip you up if you weren't careful. Felt okay about my solution but the generalization question at the end was where things got interesting.
  • Given an N-ary tree where each node has an integer value and a list of children, find the root-to-leaf path with the maximum sum and return the node values along that path.
  • How would you extend this to find the maximum sum path between any two nodes in the tree, not just root-to-leaf?

“I went with a single DFS pass returning both the best sum and the path at each node, picking the max-sum child at every step and prepending the current value.”

View Post

Uber·Software Engineer·Technical Phone Screen

Apr 2026
Uber SWE coding round, pretty much a straight grid traversal problem. Nothing too surprising but the pressure to pick the right approach on the spot is real.
  • Given a 2D binary grid where '1' represents land and '0' represents water, count the number of distinct islands. Islands are groups of adjacent land cells connected horizontally or vertically, and the grid boundary is all water.

“I went with BFS because DFS felt like it might blow the stack on a big grid and I said that out loud which I think was fine.”

View Post

Uber·Software Engineer·Technical Phone Screen

Apr 2026
Uber SWE interview with a graph problem that looks deceptively clean on the surface. One question, tree structure, but the edge-reversal angle makes you think harder than you'd expect.
  • You're given a directed tree with N nodes and N-1 edges. Pick a root node such that the number of edges you need to reverse (so all edges point away from the root) is minimized. Return that minimum count.

“My first instinct was to just BFS from every node and count reversals each time, which technically works but is way too slow.”

View Post

Uber·Software Engineer·Onsite - System Design / Architecture

Apr 2026
System design round at Uber for an EM role, focused entirely on cart management for Uber Eats. The prompt was deliberately open-ended and you were expected to drive the requirements gathering yourself, which I wasn't fully prepared for.
  • Design the backend for Uber Eats cart management, covering the full lifecycle from cart creation through order fulfillment. The prompt is intentionally vague. You're expected to drive requirements gathering yourself.

“I spent way too long waiting for the interviewer to narrow the scope.”

View Post

Uber·Software Engineer·Onsite - System Design / Architecture

Apr 2026
System design round at Uber for a software engineering role. Just one question but it had a lot of surface area and I felt like I only scratched the top layer of it.
  • Design a cart system for Uber (e.g. for Uber Eats or a similar ordering product).

“I went straight for the data model and probably should have spent more time clarifying scope first.”

View Post

Uber·Software Engineer·Technical Phone Screen

Apr 2026
Uber SWE interview with a string/sorting problem that sounds simple on the surface but has a few gotchas once you start coding it up.
  • Given a list of words written in an alien language that uses lowercase English letters but in a custom alphabet order, determine whether the words are sorted lexicographically according to that alien ordering.

“The setup sounds weird but it's basically just a custom comparator problem.”

View Post

Uber·Software Engineer·Technical Phone Screen

Apr 2026
Went through a coding round at Uber for a software engineer role, got hit with LRU cache. Pretty standard but still worth knowing where you stand on the implementation details.
  • Implement an LRU (Least Recently Used) cache with get and put operations in O(1) time.

“Classic problem but the O(1) constraint is what trips people up if they haven't seen it before.”

View Post

Uber·Software Engineer·Technical Phone Screen

Apr 2026
Uber coding round for a software engineer role. One dynamic programming problem that looked straightforward but had a weird constraint on the jump sizes that slowed me down.
  • Given a zero-indexed integer array, you can move forward either 1 step or x steps where x is a prime number ending in 3 (like 3, 13, 23, 43...). Each cell has a value, positive or negative. Find the maximum sum you can accumulate by the time you reach the last cell.

“The DP part clicked pretty fast, but I wasted a good few minutes just staring at the prime constraint.”

View Post