Study plan

Pick the timeline
you actually have

Same pattern sequence either way. The difference is pace, depth per pattern, and how hard the job search runs alongside it.

12 weeks
3-month intensive
20–25 hrs/wk
✓ 24 weeks
6-month sustained
8–10 hrs/wk
Employed, prepping steadily without burning out
01 calendar blocks

Your week, blocked out

Put these in a real calendar with real alerts. The times are a template — shift them to your chronotype, but keep the shape: hardest work first, review daily, one long intake block, one full day off.

Mon / Wed / Fri · 6:30 – 7:30
New problems (1–2)
new problems · 60 min

Before work, before Slack. An hour you control beats three hours you keep getting pulled out of.

Tue / Thu · 6:30 – 7:00
Spaced review queue
review · 30 min

Short and frequent beats long and rare. Consistency is the whole mechanism.

Sat · 9:00 – 11:30
New pattern intake
pattern intake · 150 min

The one long block of the week: read the pattern, work the visualizers, write the templates cold.

Sun · 10:00 – 11:00
Timed set or mock
mock / design · 60 min

Two problems in 45 minutes under real pressure, or a peer mock. Simulate before you have to perform.

Weeknights · as available
Applications — from month 3
job search

No urgency early. Once the core patterns land, start a low, steady application rate to stay in market.

Weekly total

About 8–10 hrs. If you miss a block, skip it — do not stack two into one day. The schedule works because it repeats, not because any single session is long.

Imports as a repeating series for the whole 24 weeks, each with a 10-minute heads-up. A calendar alert you already trust beats another app asking for your attention.

02 week by week

The 24-week schedule

Dependency-ordered: nothing asks you to know a pattern you have not met yet.

Foundations

Hash maps, stacks, queues — the structures every other pattern is built on. Plus the Python stdlib moves that make interview code fast to write. — week 1: learn the pattern, work the Easy and early Medium problems.

Hash maps, stacks, queues — the structures every other pattern is built on. Plus the Python stdlib moves that make interview code fast to write. — week 2: the Hard problems, plus re-solve anything you flagged last week.

Your first two real patterns. Both are one-pass linear scans; learn to spot which one a problem is asking for. — week 1: learn the pattern, work the Easy and early Medium problems.

Your first two real patterns. Both are one-pass linear scans; learn to spot which one a problem is asking for. — week 2: the Hard problems, plus re-solve anything you flagged last week.

Prefix sums, Kadane’s and in-place tricks, then string-specific machinery: expand-around-center, frequency keys, and why += in a loop is quadratic. — week 1: learn the pattern, work the Easy and early Medium problems.

Prefix sums, Kadane’s and in-place tricks, then string-specific machinery: expand-around-center, frequency keys, and why += in a loop is quadratic. — week 2: the Hard problems, plus re-solve anything you flagged last week.

◆Resume + LinkedIn rewritten. Start applying this week.
Core

Binary search — including binary search on the answer, which most candidates never practise — then the bit tricks that turn a whole Blind-75 category into code you can actually explain. — week 1: learn the pattern, work the Easy and early Medium problems.

Binary search — including binary search on the answer, which most candidates never practise — then the bit tricks that turn a whole Blind-75 category into code you can actually explain. — week 2: the Hard problems, plus re-solve anything you flagged last week.

Pointer surgery. Reversal and dummy heads must be muscle memory; Floyd’s cycle detection is the classic follow-up. — week 1: learn the pattern, work the Easy and early Medium problems.

Pointer surgery. Reversal and dummy heads must be muscle memory; Floyd’s cycle detection is the classic follow-up. — week 2: the Hard problems, plus re-solve anything you flagged last week.

Tree structure and the BST invariant, then depth-first search proper: recursion, explicit stacks, islands, path problems. The highest-leverage block in the plan. — week 1: learn the pattern, work the Easy and early Medium problems.

Tree structure and the BST invariant, then depth-first search proper: recursion, explicit stacks, islands, path problems. The highest-leverage block in the plan. — week 2: the Hard problems, plus re-solve anything you flagged last week.

