Junior Engineer: 3-Month FAANG Prep Plan
Target: Software Engineer L3–L4 (junior-to-mid track)
Timeline: 12 weeks, ~20 hours/week
Outcome: Ready for 4–5 FAANG loops simultaneously
Overview
| Phase | Weeks | Focus | Goal |
|---|---|---|---|
| Foundation | 1–4 | DSA + fundamentals | Strong on basics |
| Practice | 5–8 | Interviews + design | Mock loops |
| Refinement | 9–12 | Polish + targeting | Offer ready |
PHASE 1: FOUNDATION (Weeks 1–4)
Mindset: Build speed and confidence in fundamentals.
Time commitment: 20 hours/week
Week 1: DSA Bootcamp
Daily Schedule (2–3 hours):
| Day | Topic | Activity | Target |
|---|---|---|---|
| Mon | Arrays & Strings | Read DSA/01-Arrays.md; solve 3 easy LeetCode | Two pointers, prefix sum patterns |
| Tue | Arrays continued | Solve 5 medium LeetCode (sliding window) | Fluent on sliding window |
| Wed | Linked Lists | Study reverse, merge; solve 3 problems | Understand pointer manipulation |
| Thu | Stacks & Queues | Study; solve 3 problems (mono stack patterns) | Mono-stack intuition |
| Fri | Hashing | Study HashMap/HashSet; solve 3 problems | Caching strategy comfort |
| Sat | Depth Review | Re-solve 5 problems from Mon–Fri | Reinforce patterns |
| Sun | Rest or catch up | Light review; reading only | Consolidate |
By end of Week 1: Comfortable with arrays, strings, two-pointers, hashing.
LeetCode path: 30–40 problems solved
Time: 15–18 hours
Week 2: Trees, Graphs, Search
| Day | Topic | Activity | Target |
|---|---|---|---|
| Mon | Binary Trees | Study traversals (in/pre/post order); solve 4 problems | Comfort with recursion |
| Tue | BST & Balanced Trees | Study BST properties; solve 3 problems | BST vs generic trees |
| Wed | Graph Basics | Study BFS/DFS; solve 3 problems | BFS/DFS fluency |
| Thu | Graph Advanced | Study shortest path, topological sort; solve 3 problems | Multiple graph patterns |
| Fri | Binary Search | Study template; solve 4 problems | Edge case mastery (lo/hi boundaries) |
| Sat | Integration | Solve 2 medium problems mixing trees + graphs | Complex problem solving |
| Sun | Rest | Review tricky parts; read ahead | Prepare for Week 3 |
By end of Week 2: Confident on tree/graph traversals, binary search.
LeetCode path: 50 total problems (20 from Week 1 + 30 new)
Time: 15–18 hours
Week 3: Dynamic Programming & Patterns
| Day | Topic | Activity | Target |
|---|---|---|---|
| Mon | DP Intro | Study coin change, longest subarray; solve 2 easy | Understand DP thinking |
| Tue | DP Medium | Solve 3 medium DP (Fibonacci variant, path counting) | DP recurrence fluency |
| Wed | Backtracking | Study N-Queens, permutations; solve 3 problems | Backtracking template |
| Thu | Greedy Algorithms | Study greedy proofs; solve 3 problems | When greedy works |
| Fri | System patterns | Study sliding window, two-pointers again; mixed difficulty | Pattern recognition |
| Sat | Integration | Solve 3 medium problems (mixed: trees + DP, graphs + greedy) | Cross-pattern solving |
| Sun | Rest | Review weak areas; group similar problems | Consolidate patterns |
By end of Week 3: Confident on DP, backtracking, pattern recognition.
LeetCode path: 80 total problems
Time: 15–18 hours
Week 4: Interview Simulation + System Design Intro
| Day | Topic | Activity | Target |
|---|---|---|---|
| Mon | Mock Coding | Timed 1-hour mock on LeetCode (coding only) | See how you perform under pressure |
| Tue | Debrief + Weak Spots | Review mock; identify pain points; do 2 targeted problems | Improve specific weaknesses |
| Wed | System Design Intro | Read System Design Template; analyze simple design | Understand components |
| Thu | Behavioral Basics | Write 5 STAR stories (template); practice telling one | Get comfortable with narrative |
| Fri | Coding Review | Solve 3 medium problems; focus on communication (narrate) | Practice talking while coding |
| Sat | Mini System Design | Design simple service (e.g., URL shortener) without reading template | Test template knowledge |
| Sun | Rest + Planning | Review Phases 1–4; plan Phase 2 | Mental reset |
By end of Week 4: 100+ LeetCode problems; 1 mock completed; basics of design; 5 behavioral stories.
Time: 15–18 hours
PHASE 2: PRACTICE (Weeks 5–8)
Mindset: Refine through realistic mock interviews.
Time commitment: 20 hours/week
Week 5: Coding Mock Loop
Structure: 3 full coding mocks in different formats.
| Day | Activity | Notes |
|---|---|---|
| Mon–Wed | Mock 1 (Phone-screen style) | 45 min; 1 problem; similar to real phone screen |
| Wed evening | Debrief Mock 1 | Identify 2–3 improvements |
| Thu–Fri | Mock 2 (Onsite-style medium) | 60 min; harder problem; more focus on communication |
| Fri evening | Debrief Mock 2 | Compare to Mock 1; progress check |
| Sat | Mock 3 (Mixed difficulty) | 60 min; random problem; test adaptability |
| Sun | Weekly Debrief | Write 3-bullet reflection; plan improvements |
Parallel: Solve 10–12 additional LeetCode problems (not under time pressure) to reinforce patterns.
Time: 18–20 hours
Week 6: System Design Deep Dives
Goal: Get comfortable designing under pressure.
| Day | Activity | Format | Notes |
|---|---|---|---|
| Mon | Design URL Shortener | Untimed; read template; design on paper | Learn template flow |
| Tue | Debrief URL Shortener | Compare to example | Identify gaps |
| Wed | Design News Feed | 60 min timed; no template; trust yourself | Test real skills |
| Thu | Debrief News Feed | Record yourself explaining your design | Identify communication issues |
| Fri | Design Messaging System | 60 min timed | Practice failure-mode thinking |
| Sat | Mock System Design Interview | Have peer interview you (60 min); use feedback template | Realistic evaluation |
| Sun | Debrief + Practice | Redo one design with improvements | Iterate |
Parallel: Continue 8–10 coding problems (easier ones to maintain speed).
Time: 18–20 hours
Week 7: Behavioral Rehearsal
Goal: Tell compelling stories naturally.
| Day | Activity | Format | Outcome |
|---|---|---|---|
| Mon–Tue | Write 10 stories | STAR template; each 5 min to tell | 10 rehearsed stories |
| Wed | Mock Behavioral | Have friend ask common questions; record yourself | Spot awkwardness |
| Thu | Refine Stories | Re-record; improve storytelling | Smoother delivery |
| Fri | System Design + Behavioral | Full 90-min mock: 45 min design + 45 min behavioral | Simulate real onsite |
| Sat | Debrief Full Mock | Self-evaluate rubric | Check readiness |
| Sun | Rest | Light prep only; recharge | Recharge before final push |
Parallel: 5–8 coding problems (maintenance reps).
Time: 18–20 hours
Week 8: Integration Week
Goal: Consolidate everything; identify final gaps.
| Day | Activity | Notes |
| --- | ------------------------------ | -------------------------------------------------------------------------------------------------------- | ----------------------------- |
| Mon | Full Coding Interview (90 min) | 2 problems back-to-back; peer interview; rubric |
| Tue | Debrief Coding | Identify 1 weak area; do 3 targeted reps |
| Wed | Full System Design (90 min) | New design problem; under time pressure |
| Thu | Debrief Design | Ask: communication? tradeoffs? failure modes? |
| Fri | Full Behavioral (60 min) | Random questions; score yourself |
| Sat | Full Loop Simulation | All 3 (coding + design + behavioral back-to-back) | Stamina + mental clarity test |
| Sun | Final Debrief + Rest | Self-assessment; ready for real loops? | Reset before Phase 3 |
Parallel: 3–5 coding problems (only for weak patterns).
Time: 18–20 hours
Checkpoint: By end of Week 8, you should be:
- ✅ Scoring 4–5 on rubric consistently
- ✅ Completing coding problems in 35–40 min (sub-45 min)
- ✅ Designing under 60 min with no template
- ✅ Telling behavioral stories smoothly
PHASE 3: REFINEMENT (Weeks 9–12)
Mindset: Polish; apply for real roles; negotiate offers.
Time commitment: 15–18 hours/week (lighter; you're interview-ready)
Week 9: Targeting + Applications
| Day | Activity | Output |
|---|---|---|
| Mon–Wed | Build target list | ATS-optimized resume for 10–15 companies |
| Thu–Fri | Optimize resume | Use ATS checklist; tailor role-specific keywords |
| Sat | LinkedIn/GitHub | Update profiles; add system design project |
| Sun | Apply | Submit 3–5 applications |
Parallel practice: 3 coding problems/day (maintenance; don't atrophy).
Time: 15–18 hours
Week 10: Early Interviews
Assume recruiter calls start this week.
| Daily | Activity |
|---|---|
| Morning (1–2h) | Do 2 coding reps (timed 30 min each) |
| Afternoon | If called: attend call |
| Evening | Debrief any interviews; do 1 system design problem |
What to expect: Phone screens or OAs starting.
Time: 12–15 hours (less if no calls yet)
Week 11: Onsite Prep
Assume first onsites scheduled.
| Activity | Frequency |
|---|---|
| Coding reps | 2 per day (30 min each) |
| System design | 1 per day (60 min; new problem) |
| Behavioral | Record yourself; 1 per day |
| Real Onsite | 1–2 loops |
Parallel: Attend actual interviews; learn from real feedback.
Time: 14–16 hours (plus actual interview time)
Week 12: Final Polish + Negotiation
| Activity | Outcome |
| ------------------- | ------------------------------------------------------------------------ | ---------------------- |
| Coding/Design | Minimal reps (2–3 per day) | Maintain muscle memory |
| Behavioral | 1–2 final rehearsals | Confidence |
| Real Interviews | 2–4 more loops | Normalize it |
| Offers | Negotiation playbook | Maximize package |
| Rest | Ample sleep night before loops | Peak performance |
Time: 12–15 hours
Success Metrics
By Week 4 (End of Phase 1)
- ✅ 100+ LeetCode problems solved
- ✅ 1 mock coding interview completed
- ✅ Scoring 3–4 on communication/correctness rubric
- ✅ 5 behavioral stories written
By Week 8 (End of Phase 2)
- ✅ Consistently scoring 4–5 on rubric
- ✅ 4–5 full loop mocks completed
- ✅ System design comfortable under time pressure
- ✅ Behavioral stories told smoothly
By Week 12 (Ready for Real Loops)
- ✅ 2–3 real loop offers
- ✅ Negotiating offers
- ✅ Decision made
Daily Routine (Example)
2–3 hour study blocks (do 2–3 per day):
- Block 1 (60–90 min): 1–2 LeetCode problems (timed 30–45 min each)
- Block 2 (60 min): 1 system design problem (untimed) OR behavioral story writing
- Block 3 (45 min): Read one section of fundamentals; concept reinforcement
Weekends: Full mocks (90–120 min); debrief (30 min); light week planning
Resources
- Coding: LeetCode (Grind75/LeetCode 75 lists); DSA fundamentals
- Design: System Design Template; Example Designs
- Behavioral: Behavioral Playbook
- Mocks: Leetcode contest; peer mocks; interviewing.io
- Resume: ATS Guide
Red Flags (Adjust Plan if You See These)
- ⚠️ Week 4: Scoring 1–2 on rubric → Spend Weeks 5–6 on fundamentals reps before mocking
- ⚠️ Week 8: Can't finish problems in 45 min → Add week; do more easy/medium problems
- ⚠️ Week 8: System design blank; no framework → Redo Week 6; practice more
- ⚠️ Week 10: No recruiter calls → Improve resume; consider cold outreach; adjust targeting
You've got this. 12 weeks to an offer. Let's go. 🚀