Uber Interview Guide
Uber’s coding rounds lean practical and systems-flavoured: problems that look like something the company would actually compute — matching riders to drivers, rate limiting, geospatial lookups, routing over a road network. Graph algorithms and design-shaped questions recur more than pure combinatorial puzzles.
The useful preparation shift is to expect problems phrased as a scenario rather than an abstract statement, and to be comfortable turning that scenario into a model before you start solving.
Strong bias toward problems with a geographic or scheduling flavour — graphs on maps, intervals over time, matching supply to demand.
The loop
The bar
What they lean on
This is the durable part. Which pattern families a company favours is far more stable than which individual problems it uses, so prepare in this order:
-
shortest-paths-dijkstra-bellman-ford-and-floyd-warshall -
merge-intervals -
sweep-line-and-event-counting -
grid-traversal-islands-and-flood-fill -
top-k-elements -
greedy-interval-scheduling
Quirks worth knowing
- Interval and sweep-line problems appear far above their base rate. Drill Phase 07 specifically.
- Expect "now it must run in real time on a million drivers" as a follow-up.
Reported problems
- 228Summary Rangeseasy
- 252Meeting Roomspremiumeasy
- 463Island Perimetereasy
- 733Flood Filleasy
- 56Merge Intervalsmedium
- 200Number of Islandsmedium
- 347Top K Frequent Elementsmedium
- 621Task Schedulermedium
- 743Network Delay Timemedium
- 787Cheapest Flights Within K Stopsmedium
- 57Insert Intervalmedium
- 130Surrounded Regionsmedium
- 215Kth Largest Element in an Arraymedium
- 253Meeting Rooms IIpremiummedium
- 417Pacific Atlantic Water Flowmedium
- 435Non-overlapping Intervalsmedium
- 451Sort Characters By Frequencymedium
- 452Minimum Number of Arrows to Burst Balloonsmedium
- 646Maximum Length of Pair Chainmedium
- 695Max Area of Islandmedium
- 731My Calendar IImedium
- 763Partition Labelsmedium
- 846Hand of Straightsmedium
- 973K Closest Points to Originmedium
- 1020Number of Enclavesmedium
- 1024Video Stitchingmedium
- 1094Car Poolingmedium
- 1334Find the City With the Smallest Number of Neighbors at a Threshold Distancemedium
- 1631Path With Minimum Effortmedium
- 2406Divide Intervals Into Minimum Number of Groupsmedium
- 218The Skyline Problemhard
- 329Longest Increasing Path in a Matrixhard
- 732My Calendar IIIhard
- 759Employee Free Timepremiumhard
- 778Swim in Rising Waterhard
- 1368Minimum Cost to Make at Least One Valid Path in a Gridhard
- 1851Minimum Interval to Include Each Queryhard
- 2290Minimum Obstacle Removal to Reach Cornerhard
Pitfalls
Section titled “Pitfalls”- Solving before modelling. These problems arrive as scenarios. Say out loud what the nodes and edges are, or what the state is, before writing anything — getting the model wrong is the expensive failure here.
- Forgetting the graph is weighted. “Fewest steps” cues BFS; road networks have distances. One weighted edge and you need Dijkstra — or 0-1 BFS if the weights are only 0 and 1.
- Ignoring the operational angle. These are systems people. What happens when a driver disconnects, when the request rate spikes, when two matches collide? Naming a failure mode unprompted lands well.
- Treating design questions as pure algorithms. A rate limiter question wants the bucketed, bounded-memory answer, not just a correct one.
Interview follow-ups
Section titled “Interview follow-ups”| They ask | What they’re checking | The answer |
|---|---|---|
| “Model this as a graph. What are the nodes?” | Whether you can turn a scenario into a structure | Answer explicitly — intersections as nodes and roads as weighted edges, or riders and drivers as the two sides of a bipartite graph. The model is most of the solution. |
| “The edges have travel times now.” | BFS’s precondition | BFS is only shortest-path-correct on uniform costs. Switch to Dijkstra at ; if the weights are only 0 and 1, 0-1 BFS with a deque keeps it linear. |
| “What if there are millions of requests per second?” | Bounded memory | Bucket by time: a fixed array of slots keyed by t % window, holding (timestamp, count). time and space regardless of traffic — how real rate limiters are built. |
| “What breaks in production?” | Operational instinct | Name a concrete failure and a mitigation — stale driver locations, a hot partition, a retry storm. Volunteering this is a differentiator. |
Recall card
Section titled “Recall card”- Problems arrive as scenarios. Model first — name the nodes, edges, or state out loud before solving.
- Weighted graphs, not just BFS. Road networks have distances: Dijkstra, or 0-1 BFS for 0/1 weights.
- Design questions want bounded memory — the bucketed rate limiter, not merely a correct one.
- Volunteer a failure mode. Disconnections, spikes, retry storms. These are systems people.
- Graph and design families dominate the recurring pattern list below.
pch.coffeeTagline
pch.coffeeCtapch.feedbackHeading
pch.feedbackSubheading