◆You can now solve most Easy and many Medium problems unaided.

Breadth-first search for unweighted shortest paths, then weighted graphs: Dijkstra, topological sort, and minimum spanning trees. — week 1: learn the pattern, work the Easy and early Medium problems.

Breadth-first search for unweighted shortest paths, then weighted graphs: Dijkstra, topological sort, and minimum spanning trees. — week 2: the Hard problems, plus re-solve anything you flagged last week.

Advanced

Heaps that stay size k, and the sort-then-sweep interval pattern. Both are formulaic once seen. — week 1: learn the pattern, work the Easy and early Medium problems.

Heaps that stay size k, and the sort-then-sweep interval pattern. Both are formulaic once seen. — week 2: the Hard problems, plus re-solve anything you flagged last week.

Monotonic stack (next-greater-element family) and greedy — including how to tell greedy is actually safe. — week 1: learn the pattern, work the Easy and early Medium problems.

Monotonic stack (next-greater-element family) and greedy — including how to tell greedy is actually safe. — week 2: the Hard problems, plus re-solve anything you flagged last week.

◆First mock interview. Do it before you feel ready.

Choose, explore, unchoose — plus tries. Slow down here; the recursion tree is the whole game. — week 1: learn the pattern, work the Easy and early Medium problems.

Choose, explore, unchoose — plus tries. Slow down here; the recursion tree is the whole game. — week 2: the Hard problems, plus re-solve anything you flagged last week.

Dynamic programming. The heaviest block by design — memoise first, convert to tabulation second, and practise naming the state out loud. — week 1: learn the pattern, work the Easy and early Medium problems.

Dynamic programming. The heaviest block by design — memoise first, convert to tabulation second, and practise naming the state out loud. — week 2: the Hard problems, plus re-solve anything you flagged last week.

Interview mode

Union-find, then no new patterns: recognition drills, timed mocks, and re-solving everything you flagged. — week 1: learn the pattern, work the Easy and early Medium problems.

Union-find, then no new patterns: recognition drills, timed mocks, and re-solving everything you flagged. — week 2: the Hard problems, plus re-solve anything you flagged last week.

◆Full simulated onsite: 2 coding rounds + 1 design + behavioral, back to back.
03 the review loop

Solving it once is not learning it

Retrieval beats re-reading, and spaced retrieval beats massed retrieval. When you solve a problem, it re-enters your queue on this schedule.

same day

If you needed the solution, re-solve it from a blank file before you sleep.

+2 days

The first interval where forgetting has started but recovery is still fast.

+7 days

If you get it clean here, the pattern is sticking.

+21 days

Final check. Clean at 21 days means it is yours.

04 how to work a problem

The 25-minute rule

1
Read once, then hide it

Read the problem, restate it out loud in your own words, and state the brute force before optimizing.

2
Name the pattern first

Before writing code, say which pattern this is and why. Wrong guesses here are cheap; wrong guesses 20 minutes in are not.

3
Set a 25-minute timer

Stuck at 25 minutes is not failure, it is the signal to look. Grinding for 90 minutes teaches you almost nothing.

4
Read the approach, not the code

Take the idea, close the page, and write the implementation yourself. Copying code creates the illusion of competence.

5
Re-solve from blank

Same day, empty file, no reference. This is the rep that counts.

6
Schedule the review

Tick it off, and let the +2 / +7 / +21 day queue bring it back.

05 readiness

You are ready when

Not "when I have done N problems" — problem count is an input, not an outcome. These are the outcomes.

01Given a new Medium, you name the right pattern within 2 minutes.
02You can write the sliding window, DFS, BFS, binary search, and backtracking templates from a blank file.
03You narrate your thinking continuously while coding, without being prompted.
04You state time and space complexity without being asked.
05You find your own bugs by walking through a small example, not by staring.
06You have completed at least one full mock onsite, back to back, with a real person.