# 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](../../01-Foundations/01-DSA-and-Coding.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](../../04-System-Design-Library/00-System-Design-Template.md); analyze simple design | Understand components | | Thu | Behavioral Basics | Write 5 STAR stories ([template](../../03-INTERVIEWS/06-Behavioral-Interview-Playbook.md)); 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](../../02-System-Design/example-designs/url-shortener.md) | 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](../../05-Mock-Interviews/02-Peer-Feedback-Template.md) | 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](../../03-INTERVIEWS/06-Behavioral-Interview-Playbook.md); each 5 min to tell | 10 rehearsed stories | | Wed | Mock Behavioral | Have friend ask [common questions](../../03-INTERVIEWS/06-Behavioral-Interview-Playbook.md); 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](../../05-Mock-Interviews/01-Self-Evaluation-Rubric.md) | 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](../../05-Mock-Interviews/01-Self-Evaluation-Rubric.md) | | 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](../../05-Mock-Interviews/01-Self-Evaluation-Rubric.md) 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](../../04-Resume-LinkedIn-GitHub/faang-resume-guide.md) for 10–15 companies | | Thu–Fri | Optimize resume | Use [ATS checklist](../../04-Resume-LinkedIn-GitHub/ats-optimization.md); 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](../../07-Offer-Negotiation/salary-negotiation.md) | 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](../../01-Foundations/01-DSA-and-Coding.md); concept reinforcement **Weekends:** Full mocks (90–120 min); debrief (30 min); light week planning --- ## **Resources** - **Coding:** LeetCode (Grind75/LeetCode 75 lists); [DSA fundamentals](../../01-Foundations/01-DSA-and-Coding.md) - **Design:** [System Design Template](../../04-System-Design-Library/00-System-Design-Template.md); [Example Designs](../../02-System-Design/example-designs/) - **Behavioral:** [Behavioral Playbook](../../03-Interviews/06-Behavioral-Interview-Playbook.md) - **Mocks:** Leetcode contest; peer mocks; interviewing.io - **Resume:** [ATS Guide](../../04-Resume-LinkedIn-GitHub/faang-resume-guide.md) --- ## **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.** 🚀