Technical Interview Prep

Technical Interview Prep: The 90-Day Plan (2026)

A realistic 12 week plan to get from shaky on arrays to offer-ready at FAANG. Exact problem counts per week, mock schedule, systems design framework, and the resource stack that beats random LeetCode grinding.

By Surya L.Updated May 26, 2026.15 min
On this page(9)

Why 90 days

Three months is long enough to rebuild pattern recognition from scratch, short enough that you do not burn out before the interview loop starts. Most candidates who prep for 6 months end up doing the last 8 weeks of real work anyway. The rest is warm up. This plan compresses the warm up.

You do not need 500 LeetCode problems. You need the right 200, in the right order, with two mock rounds a week once you hit phase 3. Every engineer who has cleared a FAANG loop in the last few years will tell you the same thing: it is not the volume, it is the pattern coverage plus the pressure reps. This guide gives you both on a clock.

Assumption: you can commit 2 to 3 hours on weekdays and 5 to 6 hours on weekends. If you can only do 1 hour a day, double the plan to 24 weeks. Do not compress below 90 days unless you have interviewed in the last 6 months already.

The 4 phases at a glance

Phase 1 (Weeks 1 to 2): Fundamentals

Goal: Lock in the data structures and the core complexity intuition. No shortcuts here.

Volume: 30 to 40 problems

Focus: Arrays, strings, hashmaps, linked lists, stacks, queues, recursion, binary search. One topic per day with 3 to 4 easy or medium problems each.

Phase 2 (Weeks 3 to 4): Patterns

Goal: Recognise problem patterns in under 60 seconds. This is the phase where LeetCode starts feeling less random.

Volume: 50 to 60 problems

Focus: Two pointers, sliding window, fast and slow pointers, BFS and DFS on trees and graphs, backtracking, dynamic programming (1D and 2D), heap, trie. Solve 4 problems per pattern.

Phase 3 (Weeks 5 to 8): Mock rounds + systems design

Goal: Translate solo problem solving into interview performance under pressure with a human listening.

Volume: 80 to 100 problems + 12 mocks

Focus: Medium and hard LeetCode daily, 2 mock interviews per week on pramp or interviewing.io, start systems design every weekend using the Grokking book or System Design Primer.

Phase 4 (Weeks 9 to 12): Company specific

Goal: Load the last 6 months of tagged questions for your target company. Close the gap to offer.

Volume: 60 to 80 problems + behavioural prep

Focus: Company tagged LeetCode (premium), behavioural STAR prep, salary negotiation scripts, final 3 mocks with actual engineers from target companies.

Week by week grid (12 weeks)

WeekLeetCode volumeTopic focusMocks
Week 118 problemsArrays + hashmaps + strings0
Week 218 problemsLinked lists + stacks + recursion + binary search0
Week 325 problemsTwo pointers, sliding window, BFS / DFS1 (pramp)
Week 425 problemsBacktracking + DP 1D + heap + trie1
Week 520 problemsDP 2D + graph advanced; 1 systems design problem2
Week 620 problemsHard problems in weak patterns; 1 systems design2
Week 722 problemsMixed pattern drilling; 2 systems design2
Week 822 problemsRandom pick simulation; 2 systems design2
Week 920 problemsCompany tagged top 502
Week 1020 problemsCompany tagged 51 to 100 + behavioural2
Week 1118 problemsReview weak areas + full behavioural run2
Week 1210 problemsRest, review, sleep. No new patterns.1

Totals: about 238 LeetCode problems and 17 mocks across 12 weeks. If that feels low, you are miscounting the effort per problem. Spending 45 minutes on a medium plus 30 minutes reviewing the editorial is 1 problem done right, not 2.

Systems design: the 6 step framework

Most candidates fail systems design because they jump straight to boxes and arrows. The 6 steps below are the structure every senior interviewer is scoring you on, whether they say so or not. 45 minute round, time budgets in brackets.

Step 1 (2 min): Clarify requirements

Functional (read vs write heavy, core flows), non-functional (scale, latency, consistency, availability), constraints (budget, team size).

Step 2 (3 min): Capacity estimation

QPS, storage per day, bandwidth. Write it on the board. Back of the envelope math is not optional.

Step 3 (5 min): API design

4 to 6 REST or gRPC endpoints with request or response shape. Avoid over-specifying; just the critical fields.

Step 4 (10 min): High level design

