Study Roadmap
A 12-week plan from zero to interview-ready, with what to study each week, how many problems to do, and how to practise so it sticks.
How to use this site
Every topic page follows the same structure:
- The idea — the mental model, in plain words.
- Recognize it — the signals in a problem statement that point to the technique.
- Templates — copy-ready code in Python and C++ (the tab you pick is remembered across the site).
- Worked examples — full solutions with the reasoning behind each line.
- Common mistakes — the bugs that cost people interviews.
- Practice problems — a curated, graded list with a hidden key idea for each. Tick them off to track progress.
The 12-week plan
Assumes ~1.5–2 hours a day. Compress or stretch as needed; the order matters more than the pace.
| Week | Topics | Goal |
|---|---|---|
| 1 | Complexity, Arrays & Strings, Hashing | read constraints, use hash maps reflexively |
| 2 | Two Pointers, Sliding Window, Prefix Sums | turn O(n²) scans into O(n) |
| 3 | Sorting, Binary Search | including binary search on the answer |
| 4 | Linked Lists, Stacks & Queues | pointer fluency, monotonic stacks |
| 5 | Recursion, Backtracking | subsets, permutations, pruning |
| 6 | Binary Trees, BST | top-down vs bottom-up thinking |
| 7 | Heaps, Greedy, Intervals | top-k, scheduling, exchange arguments |
| 8 | Graph Traversal, Union-Find | BFS/DFS/topological sort without hesitation |
| 9 | Shortest Paths, Tries, Bit Manipulation | Dijkstra, prefix trees, XOR tricks |
| 10 | DP Fundamentals, 1D DP | state/transition thinking |
| 11 | 2D DP, Knapsack | the classic DP families |
| 12 | Design, mixed review, mock interviews | speed, communication, weak spots |
Stretch topics (competitive programming, or top-tier interviews): Advanced DP, MST & Advanced Graphs, Segment/Fenwick Trees, String Algorithms, Math.
A daily session
- Warm-up (10 min): redo one problem you marked “review”.
- Learn (20–30 min): read one section of a topic and type out its template from memory afterwards.
- Practise (45–60 min): 2–3 new problems. Timebox each:
- 0–25 min: try on your own. Write your approach before coding.
- 25–40 min: reveal the key idea hint. Try again.
- 40+ min: read a solution, then close it and re-implement from scratch.
- Reflect (5 min): in one sentence, what was the insight? Which signal should have tipped you off?
Spaced repetition
Mark a problem review (↺) if you needed a hint or a solution. Re-solve review problems after ~3 days, then ~1 week, then ~3 weeks. When you can solve it cold in under 20 minutes, mark it solved (✓). The practice tracker lets you filter by status to find review problems quickly.
Milestones
- After week 4: you can solve most Easy problems in < 15 minutes and recognise two-pointer/window/hash patterns instantly.
- After week 8: you can solve typical Mediums on arrays, trees and graphs in ~30 minutes.
- After week 12: you can solve most Mediums and some Hards, and you explain your reasoning out loud while coding.
Beyond the plan
- Do the pattern quiz regularly — recognition is half the battle.
- Use the visualizers whenever an algorithm feels like magic.
- Practise explaining solutions: see the interview framework.
- Keep the complexity cheat sheet and language reference open while practising.