The interview plan
Ten weeks, about two hours a day. Each day is one to three lessons and three or four LeetCode problems. Every problem is free, and each lesson says what it needs. DSA runs the whole way, System Design joins in week 2, low-level design in week 7. The sixth day of every week is review: a timed drill on your weakest deck, and a mock round once there is something to mock. Networks, operating systems and databases have their own list: the fundamentals round.
Week 1 DSA first
Day 1Arrays and hashing
Day 2Arrays and hashing
Day 3Arrays and hashing
Day 4Two pointers
Day 5Two pointers
Day 6Review
Week 2 DSA and System Design
Day 7Sliding window
Day 8Sliding window
Day 9Prefix sums
Day 10Prefix sums
Day 11Stack and monotonic stack
Day 12Review
Week 3 DSA and System Design
Day 13Stack and monotonic stack
Day 14Binary search on an index
Day 15Binary search on an index
Day 16Binary search on the answer
Day 17Linked lists and fast/slow pointers
Day 18Review
Week 4 DSA and System Design
Day 19Linked lists and fast/slow pointers
Day 20Linked lists and fast/slow pointers
Day 21Trees
Day 22Trees
Day 23Trees
Day 24Review
Week 5 DSA and System Design
Day 25Trees
Day 26Tries
Day 27Heaps and top-k
Day 28Heaps and top-k
Day 29Backtracking
Day 30Review
Week 6 DSA and System Design
Day 31Backtracking
Day 32Backtracking
Day 33Graphs: BFS, DFS and topological sort
Day 34Graphs: BFS, DFS and topological sort
Day 35Graphs: BFS, DFS and topological sort
Day 36Review
Week 7 All three
Day 37Shortest paths
Day 38Shortest paths
Day 39Union-find
Day 40Intervals
Day 41Intervals
Day 42Review
Week 8 All three
Day 43Greedy
Day 44Greedy
Day 45Greedy
Day 461-D dynamic programming
Day 471-D dynamic programming
Day 48Review
Week 9 All three
Day 491-D dynamic programming
Day 501-D dynamic programming
Day 512-D dynamic programming
Day 522-D dynamic programming
Day 532-D dynamic programming
Day 54Review
Week 10 All three
Day 55Bits and math
Day 56Bits and math
Day 57Bits and math
Day 58Bits and math
Day 59Bits and math
Day 60Review
Every problem is a free LeetCode problem, checked against LeetCode's own index. The whole set, pattern by pattern, is on the problem sets. Ticks follow you to any device you sign in on. A lesson ticks itself when you mark it read, or tick it here if you skip it.