Client, load balancer, service layer, cache, database, async workers, CDN. Draw boxes and arrows.

Step 5 (15 min): Deep dive

Pick 2 bottlenecks (DB sharding, cache eviction, consistency tradeoffs). Go deep on one. Most candidates skip this and lose the round.

Step 6 (5 min): Tradeoffs + wrap

Call out what you would revisit with more time. Interviewers love candidates who name their own gaps.

Mock interview schedule that actually works

The number one gap between candidates who clear FAANG and those who do not is mock volume. Aim for 17 mocks across the 12 weeks. Split roughly: 10 coding, 5 systems design, 2 behavioural. Most people do zero behavioural mocks and then freeze when asked about conflict at work.

  • Weeks 3 to 4: 1 mock per week on pramp (free, peer to peer). Just get used to talking while coding.
  • Weeks 5 to 8: 2 mocks per week. Mix pramp with interviewing.io (anonymous FAANG engineers).
  • Weeks 9 to 11: 2 mocks per week, shift to paid platforms (interviewing.io premium, igotanoffer) for target company interviewers.
  • Week 12: 1 final mock. Rest the rest of the week. Do not introduce new material 7 days before a loop.

The resource stack (ranked)

LeetCode (premium strongly worth it in phase 4)

Company tagged questions + editorial solutions + hard filters.

NeetCode 150 and NeetCode 250

Best free curated list. Follow the order; do not skip around.

Educative: Grokking the Coding Interview

Learn the 14 patterns here. Worth the subscription for phase 2.

System Design Primer (Donne Martin, GitHub)

Free. Read end to end once, then use as reference.

Grokking the System Design Interview

Pair with the Primer. Case studies on Twitter, Uber, TinyURL, Netflix.

interviewing.io and pramp

Free mocks with real engineers. interviewing.io has anonymous FAANG interviewers.

Cracking the Coding Interview (McDowell)

Still the gold reference. Read chapters 1 to 11.

Designing Data-Intensive Applications (Kleppmann)

Only if you target senior or staff roles. Heavy but definitive.

Top 5 mistakes that waste months

  • Grinding random LeetCode daily. Without a pattern map, 300 problems teaches you less than 100 problems grouped by technique.
  • Skipping mocks because you are not ready. You will never feel ready. Start mocks in week 3. Bad early mocks teach more than late perfect ones.
  • Watching solution videos before attempting. Sit with the problem for 25 minutes minimum. Passive watching does not build problem solving.
  • Ignoring systems design until week 10. You need 8 weeks of weekly cases. Cramming it in 2 weeks is how senior candidates fail the round they should ace.
  • Zero behavioural prep. Behavioural is 30 percent of a FAANG loop. Prep 10 STAR stories, rehearse them out loud, record yourself. This is not optional.

External references

Frequently asked questions

How many LeetCode problems should I solve before a FAANG interview?+
Between 200 and 300 well understood problems, heavy on mediums. Quality over count. 150 problems you can re-solve cleanly beat 500 problems you barely remember.
Is LeetCode premium worth the money?+
Yes, but only from week 9 onwards. Company tagged questions and sort by frequency make the final 4 weeks dramatically more targeted. Before that, free LeetCode plus NeetCode is enough.
How many hours per day is realistic?+
2 to 3 on weekdays, 5 to 6 on weekends. Any more and you burn out by week 8. Rest days are part of the plan, not a failure.
Do I need to know a specific language?+
Pick one and stick with it. Python is fastest to write, C++ is preferred for competitive edge, Java is common at enterprise and Amazon. Switching languages mid-prep costs 2 to 3 weeks.
How much systems design do I need as a new grad?+
Usually zero. New grad loops focus on coding and behavioural. Systems design kicks in for 3+ years experience or L4+ roles. Check the specific loop for your target role.
What if I fail a mock badly?+
Good. That was the point. Review the recording, identify whether it was a knowledge gap or a communication issue, and schedule the next mock within 3 days. Do not wait.
Should I apply while still prepping?+
Start applying around week 8. Interview loops take 3 to 5 weeks to schedule, so by the time you are in the final round you will be in phase 4 anyway. Do not wait for perfect readiness.

Get the resume ready before the first onsite

A 90 day plan is wasted if your resume stalls at the recruiter screen. Build an ATS clean, FAANG ready resume in 20 minutes on ResumeBuildz.

Spotted something off?

Suggest an edit