90-Day Coding Interview Prep Course

Senior Engineer → Meta | Google | Netflix | OpenAI | Anthropic

Personalized for a Senior Data Engineer (16 years experience) targeting L5/E5+ equivalent roles at top-tier technology companies.

How this course works

This 90-day plan is structured around 30 minutes of focused daily practice. Each session follows a consistent rhythm:

PhaseDurationAction
Read & Understand5 minutesRead the problem, identify constraints, think about edge cases
Code20 minutesWrite your solution. If stuck after 10 min, look at hints then code
Review & Reflect5 minutesCompare with optimal solution, note the pattern, log any gaps

Four-phase structure

PhaseDaysWeeksFocus
Phase 1: Foundation Refresh1–211–3Arrays, strings, linked lists, stacks — rebuild core pattern recognition
Phase 2: Intermediate Patterns22–494–7Trees, graphs, heaps, DP — master patterns that dominate senior interviews
Phase 3: Advanced & Company-Specific50–708–10Hard problems, data structure design, company-targeted practice
Phase 4: Simulation & Polish71–9011–13Timed mocks, company-specific drills, gap-filling, final review

Company interview profiles

Each target company has distinct coding interview characteristics. This course maps every problem to the companies most likely to ask it.

CompanyCoding roundsDifficultyKey characteristics
Meta (E5)2 rounds (1 traditional + 1 AI-enabled)Medium–HardNo pure DP; arrays, trees, graphs. Meta‑tagged LeetCode is highly effective.
Google1–2 problems in 45 min, plain editorMedium–HardHeavy DS/algo focus. Communication matters as much as solution.
NetflixCoding + mini system design hybridMediumPractical twist; questions often evolve into scalability.
OpenAIPractical coding, not pure LeetCodeMediumData structure design, debugging, caching; AI use prohibited.
AnthropicCodeSignal OA (90 min) + live codingMedium–HardProgressive builds (LRU Cache, KV store). Real‑world focus.

Sources (original PDF): hellointerview.com, beyz.ai, getsdeready.com, sundeepteki.org, igotanoffer.com, reddit.com/r/theprimeagen

Phase 1 — Foundation Refresh (Days 1–21 · Weeks 1–3)

Phase 1 rebuilds your muscle memory across the most fundamental data structures and patterns. These problems appear frequently at every target company and form the building blocks for harder problems in later phases.

Week 1: Arrays, strings & hashing (Days 1–7)

DayProblemLC #Diff.PatternCompany tagTime
1Two Sum1EasyHash MapAll Companies10m
2Valid Anagram242EasyHashing / SortingMeta, Google10m
3Group Anagrams49MediumHash Map GroupingMeta, Google20m
4Top K Frequent Elements347MediumHeap / Bucket SortMeta, Google20m
5Product of Array Except Self238MediumPrefix / SuffixGoogle, Netflix20m
6Longest Consecutive Sequence128MediumHash SetGoogle20m
7Review Day — Revisit unsolved + timed practice on Days 3–630m

Week 2: Two pointers, sliding window & binary search (Days 8–14)

DayProblemLC #Diff.PatternCompany tagTime
8Valid Palindrome125EasyTwo PointersMeta10m
93Sum15MediumTwo Pointers / SortGoogle, Meta20m
10Container With Most Water11MediumTwo PointersGoogle20m
11Best Time to Buy & Sell Stock121EasySliding WindowAll Companies10m
12Longest Substring Without Repeating Characters3MediumSliding WindowMeta, Netflix20m
13Binary Search + Search Insert Position704 / 35EasyBinary SearchGoogle15m
14Review Day — Timed re‑solve of Week 2 mediums30m

Week 3: Linked lists & stacks / queues (Days 15–21)

DayProblemLC #Diff.PatternCompany tagTime
15Reverse Linked List206EasyLinked ListMeta, Google10m
16Merge Two Sorted Lists21EasyLinked List MergeMeta10m
17Linked List Cycle + Cycle II141 / 142E/MFast / Slow PointerGoogle15m
18LRU Cache146MediumHash Map + DLLAnthropic, Meta25m
19Min Stack155MediumStack DesignOpenAI15m
20Valid Parens + Min Remove Parens20 / 1249E/MStackMeta25m
21Review + Phase 1 Assessment — Timed: 3 random problems30m

