01How the Uber interview process works
Uber asks you to design twice, and candidates almost always prepare only one of the two. The distributed round is the famous one, ride matching across a live map. Next to it from L4 upward sits a machine-coding round that wants an hour of real classes on the screen: a strategy for swapping surge pricing in for standard pricing, an observer that notifies nearby drivers, thread-safety for the moment two riders reach for the same car. The prompts that come back are a ride-sharing platform and a parking lot. Below senior, machine coding is frequently the entire design conversation, which makes it a strange thing to leave until the week before. The rest of it is ordinary enough: a recruiter screen, a first technical gate, then a same-day onsite of roughly four to six back-to-back rounds.
The round list is set by the team, so it moves. A common mid to senior loop is two coding rounds, one system design round, one hiring-manager-led behavioral round, and a Bar Raiser, with senior loops adding a project deep-dive or a second design round and new-grad loops dropping distributed design for more coding. End to end it runs about four to six weeks, and the silences between stages get long enough that candidates assume they have been rejected. Your recruiter will read out the exact rounds if you ask, which is worth doing before you decide where the prep goes. Uber documents the real systems these design rounds draw on, from ride matching to geospatial indexing, on its own engineering blog.
02The Uber online assessment and screen
The hardest coding of the whole process can land before you have spoken to a single engineer. The first technical gate is either a CodeSignal online assessment, four problems in about seventy minutes scored on the test cases you pass, or a roughly sixty-minute live phone screen with an Uber engineer, and sometimes both. Which path you get depends on the role, level, and volume, so treat them as overlapping first gates rather than a guaranteed pair. Problem for problem the assessment runs harder than the live rounds, and its last two questions are often rated hard.
The content holds steady across both formats. Graph work is over-indexed because routing and dispatch are graph problems underneath, arrays and hashing carry the next share, and the code itself is graded: clean classes, variables named for whoever reads them next, empty and single-element edge cases, the whole thing runnable in your head inside the time box. Difficulty centers on medium with a real hard tail. Code that handles a bad input is worth more here than the cleverest one-liner.
Read what Uber tests in coding03The Uber onsite loop
Most of a coding hour here goes on one problem. You solve a medium in the first stretch, and rather than hand you something new the interviewer starts changing the one in front of you: a constraint arrives, the input shape shifts, the 2D table has to come down to a single array. The last mutation often gets talked through with no time left to write it, and the talking still counts. The other rounds are a system design round that grows load-bearing with seniority, a low-level machine-coding round at L4 and above, a hiring-manager behavioral round, and a Bar Raiser.
- Coding
- Usually two rounds at the onsite plus the phone screen. The Uber signature is the escalating single problem: you solve a medium in the first stretch, then the interviewer mutates it in real time, adding a constraint, changing the input, or demanding a space optimization, with a final part often verbal only. Problems lean graph-heavy because routing and dispatch are graph-shaped, and they arrive dressed in mobility language. Production-ready, edge-safe code is graded, not pseudocode.
- System Design
- Required for mid-level and senior candidates and load-bearing by Senior. The canonical prompt is "design Uber" ride matching, which is Uber's own system: geospatial indexing with S2, H3, a quadtree, or geohash, a firehose of driver location updates, nearest-driver matching, surge, ETA, and the trip state machine. The interviewer sketches the architecture, then deep-dives the geo index, the location store, and matching under concurrency.
- Low-Level Design
- A separate machine-coding round that appears at L4 and above, distinct from the distributed design round. You write runnable, well-structured code: classes and interfaces, design patterns like strategy for surge pricing and observer for notifying nearby drivers, plus thread-safety and error handling. Reported prompts include a ride-sharing platform and a parking lot, judged on the engineering quality of real code.
- Behavioral & Hiring Manager
- The Collaboration and Leadership round is led by the hiring manager and is a real gate, not a formality. Expect questions on ownership, conflict, pushing back on a PM, and moving fast under ambiguity, with the interviewer pressing for specific numbers and outcomes. Map your stories to Uber's current values and name them where it is genuine. Listing responsibilities instead of personal impact reads as a red flag.
- Bar Raiser
- A trained interviewer from a separate org with no stake in the team, there to guard the company-wide bar and read values alignment. The format is often a deep project retrospective or a reverse design, probing whether you drove business impact rather than just executed. Its power is widely misread: it does not hold an Amazon-style single veto, and a weak read more often down-levels you than rejects you.
04The Uber Bar Raiser
The decision gets made in a room full of people who watched you work. A day or two after the loop, your interviewers and the recruiter meet, the Bar Raiser moderates, and the hiring manager turns up with real weight behind their opinion. Everyone brings written feedback. Strong negative signal is hard to talk past, though the meeting runs as an argument rather than a vote count.
The Bar Raiser is a trained interviewer from a separate org with no stake in the team, there to guard the company-wide bar and read values alignment. Hearing the name, candidates picture an Amazon-style single veto, and that is the most misread part of Uber's process. One candidate drew a strong no from the Bar Raiser, four yes votes from everyone else, and a hiring manager who pushed back on it. A weak read from that round more often costs you a level than the offer outright.
Read how leveling and the bar workHold a technical call you believe in, and give it up the moment somebody actually shows you wrong. Folding at the first push reads as someone who never believed the design in the first place.
05Uber levels: L3 to L6
Uber's internal ladder is a numeric L-band, and the codes are effectively hidden from candidates. They are not printed on the offer letter, so the title you negotiate matters less than the rung sitting behind it. Laterals from peer companies get down-leveled here often enough to plan around, and a floor agreed with the recruiter before the loop is worth more than any argument you can make after it. Once the debrief panel runs, the level is locked.
Uber publishes no official level-to-title map, so the bands below are the lower rungs of the L-ladder as levels.fyi normalizes them from self-reported data. Read the titles as approximate and crowdsourced. The fork that decides the most money is L5a against L5b: L5a is Senior, L5b is Staff, and crossing that line at offer stage beats almost any in-band win, since sign-on is the main lever left once your level is set.
| Level | Title & how the loop shifts | Avg total comp (US) |
|---|---|---|
| L3 | Software Engineer I · New grad and upA leaner loop; the design slot is usually low-level OOD, and new-grad loops swap distributed design for extra coding | $192K |
| L4 | Software Engineer II · ~2+ yearsTwo coding rounds plus a system design round; L4 and up often adds a separate low-level machine-coding round | $277K |
| L5aSD-gated | Senior Engineer · ~5+ yearsThe full spine with a load-bearing distributed design round and a senior project deep-dive | $369K |
| L5b | Staff Engineer · ~8+ yearsDesign and scope reasoning carry the loop; expect a reverse-design or architecture retrospective | $605K |
| L6 | Senior Staff Engineer · ~10+ yearsArchitecture and cross-org influence carry the loop over algorithm volume | $797K |
Average total compensation by level per Levels.fyi (US, October 2026), across 2,943 US reports; self-reported and updated continuously. The overall Uber software-engineer median is about $300K, and RSUs become the largest share of the package from Staff up.
06What Uber actually asks
Coding is the axis Uber is most consistent on, and the same handful of shapes keep surfacing, many of them dressed in the product. A shortest path across a grid becomes a driver crossing city streets, a heap of the closest elements becomes the k nearest available drivers, a search over transfers becomes bus routes. The story changes nothing about the algorithm underneath it. Graphs lead everything else here, arrays and hashing take the next share, and data-structure design carries the machine-coding round. Then comes the follow-up that moves whatever you just built: brute to optimal, time to space, single to k, batch to streaming.
- Course Schedulegraph / topo sort
- Number of IslandsBFS / DFS
- Alien Dictionarygraph
- Bus RoutesBFS
- Word LadderBFS
- a Premium question
- Design Hit Counterdesign
- a Premium question
- a Premium question
- K Closest Points to Originheaps
- Serialize & Deserialize a Treetrees
- Kth Smallest in a BSTtrees
- +4 more Uber questions in Premium →
The full set of Uber coding interview questions is worked end to end, with the pattern and complexity behind each, in the guide.
- A time you drove a project from idea to launchOwnership
- A time you exceeded expectationsDriving impact
- A time you pushed back on a PM or product callConstructive conflict
- A time you disagreed with your managerBackbone
- A time you decided fast on incomplete informationAmbiguity & speed
- A time you went out of your way for a userTrip obsessed
- A project that failed and what you changedLearning from failure
- Why Uber, and what would you buildMotivation
The full bank of Uber behavioral interview questions groups every prompt under the value it scores, or start with the STAR method.
- Design Uber (ride matching)Geospatial dispatch
- Design real-time location trackingWrite-heavy ingestion
- Design a real-time driver heatmapDensity over time windows
- Low-level design: ride sharingOOD / machine coding
- Notification fan-out to nearby driversDeep dive
- Rate limiter on the API gatewayDeep dive
Each of these Uber system design interview questions is a different shape, worked end to end in the guide.
On the design side, the canonical prompt is “design Uber” ride matching, which is Uber's own system, so whoever is grading you has lived with the real answer. Start from the geospatial problem: index the map with S2, H3, a quadtree, or geohash so you can find nearby drivers in milliseconds, absorb a firehose of driver location updates without melting a database, and match a rider to exactly one driver without double-booking. From there the interviewer deep-dives surge, ETA, the trip state machine...