A practice plan that holds

Eight weeks, pattern by pattern, with the repetition that turns solutions into recall.

Volume is not the goal. Coverage of patterns, plus repetition, is what produces recall under pressure.

Order patterns by payoff

Week Focus Problems
1 Arrays, hash maps, two pointers 12
2 Sliding window, prefix sums, strings 12
3 Binary search, including on the answer 10
4 Stacks, queues, monotonic stack 10
5 Linked lists, fast and slow pointers 10
6 Trees, BSTs, traversal patterns 14
7 Graphs, BFS, DFS, topological sort, union-find 14
8 Dynamic programming and greedy 16

Roughly a hundred problems. That is a realistic target and enough for most interview loops.

The repetition schedule

Each problem gets three passes: the day you solve it, the next day, and a week later. The second pass is where the pattern moves from recognised to owned; skipping it is why people solve three hundred problems and still freeze.

Simulate the real thing

Once a week, do a 45-minute mock: a random problem, a timer, no editor autocomplete, and speak the entire time. Record yourself occasionally. The gap between what you think you explained and what you actually said is usually large — and closing it is free marks.

Keep two lists

The trigger list — signal → technique, one line per problem, in your own words.

The error list — the mistakes you personally made: forgot the empty case, wrong loop direction on knapsack, marked visited on dequeue. Reread it before every interview; it is the shortlist of your own bugs.

Do not skip the easy ones

Easy problems build the fluency that makes hard problems tractable. Someone who writes binary search correctly without thinking has all their attention free for the actual question.

Two weeks out

Stop learning new patterns. Redo the problems you already know, practise explaining out loud, and sleep properly. Recall under pressure comes from consolidation, not from cramming one more technique you will not remember.