Most "FAANG prep schedule" posts have one of two problems: they're written by people who quit their jobs to prep full-time (totally unrealistic for everyone with rent), or they're a vague "do 200 LeetCode and 10 system designs" list that gives you nothing to actually schedule. This plan is built around the realistic working-engineer constraint: 10-15 hours per week, evening and weekend prep, and the constraint that you can't permanently lower your performance at your current job.
The plan assumes you can write fluent code in at least one language and you've solved at least 30-50 LeetCode-style problems before. If you're brand new to coding interviews, double the timeline.
The 8-week structure at a glance
| Week | Primary focus | Secondary | Hours |
|---|---|---|---|
| 1 | Pattern audit + warm-up | STAR story drafts | 10-12 |
| 2 | Coding patterns: arrays, two-pointer, sliding window | STAR refinement | 12-15 |
| 3 | Coding patterns: trees, graphs, BFS/DFS | 1 mock coding | 12-15 |
| 4 | System design intro + 3 designs | Coding maintenance | 12-15 |
| 5 | Dynamic programming + heap | 2 system designs | 12-15 |
| 6 | Mock-interview heavy week | 3 mocks across disciplines | 15-18 |
| 7 | Company-specific drilling | Reduce coding volume, sharpen behavioral | 12-15 |
| 8 | Taper and recover | 1 final mock per discipline | 6-8 |
Week 1: Pattern audit and warm-up (Day-by-day)
Goal
Take an honest inventory of where you are, get back into "thinking in patterns" mode, and start the slowest-to-build asset: behavioral stories.
Daily breakdown
Monday (1.5 hr): Read the 15 LeetCode Patterns guide. Self-rate each pattern 1-5 (1 = "I've never seen this," 5 = "I can write a template from scratch in under 3 min"). Save the list.
Tuesday (2 hr): Solve 2 problems from your strongest pattern. Don't peek at solutions for 30 minutes per problem. If you can't solve in 30, study the solution then re-solve immediately.
Wednesday (1 hr): Draft your "challenge" STAR story (a time you solved a hard technical problem). Spend 20 minutes writing it out, 30 minutes editing. Aim for 4 minutes of speaking time.
Thursday (2 hr): 2 problems from your second-strongest pattern. Same 30-min rule.
Friday (1 hr): Draft your "conflict" STAR story (a time you disagreed with a teammate). 20-30 minute first draft.
Saturday (2-3 hr): Long session. 3 problems from your weakest pattern. Type them in a plain text editor (no IDE auto-complete). Time-box: 30 min coding + 10 min studying solution.
Sunday (1-1.5 hr): Review the week. Re-do one problem from each session you struggled on. Write a single paragraph in a notes file: "what did I learn this week?"
Week 2: Arrays, two-pointer, sliding window
Drill the bread-and-butter patterns
50%+ of FAANG coding problems use one of these three patterns or a variation. By the end of this week, you should be able to:
- Recognize "two pointer" from the problem statement in under 30 seconds
- Write the sliding-window template (expand right, contract left, check invariant) from memory
- Solve "longest substring without repeats", "container with most water", "trapping rain water", "longest substring with at most K distinct chars" each in < 20 min
Weekly schedule
- 4 days at 2 hours each (2 problems per day, alternate two-pointer and sliding-window)
- 1 day at 1.5 hours focused on string-manipulation problems
- Saturday: 2.5-hour long session with 1 hard problem + revising STAR stories
- Sunday: rest or 1 hour of light review
This is the foundation. Don't rush past it. People who skip foundational pattern work get blindsided by phone screens that look "easy" but use unfamiliar pattern variations.
Week 3: Trees, graphs, BFS/DFS
Trees and graphs together cover roughly 30% of FAANG coding rounds. Both reduce to the same core skill: recursive thinking + understanding when to use BFS vs DFS.
Key problems for this week
- Tree: level-order traversal, lowest common ancestor, validate BST, serialize/deserialize tree, binary tree max path sum
- Graph: number of islands, course schedule (topological sort), word ladder (BFS), graph clone, network delay time
Mock interview #1
Schedule your first paid mock interview this week, ideally on Saturday or Sunday. Pramp is free, interviewing.io is paid but higher-signal. Don't worry about the result — the goal is to establish a baseline for stress response and figure out what your weak spots are under pressure.
Week 4: System design intro
Reduce coding to 1 problem per day (maintenance, not learning) and shift the bulk of your time to system design. Most candidates start system design too early (week 1) or too late (week 7) — week 4 is the sweet spot because your coding pattern recognition is strong enough that you can absorb new conceptual material.
Required reading
- The System Design Cheat Sheet — entire document
- 3 canonical designs: URL shortener, chat system, news feed
- One write-up on consistent hashing (don't skip this; it comes up everywhere)
Self-drafted design
Pick one of the 3 you read. Wait 24 hours. Then design it from scratch in your own notes (without looking at the reference). Compare your design to the reference. The gap is your weak spot.
Week 5: Dynamic programming + heap
DP is where most candidates plateau. The fix isn't more problems — it's understanding the formula: identify state, write recurrence, decide bottom-up vs memoized, optimize space.
DP problems to drill (in this order)
- House robber (1D, classic warmup)
- Climbing stairs / coin change (1D, slightly harder)
- Longest increasing subsequence (1D, O(n log n) version)
- Edit distance (2D, two strings)
- Word break (1D with set lookup)
- Burst balloons or matrix chain multiplication (2D, range)
Don't memorize answers. After solving each, spend 10 minutes writing in your notes: "the state for this problem is X, the recurrence is Y, the base case is Z." The act of articulating it cements the pattern.
Heap problems
Top-K elements, merge K sorted lists, find median from data stream, task scheduler. 4 problems total. Each demonstrates the heap "right tool for the job" feeling that interviewers reward.
Week 6: Mock-interview heavy week
This is the week that separates candidates who get offers from candidates who get rejected. Most people skimp on mocks because they're expensive and stressful. Both are exactly why they're valuable.
Mock schedule
- 1 coding mock with a senior engineer (interviewing.io or via your network). 60 minutes minimum.
- 1 system design mock — ideally with someone who's done L5+ interviewing at FAANG. Have them push back on your design.
- 1 behavioral mock — can be with a peer. Have them grade for STAR specificity and length.
Between mocks
- 1 LeetCode medium per day (no hard problems this week — reduce cognitive load)
- Re-read and refine your STAR stories based on mock feedback
- Read 1 more system design (any topic you haven't covered)
Week 7: Company-specific drilling
By now you know which companies you're interviewing at. This week is for company-specific drilling. Each FAANG has subtle differences:
| Company | What's distinctive |
|---|---|
| Mid-difficulty algorithms with twist; Google Docs (no IDE); system design at L4+; Googleyness round | |
| Meta | Often 2-problem coding rounds (1 easy + 1 medium in same 45 min); product sense round at IC5+ |
| Amazon | Heavy Leadership Principles behavioral; coding is often easier than other FAANG but bar-raiser round is a real filter |
| Apple | Team-specific (loops vary widely); systems / OS / low-level questions common; less LeetCode-heavy than peers |
| Netflix | Mid-senior+ only; minimal LeetCode; very heavy behavioral around "keeper test" and high-context culture |
Spend the week drilling the company-specific "top 50" list from a source like Levels.fyi or company-specific Pramp lists. Do these as recognition drills, not learning drills — you should already know the patterns.
Week 8: Taper and recover
The single biggest mistake candidates make is over-training in the final week. Pattern recognition needs sleep to consolidate. Adding 30 more problems the week of your interview hurts you.
Schedule
- Mon-Tue: 1 LeetCode medium per day. 1 hour of system design review.
- Wed: One final coding mock (with the goal of warming up, not learning).
- Thu: One final system design mock + behavioral mock.
- Fri: Light. Re-read your STAR stories. Practice delivering them in front of a mirror or recording yourself.
- Sat-Sun: Active rest. Don't do problems. Sleep 8 hours. Exercise. The week of your interview, prioritize circadian rhythm over additional study.
Day-of tip: eat protein for breakfast (slower glucose curve), hydrate, walk 10 minutes before each round, and treat the bathroom break between rounds as sacred. Most candidates lose 1-2 rounds to cognitive fatigue rather than knowledge gaps.
What to do if you only have 4 weeks instead of 8
If your loop is in 4 weeks rather than 8, compress as follows:
- Skip the original Week 1 audit; start at Week 2 effort level
- Compress Weeks 2-3 into Week 1 of your accelerated plan (heavy coding)
- Move system design to Week 2
- Keep the mock-heavy week (was Week 6) — this is non-negotiable
- Compress taper to 3 days instead of 5
4 weeks is doable but tight. If you have less than 4 weeks, consider asking the recruiter to push your loop — most will accommodate one delay if you're polite about it.
Tools we recommend
- LeetCode — the canonical problem set. Premium isn't strictly necessary but the company-tagged lists save time.
- NeetCode 150 / Blind 75 — curated lists if you want a defined problem set
- Pramp (free peer-to-peer mocks) and interviewing.io (paid expert mocks)
- CoPilot Interview — for real-time AI feedback while you practice and during actual remote interviews. See our live demo.
- System Design Primer (donnemartin/system-design-primer GitHub) — free, comprehensive
Practice the full 8 weeks with AI feedback
CoPilot Interview gives you real-time AI assistance for coding, system design, and behavioral rounds. Free for Windows and macOS.
Download freeFAQ
Is 8 weeks enough time to prep for FAANG?
Yes, if you can already write fluent code in one language and have 10-15 hours per week to dedicate. If you're rusty on DSA or working a draining job, 12-14 weeks is more realistic.
Should I quit my job to prep full-time?
Almost never. Full-time prep usually triggers burnout by week 3-4. Steady 10-15 hours/week beats sporadic 40-hour weeks because pattern recognition needs spacing to consolidate in memory.
How many LeetCode problems should I do?
Quality beats quantity. 80-120 problems done deliberately (re-solving when stuck, writing the pattern down) outperforms 300 problems where you peeked at solutions after 10 minutes.
When should I start system design?
Week 4 of this plan. By then your coding pattern recognition is strong enough that adding system design doesn't crowd out coding prep. Starting earlier dilutes both.
How many mock interviews should I do?
5-8 total, weighted toward weeks 6-7. Less than 5 means you walk into the real loop without a stress baseline; more than 10 starts to hit diminishing returns.
What if I fail my first FAANG loop?
Most companies have a 6-12 month re-application window. The candidate who fails a loop, takes feedback seriously, and re-applies in 8 months has dramatically better odds than someone applying cold. Re-do this plan compressed and target the same company.