Phase 2 — Intermediate Patterns (Days 22–49 · Weeks 4–7)

Phase 2 tackles the patterns that dominate senior‑level coding interviews: binary trees, graph traversals, heaps, and dynamic programming. These problems require deeper algorithmic thinking and are the core of Google and Meta interviews.

Week 4: Binary trees (Days 22–28)

DayProblemLC #Diff.PatternCompany tagTime
22Invert Binary Tree226EasyDFSGoogle10m
23Maximum Depth of Binary Tree104EasyDFS / BFSGoogle10m
24Binary Tree Level Order Traversal102MediumBFSMeta, Google20m
25Binary Tree Vertical Order314MediumBFS + Hash MapMeta20m
26Lowest Common Ancestor236MediumDFSMeta, Google20m
27LCA of Binary Tree III1650MediumTwo Pointers on TreeMeta20m
28Review Day — Revisit tree problems, focus on recursive patterns30m

Week 5: Graphs — BFS / DFS (Days 29–35)

DayProblemLC #Diff.PatternCompany tagTime
29Number of Islands200MediumBFS / DFS Flood FillGoogle, Meta20m
30Clone Graph133MediumBFS / DFS + Hash MapMeta20m
31Course Schedule207MediumTopological SortGoogle20m
32Course Schedule II210MediumTopological SortGoogle20m
33Word Ladder127HardBFSGoogle25m
34Accounts Merge721MediumUnion‑Find / DFSMeta, Google25m
35Review Day — Graph traversal patterns + cycle detection30m

Week 6: Heaps, intervals & greedy (Days 36–42)

DayProblemLC #Diff.PatternCompany tagTime
36Kth Largest Element in Array215MediumHeap / QuickselectMeta, Google20m
37Find Median from Data Stream295HardTwo HeapsMeta, Google25m
38Merge Intervals56MediumSort + SweepMeta, Google, Netflix20m
39Meeting Rooms II253MediumHeap / SortGoogle, Meta20m
40Task Scheduler621MediumGreedy / HeapMeta20m
41Non‑overlapping Intervals435MediumGreedyGoogle20m
42Review Day — Heap operations + interval merge pattern30m

Week 7: Dynamic programming foundations (Days 43–49)

DayProblemLC #Diff.PatternCompany tagTime
43Climbing Stairs70Easy1D DPGoogle10m
44House Robber198Medium1D DPGoogle15m
45Coin Change322MediumDPGoogle20m
46Longest Increasing Subsequence300MediumDP / Binary SearchGoogle20m
47Unique Paths62Medium2D DPGoogle15m
48Word Break139MediumDP + Trie / HashGoogle, Meta25m
49Review + Phase 2 Assessment — Timed: 3 random problems30m

By the end of Phase 2, you should recognize tree/graph traversal patterns on sight, implement BFS/DFS without reference, and know when DP applies vs. greedy approaches.

Phase 3 — Advanced & company‑specific (Days 50–70 · Weeks 8–10)

Phase 3 elevates your preparation to interview‑level difficulty. You will tackle hard LeetCode problems, build practical data structures (critical for OpenAI and Anthropic), and practice company‑specific problem patterns.

Week 8: Advanced trees & graphs (Days 50–56)

DayProblemLC #Diff.PatternCompany tagTime
50Serialize / Deserialize Binary Tree297HardBFS / DFSMeta, Google25m
51Binary Tree Max Path Sum124HardDFSMeta, Google25m
52Alien Dictionary269HardTopological SortGoogle25m
53Graph Valid Tree261MediumUnion‑FindGoogle20m
54Minimum Height Trees310MediumTopological / BFSGoogle25m
55Network Delay Time743MediumDijkstraGoogle25m
56Review Day — Hard tree/graph problems30m

Week 9: Practical data structure design (Days 57–63) — OpenAI / Anthropic focus

