Uber Interview Questions & Process for Software Engineers

What the Uber software engineer interview really involves: a CodeSignal online assessment, a coding loop, and two design rounds that share almost nothing. One is distributed, one is low-level. Most people prepare only one. A Bar Raiser sits in the debrief, and the L3 to L6 levels set your comp. Here is how each stage works, and how to prepare.

18 lessonsbuilt from 548 candidate reports

Uber
Alex Chen
Updated

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.

1
Recruiter Screen
2
Online Assessment
CodeSignal, 4 problems / ~70 min
3
Technical Screen
Coding, ~60 min
4
Onsite
~4 to 6 rounds
5
Debrief
Bar Raiser present
6
Offer
Read the full process breakdown

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 coding

03The 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.
Read the full onsite breakdown

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.

Hold 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.

Read how leveling and the bar work

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.

LevelTitle & how the loop shiftsAvg total comp (US)
L3Software 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
L4Software 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-gatedSenior Engineer · ~5+ yearsThe full spine with a load-bearing distributed design round and a senior project deep-dive$369K
L5bStaff Engineer · ~8+ yearsDesign and scope reasoning carry the loop; expect a reverse-design or architecture retrospective$605K
L6Senior 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.

The questions that recur most
  • 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.

Recurring task shapes
From candidate reports and write-ups
Graphs, BFS & DFS
The over-indexed cluster; routing and dispatch are graph-shaped. Course Schedule, Alien Dictionary, Number of Islands, Bus Routes
Arrays & strings
Two-pointer, sliding window, prefix sum, hashing; the bread-and-butter share, heavy in the OA and phone screen
Design data structures
The machine-coding favorite; a Premium question, hit counter, median from a data stream, attribution APIs
Intervals & heaps
Two Premium questions framed as driver availability; top-K and streaming heaps
Trees & dynamic programming
Serialize a tree, kth smallest in a BST; DP mediums that earn a 2D to 1D space-optimization follow-up
The behavioral questions Uber repeats
Grouped by the value each one is quietly scoring
  • 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.

The system design prompts Uber returns to
A geospatial core, plus the low-level machine-coding round

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...

Continue reading

The full breakdown. Every round and every task shape, with the strategy that goes with each.

Go to the Full Guide
Common questions

What are the stages of the Uber interview process?

The Uber interview runs through 6 stages: Recruiter Screen, Online Assessment, Technical Screen, Onsite, Debrief, and Offer.

How many rounds does the Uber interview have?

The interviewing rounds sit in the onsite (6 rounds). The other stages (application, recruiter, and team match) are conversations, not scored rounds.

Is the Uber interview hard?

The hardest coding often lands first, in the CodeSignal assessment, before you speak to an engineer. The onsite adds an escalating single problem the interviewer mutates in real time, two design rounds that share almost nothing, and a Bar Raiser in the debrief. Graph fluency and being able to run one problem all the way down matter more than raw problem count.

Does Uber ask LeetCode questions?

Yes, and graph work is over-indexed because routing and dispatch are graph problems underneath: Course Schedule, Number of Islands, Alien Dictionary, Bus Routes. Arrays and hashing carry the next share. The Uber signature is the escalating single problem, where you solve a medium and then the interviewer adds constraints on top of it live.

Does Uber use a CodeSignal online assessment?

For many roles, yes: a CodeSignal assessment of four problems in about seventy minutes, scored on the test cases you pass, with the last two questions often rated hard. Whether you get the assessment, a live phone screen, or both depends on the role, level, and volume, so treat them as overlapping first gates.

What is the Uber 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. Its power is widely misread: unlike Amazon, the Uber Bar Raiser does not hold a single veto. A weak read from that round more often costs you a level than the offer outright.

What are Uber's software engineer levels?

Uber runs L3 (Software Engineer I, new grad), L4 (Software Engineer II), L5a (Senior), L5b (Staff), and L6 (Senior Staff). System design becomes load-bearing at Senior, and L4 and up often add a separate low-level machine-coding round on top of the distributed design round.

How much does Uber pay software engineers?

Per Levels.fyi, the overall Uber software-engineer median is about $300K. By level the averages run near $192K at L3 (new grad), $369K at Senior (L5a), and $605K at Staff (L5b), with RSUs becoming the largest share of the package from Staff up. Your level, set in the debrief, moves the number more than anything you negotiate inside a band.

How long does the Uber interview process take?

Four to eight weeks is typical: a recruiter screen, a CodeSignal assessment or phone screen, then an onsite of four to six rounds, followed by a debrief a day or two later where the Bar Raiser moderates and the hiring manager weighs in. Team matching and offer approval add most of the tail.

How do I prepare for an Uber interview?

The hardest coding often comes first, in a CodeSignal assessment of four problems in about seventy minutes, so train timed accuracy before you meet an engineer. Over-index on graphs, since routing and dispatch are graph problems underneath (Course Schedule, Alien Dictionary, Bus Routes), and prepare for an escalating single onsite problem and the Bar Raiser's values read.

What are the most common Uber interview questions?

Graph work is over-indexed, since routing and dispatch are graphs underneath: Course Schedule, Number of Islands, Alien Dictionary, and Bus Routes, with arrays and hashing alongside. Much of the hardest coding is a CodeSignal assessment (four problems, about 70 minutes) up front, and the onsite adds an escalating single problem plus a Bar Raiser round.

Inside the guide

The Uber interview, end to end

The recruiter screen through the offer call. 18 lessons across 5 chapters, written for Uber specifically. Built for how each team actually hires.

Start the guide
Also in this series

A guide for
every company.

Every guide is built the same way, from candidate reports rather than recycled advice. Each one is a year of interviews compressed into a weekend.

View all company guides