Hub post — every linked guide below slots into this schedule.
Most coding interview preparation fails not from lack of effort but from lack of structure: months of randomly grinding problems, no retention, panic before system design rounds. This plan fixes that with three principles — patterns beat problem count, review beats novelty, and simulating beats reading. Twelve weeks, roughly 90 minutes daily, adjustable down to 8 weeks by compressing phases 2–3.
Phase 1: Foundations (Weeks 1–3)#
Goal: fluency with the core toolkit before touching hard problems.
| Week | Focus | Deliverables |
|---|---|---|
| 1 | Arrays, strings, hash maps | Reimplement basics from scratch; 10 easy problems |
| 2 | Big-O intuition, recursion | Complexity analysis cold |
| 3 | Linked lists, stacks, queues | Data structure selection guide internalized |
Daily budget: 30 min learning + 45 min solving + 15 min writing notes on why each solution worked. The notes habit matters more than the problem count — you're building a personal pattern library, not chasing numbers.
Phase 2: Pattern Mastery (Weeks 4–7)#
Goal: recognize the twenty-ish recurring interview patterns on sight. Work through the pattern cheat sheet systematically — two pointers and sliding window first (week 4), then trees/BFS/DFS (weeks 5–6), then dynamic programming and graphs (week 7).
Rules for this phase:
- Timebox attempts: 25–30 minutes genuinely stuck means read the approach, close it, implement from memory. Struggling is the workout; peeking after honest effort is how learning happens.
- Re-solve everything after 3 days. Spaced repetition converts "I've seen this" into "I can produce this."
- Alternate difficulty: medium problems are the actual interview currency; sprinkle hards only once mediums feel routine.
Phase 3: Simulation (Weeks 8–10)#
Goal: perform under realistic pressure, because interviewing is a performance skill.
- Weeks 8–9: Two mock live-coded problems weekly — timer running, narrating aloud, a friend or platform playing interviewer. Expect your first mocks to be humbling; that's the point of doing them now.
- Week 10: Add system design sessions — one per week minimum, walking through the framework until scoping-to-scaling feels mechanical.
- Prepare behavioral stories in STAR form in parallel evenings; they're written once, reused everywhere.
Phase 4: Taper and Apply (Weeks 11–12)#
Goal: peak sharpness without burnout — treat this like an athlete's taper.
- Light review only: re-solve your pattern notes' flagged problems, skim your own summaries
- One final full mock loop per company type
- Schedule applications so first interviews land after week 11 — early interviews at dream companies wasted on unprepared versions of you is the most common self-inflicted loss
- Practical checklist ready: environment tested, portfolio current, questions for interviewers drafted
The mistakes that waste months#
- Grinding count without review — 300 problems half-remembered lose to 80 mastered
- Skipping simulation — knowing solutions and performing them under observation are different skills
- Ignoring system design until the end — it's a separate muscle needing its own weeks
- Studying only your strongest language — pick one language for interviews (TypeScript and Python dominate) and drill exclusively in it
- No rest days — retention consolidates between sessions; seven-day weeks produce diminishing returns
Track progress simply: a spreadsheet of problems solved with date, pattern, and confidence rating. Anything below "solved smoothly" gets scheduled for re-solving. By week twelve, that sheet becomes your personalized final-review deck — and the interview stops feeling like luck.
Related: system design framework · DSA patterns · junior developer roadmap for pre-interview foundations