DayProblemLC #Diff.PatternCompany tagTime
57Design HashMap706EasyHash DesignOpenAI, Anthropic15m
58Snapshot Array1146MediumBinary Search / DesignOpenAI25m
59Time Based Key‑Value Store981MediumBinary Search / DesignOpenAI, Anthropic25m
60Key‑Value Store with TTL (custom)MediumDesignAnthropic25m
61Implement Trie208MediumTrieGoogle20m
62Design Twitter355MediumOOP + HeapMeta25m
63Review Day — Data structure design patterns30m

OpenAI / Anthropic note: These companies test practical engineering over clever algorithms. Focus on clean API design, edge‑case handling, and the ability to extend your solution when requirements change mid‑interview. Anthropic’s CodeSignal OA builds progressively — each level adds complexity to the previous solution.

Week 10: Hard problems & mixed practice (Days 64–70)

DayProblemLC #Diff.PatternCompany tagTime
64Basic Calculator II227MediumStack / ParsingMeta25m
65Trapping Rain Water42HardTwo Pointers / StackGoogle25m
66Median of Two Sorted Arrays4HardBinary SearchGoogle25m
67Regular Expression Matching10HardDPGoogle25m
68Longest Valid Parentheses32HardStack / DPMeta25m
69Sliding Window Maximum239HardMonotonic DequeGoogle25m
70Review + Phase 3 Assessment — Timed: 3 hard problems30m

Phase 4 — Simulation & polish (Days 71–90 · Weeks 11–13)

The final phase focuses on timed, realistic mock sessions organized by target company. You will practice under interview conditions, identify and fill remaining gaps, and build the confidence needed for peak performance.

Week 11: Meta mock week (Days 71–77)

DayProblemLC #Diff.PatternCompany tagTime
71Random Pick with Weight528MediumBinary SearchMeta20m
72Subarray Sum Equals K560MediumPrefix Sum / HashMeta20m
73Min Remove Valid Parens (re‑solve)1249MediumStack (timed)Meta15m
74Nested List Weight Sum339MediumDFSMeta15m
75Dot Product of Sparse Vectors1570MediumHash / Two PointerMeta15m
76Full mock — 2 Meta problems in 40 minMixedMeta40m
77Review — Analyze mock performance, revisit weak areasMixedReviewMeta30m

Week 12: Google & Netflix mock week (Days 78–84)

DayProblemLC #Diff.PatternCompany tagTime
78Longest Palindromic Substring5MediumDP / ExpandGoogle20m
79Decode Ways91MediumDPGoogle20m
80Search in Rotated Sorted Array33MediumBinary SearchGoogle20m
81Number of Connected Components323MediumUnion‑FindGoogle20m
82Rate Limiter (coding + design)MediumDesignHybrid Netflix25m
83Full mock — 2 Google problems in 45 minMixedMockGoogle45m
84Review — Revisit hardest unsolved problemsMixedReview30m

Week 13: OpenAI & Anthropic mock + final review (Days 85–90)

DayProblemLC #Diff.PatternCompany tagTime
85Progressive KV Store (Anthropic style)MediumDesign / BuildAnthropic30m
86Version‑Controlled Data StructureMediumDesign / BuildOpenAI30m
87Debug & Optimize Caching SystemMediumDebug / DesignOpenAI30m
88Full mock — 2 problems, 45 min (random)MixedMockRandom45m
89Full mock — 2 problems, 45 min (weakest topic)MixedMockWeakest topic45m
90Final review — Top 10 hardest + personal cheat sheetMixedReviewAll Companies30m

Day 90 final review checklist

  • Re‑solve your top 10 hardest problems from the entire course (aim for < 15 min each).
  • Create a 1‑page personal cheat sheet of patterns you still find tricky.
  • Review all company‑specific tips (see below) for your upcoming interviews.
  • Verify you can implement BFS, DFS, Union‑Find, LRU Cache, and Trie from memory.
  • Practice explaining your approach out loud — communication is scored at every company.

Quick reference: pattern cheat sheet

The 15 most important coding patterns. For each problem, identify the pattern first — the implementation follows naturally.

