This guide tracks 8 patterns (1 of them typically hard), 5 commonly reported questions, and a 5-round loop that usually runs 2-4 weeks.
Key patterns
Showing 3 of 8Common questions
Showing 3 of 5Interview process
Showing 1 of 5 roundsStart studying now, without an account
Every lesson below is a free public reading page. No sign-up, no install, and the worked examples run in the tab.
The Python behind Uber's top patterns
These lessons do not teach the patterns themselves. They teach the language mechanics each pattern is built from, which is the part you have to have in your hands before the pattern is worth practicing.
- Arrays & HashingPython10 min readTuples & setsGroup fixed records with tuples and track uniqueness with sets.
- Arrays & HashingPython10 min readDictionariesMap keys to values: read safely, assign, and merge dictionaries.
- BFS (Breadth-First Search)Python12 min readCounter, defaultdict & dequeReach for specialized collections: count with Counter, group with defaultdict, queue with deque.
- HeapPython11 min readLambdas & higher-order functionsPass functions as values: sorted(key=...), map, and filter.
- Binary SearchPython22 min readShrink the failing inputA bug report with a 400 row file is not a diagnosis. Cut the input down until removing anything else makes the failure disappear, and the answer is usually visible.
- TreesPython11 min readRecursion: a function that calls itselfSolve a problem in terms of a smaller version of itself, with a base case to stop.
Uber runs a system design round
The System Design course opens with the method itself: how to scope a vague prompt, turn it into requirements you can defend, and budget the clock. You write your own answer first, then reveal a model answer to compare against.
- System design roundSystem Design25 min readClarifying a Vague PromptTurn a one-line prompt into a scoped problem with three to five sharp questions and explicit out-of-scope.
- System design roundSystem Design20 min readFunctional RequirementsPick the three user capabilities that define the core loop, phrase them as 'users can X', and defer the rest with a reason.
- System design roundSystem Design25 min readNon-Functional Requirements, QuantifiedTurn 'scalable and reliable' into quantified, testable targets (p99, nines, QPS) and name the design lever each one forces.
How Uber judges you outside the code
The values and engineering norms the interviewers are calibrated against. Useful for the behavioral round, and useful for deciding which trade-off to argue for in the technical one.
Values they name
- We build globally, we live locally
- We are customer obsessed
- We celebrate differences
- We do the right thing - period
- We act like owners
- We persevere
- We value ideas over hierarchy
- We make big bold bets
What they look for in behavioral rounds
- Show ownership mentality and accountability
- Demonstrate ability to work with global, diverse teams
- Exhibit customer-first thinking in decisions
- Display resilience and ability to overcome challenges
- Show you can challenge ideas respectfully regardless of seniority
How the team builds
- Real-time systems at massive scale
- Mobile-first engineering mindset
- Data-driven decision making
- Geo-spatial problems are core competency
- Reliability is paramount - millions depend on us
Primary stack
- Go
- Java
- Python
- Node.js
- React Native
- Kafka
- MySQL
- Redis
- Code review
- code reviews focused on scalability and reliability
- Deployment
- continuous deployment with feature flags
- Documentation
- documentation required for system design and APIs
Reading the guide is the easy part. Uber will ask you to perform.
CodeSparring is a practice environment, not a question bank. You sit a full round against an AI interviewer, in an editor that runs your code, and you leave with a score and a specific next rep.
An interviewer that reacts
Carry one problem from clarifying questions through to working code while an AI interviewer responds to what you say and what you type, by voice or by text.
Code that actually runs
An editor in the page with a real runtime and real test cases. You run your solution and read the output, the same way you would in a shared editor on the day.
A scored round, not a vibe
Every session ends with a rubric covering problem solving, communication, and code quality, so you can see which part of the round is costing you the offer.
And 364 lessons you can read right now, free
The whole curriculum is public. Read the concept, run the worked example in the tab, and only sign in when you want the graded exercise at the end of a lesson.