Uber Interview Prep
Uberβs interview loop for SDE-2+ emphasizes distributed systems heavily. Expect a CodeSignal or phone screen, 2 DSA rounds, an LLD/machine coding round, a system design round, and a behavioral round. A key differentiator: Uberβs coding and machine coding rounds often expect runnable code with real test cases, so syntax fluency and debugging speed matter more than at most companies.
The system design round expects depth on real-time systems, geo-indexing, and event-driven architectures. Uber open-sourced many of their internal tools (Cadence/Temporal, Ringpop, H3) - knowing these shows domain awareness.
HLD Problems Asked at Uber
| # | Problem | Difficulty | Link |
|---|---|---|---|
| 1 | Uber / Lyft (Ride Sharing) | Advanced | Read β |
| 2 | Zomato / Uber Eats (Food Delivery) | Advanced | Read β |
| 3 | Distributed Job Scheduler | Advanced | Read β |
| 4 | Rate Limiter | Beginner | Read β |
| 5 | Notification System | Intermediate | Read β |
LLD / Machine Coding Problems Asked at Uber
Uberβs coding rounds often expect runnable code, not just a class diagram. Practice writing a working demo with clean OOP and concurrency handling.
| # | Problem | Difficulty | Link |
|---|---|---|---|
| 1 | Insert Delete GetRandom O(1) | Intermediate | LeetCode β |
| 2 | Splitwise (Expense Sharing) | Intermediate | Read β |
| 3 | Parking Lot | Beginner | Read β |
| 4 | Vending Machine | Beginner | Read β |
| 5 | Elevator System (concurrency) | Intermediate | Read β |
| 6 | Rate Limiter (Token Bucket) | Intermediate | Read β |
DSA Problems Frequently Asked at Uber
| # | Problem | Pattern | Link |
|---|---|---|---|
| 1 | Merge Intervals | Sorting + Greedy | Solve β |
| 2 | Alien Dictionary | Topological Sort | LeetCode β |
| 3 | Insert Delete GetRandom O(1) | HashMap + Array | LeetCode β |
| 4 | Sliding Window Maximum | Monotonic Deque | Solve β |
| 5 | Cheapest Flights Within K Stops | BFS / Bellman-Ford | LeetCode β |
| 6 | Number of Islands | BFS / DFS on Grid | Solve β |
| 7 | Course Schedule | Topological Sort | Solve β |
| 8 | Group Anagrams | HashMap + Sorting | Solve β |
| 9 | Word Break | DP + Trie | Solve β |
| 10 | Task Scheduler | Greedy / Heap | Solve β |
| 11 | Find Median from Data Stream | Two Heaps | LeetCode β |
| 12 | Graph Valid Tree | Union-Find / DFS | Solve β |
Want a hard-only, pattern-complete drill? See The Hard List - 19 patterns, at least four hard problems each, weighted toward the graph, DP, and heap questions Uber leans on.
Tips for Uber Interviews
- Know their open-source stack. Mentioning Cadence/Temporal for workflow orchestration, H3 for geo-indexing, or Ringpop for consistent hashing shows you understand Uberβs domain.
- Real-time is expected. Uber builds real-time systems (matching, tracking, pricing). Show comfort with WebSockets, event streaming, and sub-second latency requirements.
- Geo-spatial thinking matters. If youβre designing anything location-related, discuss geohash, H3 hexagons, or Redis Geo. Donβt just say βstore lat/lng in a database.β
- Distributed systems depth. Uber expects senior candidates to discuss distributed locking, exactly-once delivery, saga patterns, and failure handling without prompting.
- Write code that actually runs. In DSA and machine coding rounds, Uber interviewers frequently ask you to run your solution against test cases. Practice in a real IDE, handle edge cases, and leave time to debug - a clean approach that doesnβt compile scores poorly.