PatternWhen to useTemplate / key ideaKey problems
Two PointersSorted array, pair finding, palindromes(L = 0, R = n - 1); move based on comparisonLC 15, 11, 125, 42
Sliding WindowContiguous subarray/substring optimizationExpand (R), shrink (L) when condition breaksLC 3, 121, 239
Binary SearchSorted data, min/max optimizationlo = 0, hi = n-1; shrink by halfLC 704, 33, 4
BFSShortest path, level‑order, layer‑by‑layerQueue + visited set; process level by levelLC 102, 200, 127
DFSTree traversal, path finding, backtrackingRecursion or stack; base case + recurseLC 104, 236, 124
Topological SortDependency ordering, cycle detection in DAGKahn’s (BFS + indegree) or DFS post‑orderLC 207, 210, 269
Union‑FindConnected components, grouping, equivalencefind() with path compression + union‑by‑rankLC 721, 261, 323
Heap (Top K)Kth largest/smallest, streaming medianMin‑heap of size K; or two heaps for medianLC 215, 295, 347
Prefix SumSubarray sum queries, range sumsprefix[i] = sum(arr[0:i]); range = p[j] - p[i]LC 560, 238
Monotonic StackNext greater/smaller element, histogramsStack maintains decreasing order; pop when violatedLC 42, 239, 32
BacktrackingPermutations, combinations, constraint satisfactionChoose → Explore → Un‑choose; prune earlyLC 46, 78, 51
DP (1D)Optimal substructure + overlapping subproblemsdp[i] = f(dp[i-1], dp[i-2], …)LC 70, 198, 322
DP (2D)Grid paths, two‑string matching, knapsackdp[i][j] = f(dp[i-1][j], dp[i][j-1], …)LC 62, 10, 139
TriePrefix matching, autocomplete, word searchNode with children map + isEnd flagLC 208, 211, 212
Hash Map DesignCustom data structures, LRU/LFU, versioningCombine hash map + linked list / arraysLC 146, 706, 981

Company‑specific tips

Tactical advice for each target company’s coding interviews. Adapt your approach to match what each company values most.

Meta (E5 Senior)

  • Focus: arrays, strings, trees, graphs. No pure DP. 2 coding rounds (1 may be AI‑enabled).
  • Meta‑tagged LeetCode questions are extremely predictive; the pool is well‑known.
  • Speed matters — aim to solve mediums in 15–20 minutes with clean code.

Prep strategy

  • Drill the top 50 Meta‑tagged LeetCode problems.
  • Practice with LC 1249, 314, 227, 215, 1650.
  • Talk through your approach before coding.
  • Prioritize bug‑free first submissions.

Google

  • Focus: heavy DS/algo — binary search, BFS/DFS, trees, heaps, DP, Union‑Find, tries, segment trees.
  • You code in a plain text editor (no autocomplete). Communication and structured thinking are scored equally with correctness. 1–2 problems per 45‑minute round.

Prep strategy

  • Practice coding without IDE features.
  • Verbalize your thought process: state approach, discuss complexity, then code.
  • Prepare for follow‑up optimizations on every problem.

Netflix

  • Focus: medium LeetCode with a practical twist. Coding rounds carry less weight; system design is king.
  • Questions often come in two parts and evolve into mini system designs. Expect scalability questions: “What if this needs to handle 10M users?”

Prep strategy

  • For coding rounds, practice problems that bridge to system design (rate limiters, caches).
  • Invest most prep time in system design.
  • Show senior engineering judgment and trade‑off thinking.

OpenAI

  • Focus: practical coding — data structures (SnapshotArray, version control), debugging, caching, cache invalidation. Edge‑case testing emphasis.
  • These are not pure LeetCode; they test real engineering skills. Problem‑solving matters more than algorithmic cleverness. AI use is strictly prohibited during interviews.

Prep strategy

  • Build real data structures from scratch (KV store, cache).
  • Practice debugging others’ code.
  • Focus on comprehensive edge‑case handling.
  • Write production‑quality code with clear structure and tests.

Anthropic

  • Focus: CodeSignal OA (90 min, progressive levels) + live coding in Google Colab / Replit. Problems like LRU Cache, KV DB, banking system, file cache.
  • The OA is progressive — each level builds on your previous code. Messy code in Level 1 makes Level 4 impossible. Live coding tests scaling (e.g., 100K requests/sec).

Prep strategy

  • Practice building systems incrementally: start simple, then add features.
  • Write modular, extensible code from the start.
  • Practice timed CodeSignal‑style sessions (90 min, 4 levels).