Skip to content

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

  1. Runnable code — Uber won't accept pseudocode in any round. Practice writing complete, compilable solutions.
  2. Graph mastery is non-negotiable — BFS, DFS, topological sort, Union Find, Dijkstra. Bus Routes alone was asked 12 times.
  3. LLD = Machine Coding — You'll write a full OOP solution in 60 min. Practice timed coding sessions.
  4. Concurrency — Thread-safety in LLD is frequently tested. Know locks, semaphores, producer-consumer.
  5. HLD is the bar raiser — Deep-dive into trade-offs, not just diagrams. Be ready for rapid-fire follow-ups.
  6. Communication — Think out loud. Uber interviewers are collaborative and give hints.
  7. Don't over-prepare — 3 months is the sweet spot. Revision matters more than volume.