Uber - 3 Month Prep Roadmap
For candidates building from scratch or aiming for a thorough preparation.
~2-3 hours/day | 5-6 days/week | Target: 200+ LC problems
Month 1: DSA Foundations
Weeks 1-2: Core Data Structures & Patterns
| Week |
Focus |
Problems (20/week) |
Course |
| 1 |
Arrays, Two Pointers, Sliding Window |
Two Sum, 3Sum, Container With Most Water, Trapping Rain Water, Product of Array Except Self, Longest Continuous Subarray (Abs Diff ≤ Limit) (6x at Uber), Sliding Window Maximum, Longest Repeating Character Replacement, Minimum Window Substring, Longest Substring Without Repeating Characters |
Mono Stack → Sliding Window |
| 2 |
HashMap, Stack, Queue, Binary Search |
LRU Cache (4x), Insert Delete GetRandom O(1) (3x), Group Anagrams (2x), Valid Parentheses, Largest Rectangle in Histogram, Daily Temperatures, Search in Rotated Sorted Array, Split Array Largest Sum, Design Hit Counter |
Algorithms → Binary Search |
Weeks 3-4: Graphs (Uber's #1 Topic)
| Week |
Focus |
Problems (20/week) |
Course |
| 3 |
Graph BFS/DFS, Grid Graphs |
Number of Islands (3x), Rotting Oranges (2x), Bus Routes (12x), Pacific Atlantic Water Flow, Max Area of Island, Clone Graph, Walls and Gates, Open the Lock, Shortest Bridge, Surrounded Regions |
Graph Course Ch 1-2 |
| 4 |
Topo Sort, Union Find, Shortest Path |
Course Schedule II (5x), Alien Dictionary (4x), Number of Islands II (3x), Making a Large Island (2x), Cheapest Flights Within K Stops (2x), Evaluate Division (2x), Reconstruct Itinerary (4x), Network Delay Time |
Graph Course Ch 3-5 |
Month 1 target: ~80 problems solved, Graph fundamentals mastered
Month 2: DP, Trees, Advanced Topics + LLD Start
Weeks 5-6: DP & Trees
| Week |
Focus |
Problems (15/week) |
Course |
| 5 |
Dynamic Programming |
Decode Ways (2x), Minimum Path Sum (2x), Cherry Pickup (2x), Dungeon Game (2x), Maximum Profit in Job Scheduling, Word Break, House Robber I/II/III, Coin Change, Longest Increasing Subsequence, Longest Increasing Path in Matrix |
DP Course |
| 6 |
Trees, Trie, Intervals |
Word Search II (3x), Implement Trie, Kth Smallest in BST, Serialize/Deserialize Binary Tree, Binary Tree Right Side View, Merge Intervals (4x), My Calendar I (4x), Interval List Intersections, Find Median from Data Stream (3x), Task Scheduler (3x) |
Tree Course + Greedy → Intervals |
Weeks 7-8: LLD Fundamentals + Practice
| Week |
Focus |
Practice Problems |
| 7 |
OOP, SOLID, Design Patterns |
Study: Strategy, Factory, Observer, State, Composite, Singleton. Implement each pattern from scratch. |
| 8 |
LLD Practice (Uber favorites) |
Parking Lot (5x), In-Memory File System (4x), Car Reservation (5x). Write runnable code with design patterns. |
Course: LLD Course Ch 1-10
Month 2 target: ~150 problems solved, LLD patterns internalized
Month 3: System Design + Advanced LLD + Mocks
Weeks 9-10: Advanced LLD + Concurrency
| Week |
Focus |
Practice Problems |
| 9 |
Concurrency in LLD |
Producer-Consumer, Thread-safe Singleton, Pub-Sub System (3x), Circuit Breaker (3x), Multithreaded Job Scheduler (2x) |
| 10 |
More LLD + In-Memory Twitter (3x) |
Fan-out on write, Voter Management (3x), Train-Platform (3x), Uber Eats Pricing (3x) |
Course: LLD → Concurrency + Machine Coding
Weeks 11-12: System Design + Behavioral + Mocks
| Week |
Focus |
Details |
| 11 |
System Design deep dive |
Stock Notification (6x), Driver Heatmap (4x), Top-K Trending (4x), E-commerce Backend (3x), Notification System (3x), Logging System (3x) |
| 12 |
Mocks + Behavioral |
2 full DSA mocks, 2 LLD mocks, 2 HLD mocks. Prepare 5 STAR stories (ownership, conflict, impact, collaboration, mentorship). |
Course: System Design
Final Stats
| Category |
Target |
| LC problems solved |
200+ |
| LLD problems practiced |
10-12 |
| HLD problems practiced |
6-8 |
| Mock interviews completed |
6+ |
| Behavioral stories |
5 |
Topic Distribution (matches Uber interview frequency)
Graph problems: ~40 (Uber's #1 topic)
DP problems: ~30 (Uber's #2 topic)
Sliding Window/Array: ~25
Intervals: ~15
Heap/PQ: ~15
HashMap/Design: ~15
Trees/Trie: ~15
Binary Search: ~10
String: ~10
Stack: ~10
Backtracking: ~10
Other: ~5
----
Total: ~200
Key Uber-Specific Tips
- Runnable code — Uber won't accept pseudocode in any round. Practice writing complete, compilable solutions.
- Graph mastery is non-negotiable — BFS, DFS, topological sort, Union Find, Dijkstra. Bus Routes alone was asked 12 times.
- LLD = Machine Coding — You'll write a full OOP solution in 60 min. Practice timed coding sessions.
- Concurrency — Thread-safety in LLD is frequently tested. Know locks, semaphores, producer-consumer.
- HLD is the bar raiser — Deep-dive into trade-offs, not just diagrams. Be ready for rapid-fire follow-ups.
- Communication — Think out loud. Uber interviewers are collaborative and give hints.
- Don't over-prepare — 3 months is the sweet spot. Revision matters more than volume.