Ninety days is enough time to go from "I know loops" to "interview-ready" — but only if you
spend it well. Most students fail not from lack of effort but from bad allocation:
six weeks perfecting arrays, then panicking through graphs and DP in the final fortnight. This plan
front-loads the hard topics while you still have runway.
The ground rules
- 3–4 problems a day, every day beats 20 problems one day and zero for a week. Consistency compounds; cramming doesn't.
- Revision is non-negotiable. A solved problem you can't re-derive in 30 days is an unsolved problem.
- Track honestly. "Looked at the solution" is not "solved." Mark it for revision instead.
Phase 1 — Foundations (Days 1–21)
Arrays, strings, hashing, two pointers, sliding window, basic recursion. These are the alphabet
of every harder topic. Aim to recognise the pattern, not memorise solutions.
Milestone: ~70 problems, and you can spot a sliding-window problem on sight.
Phase 2 — Core structures (Days 22–50)
Linked lists, stacks & queues, trees (traversals, BST), heaps. This is where most people slow
down — budget for it. Do trees thoroughly; they're the gateway to graphs.
Milestone: ~90 problems cumulative; comfortable with recursion on trees.
Phase 3 — The hard topics (Days 51–75)
Graphs (BFS/DFS, topological sort, shortest paths) and dynamic programming. This is where
interviews are won and lost. If you've front-loaded correctly, you have three full weeks of
fresh energy for the material everyone else rushes.
Milestone: You can model a problem as a graph and choose the right traversal; you
recognise the 6–7 canonical DP patterns.
Phase 4 — Revision & mocks (Days 76–90)
No new topics. Re-solve everything you flagged, do timed mocks, and practise talking through your
approach out loud. The goal of the last two weeks is speed and composure, not coverage.
Milestone: Two clean mock interviews where you narrate your reasoning end-to-end.
Why role-based ordering matters here
This timeline assumes a generalist SDE target. If you're aiming at a specific role, the weights
shift — a frontend or data role lets you
compress Phase 3. That's the advantage of letting your role set the order instead of marching through
a sheet top to bottom. Set your role, let the plan reshape, and
track it without the spreadsheet.