90 Days. 90 Problems.

90 problems. 1 a day. Interview ready.

The 90 problems FAANG interviews actually repeat, ordered so each one builds on the last. One problem a day, from complete basics to the final boss, with Codeforces sprinkled in so you learn to solve, not memorize.

The full 90-day plan is free. Sign in to unlock problem links and track your streak — your progress syncs to your account.

View Roadmap
Also free: the Development Roadmap
90
Days
90
Problems
LC + CF
Practice mix
Personal progress
0%
0 of 90 done
Sign in to start tracking.
One problem a day — 90 days to glory.
FAANG-repeated LeetCode patterns, in the right order.
Codeforces reps mixed in so you solve, not memorize.
Stage 1 / 11Days 1-8

Complete Basics

Syntax confidence: input/output, conditions, loops, arrays, strings. If you already code daily, clear this stage fast.

0/8 complete

The goal is to stop thinking about syntax so you can start thinking in edge cases and constraints.

Day 1LeetCodeEasy

Fizz Buzz

LoopsConditionals
Day 2LeetCodeEasy

Richest Customer Wealth

Arrays
Day 3LeetCodeEasy

Palindrome Number

Math
Day 4LeetCodeEasy

Plus One

ArraysMath
Day 5CodeforcesCF 800

Watermelon

MathBasics
Day 6CodeforcesCF 800

Way Too Long Words

Strings
Day 7CodeforcesCF 800

Team

Implementation
Day 8CodeforcesCF 800

Bit++

Implementation
Stage 2 / 11Days 9-18

Arrays & Hashing

Frequency maps, prefix sums, set tricks — the vocabulary every other pattern is written in.

0/10 complete

Most interviews open here. Build the habit of proving why one pass and a hash map are enough.

Day 9LeetCodeEasy

Two Sum

Hash Map
Day 10LeetCodeEasy

Contains Duplicate

Sets
Day 11LeetCodeEasy

Valid Anagram

Frequency
Day 12LeetCodeMedium

Group Anagrams

Hash MapSorting
Day 13LeetCodeMedium

Top K Frequent Elements

Bucket SortHeap
Day 14LeetCodeMedium

Product of Array Except Self

PrefixSuffix
Day 15LeetCodeMedium

Subarray Sum Equals K

Prefix SumHash Map
Day 16LeetCodeMedium

Valid Sudoku

SetsMatrix
Day 17LeetCodeMedium

Longest Consecutive Sequence

Sets
Day 18CodeforcesCF 1200

Same Differences

Hash MapMath
Stage 3 / 11Days 19-28

Two Pointers & Sliding Window

Shrinking search space from both ends and maintaining windows with invariants.

0/10 complete

The highest-frequency medium pattern at FAANG. If you can state the window invariant out loud, the code writes itself.

Day 19LeetCodeEasy

Valid Palindrome

Two Pointers
Day 20LeetCodeMedium

Two Sum II - Input Array Is Sorted

Two Pointers
Day 21LeetCodeMedium

3Sum

Two PointersSorting
Day 22LeetCodeMedium

Container With Most Water

Two PointersGreedy
Day 23LeetCodeEasy

Best Time to Buy and Sell Stock

Sliding Window
Day 24LeetCodeMedium

Longest Substring Without Repeating Characters

Sliding WindowSets
Day 25LeetCodeMedium

Longest Repeating Character Replacement

Sliding Window
Day 26LeetCodeMedium

Permutation in String

Sliding WindowFrequency
Day 27CodeforcesCF 1400

Books

Two Pointers
Day 28LeetCodeHard

Minimum Window Substring

Sliding WindowHash Map
Stage 4 / 11Days 29-35

Stacks & Queues

LIFO thinking: matching, monotonic stacks, and expression evaluation.

0/7 complete

Monotonic stack questions separate candidates who memorized from candidates who understand. Learn the 'pop while worse' template once, reuse it forever.

Day 29LeetCodeEasy

Valid Parentheses

Stack
Day 30LeetCodeMedium

Min Stack

StackDesign
Day 31LeetCodeMedium

Evaluate Reverse Polish Notation

Stack
Day 32LeetCodeMedium

Generate Parentheses

StackBacktracking
Day 33LeetCodeMedium

Daily Temperatures

Monotonic Stack
Day 34CodeforcesCF 1400

Regular Bracket Sequence

StackGreedy
Day 35LeetCodeHard

Largest Rectangle in Histogram

Monotonic Stack
Stage 6 / 11Days 43-50

Linked Lists

Pointer surgery: reversal, fast/slow pointers, and the design classic LRU Cache.

0/8 complete

LRU Cache is one of the most-asked design questions at Amazon and Meta. Everything before it here is training for it.

Day 43LeetCodeEasy

Reverse Linked List

Pointers
Day 44LeetCodeEasy

Merge Two Sorted Lists

Pointers
Day 45LeetCodeEasy

Linked List Cycle

Fast & Slow
Day 46LeetCodeMedium

Reorder List

Fast & SlowReversal
Day 47LeetCodeMedium

Remove Nth Node From End of List

Two Pointers
Day 48LeetCodeMedium

Add Two Numbers

MathPointers
Day 49LeetCodeMedium

LRU Cache

DesignHash Map
Day 50LeetCodeHard

Merge k Sorted Lists

HeapDivide & Conquer
Stage 7 / 11Days 51-60

Trees & BSTs

Recursion you can trust: traversals, BST properties, and building intuition for 'what does this subtree return?'

0/10 complete

Tree questions are the most common medium at Google. The trick is always the same: decide what each subtree must report upward.

Day 51LeetCodeEasy

Invert Binary Tree

DFS
Day 52LeetCodeEasy

Maximum Depth of Binary Tree

DFS
Day 53LeetCodeEasy

Diameter of Binary Tree

DFS
Day 54LeetCodeMedium

Binary Tree Level Order Traversal

BFS
Day 55LeetCodeMedium

Validate Binary Search Tree

BSTDFS
Day 56LeetCodeMedium

Lowest Common Ancestor of a BST

BST
Day 57LeetCodeMedium

Kth Smallest Element in a BST

BSTInorder
Day 58LeetCodeMedium

Construct Binary Tree from Preorder and Inorder

Divide & Conquer
Day 59LeetCodeMedium

Binary Tree Right Side View

BFS
Day 60LeetCodeHard

Binary Tree Maximum Path Sum

DFS
Stage 8 / 11Days 61-68

Heaps & Greedy

Priority queues for 'k-th' and streaming problems, plus greedy proofs you can defend out loud.

0/8 complete

Find Median from a Data Stream is a top-5 Amazon question. Greedy is easy to code and hard to justify — practice saying why the local choice is safe.

Day 61LeetCodeEasy

Kth Largest Element in a Stream

Heap
Day 62LeetCodeEasy

Last Stone Weight

Heap
Day 63LeetCodeMedium

Kth Largest Element in an Array

HeapQuickselect
Day 64LeetCodeMedium

Task Scheduler

HeapGreedy
Day 65LeetCodeMedium

Maximum Subarray

GreedyKadane
Day 66LeetCodeMedium

Jump Game

Greedy
Day 67CodeforcesCF 1100

Taxi

Greedy
Day 68LeetCodeHard

Find Median from Data Stream

Two HeapsDesign
Stage 9 / 11Days 69-78

Backtracking & Graphs

Systematic exploration: choose, explore, un-choose — then the same idea on grids and adjacency lists.

0/10 complete

Number of Islands and Course Schedule are the two most-asked graph questions in the industry. BFS/DFS on a grid must become muscle memory.

Day 69LeetCodeMedium

Subsets

Backtracking
Day 70LeetCodeMedium

Combination Sum

Backtracking
Day 71LeetCodeMedium

Permutations

Backtracking
Day 72LeetCodeMedium

Word Search

BacktrackingGrid
Day 73LeetCodeMedium

Number of Islands

BFSDFSGrid
Day 74LeetCodeMedium

Max Area of Island

DFSGrid
Day 75LeetCodeMedium

Clone Graph

DFSHash Map
Day 76LeetCodeMedium

Course Schedule

Topological Sort
Day 77LeetCodeMedium

Pacific Atlantic Water Flow

DFSGrid
Day 78LeetCodeHard

Word Ladder

BFS
Stage 10 / 11Days 79-88

Dynamic Programming

From recursion to memo to table. Ten problems that cover every 1D and 2D DP shape interviews use.

0/10 complete

DP is where offers are decided. Every problem here follows the same script: define the state, write the recurrence, pick the base case.

Day 79LeetCodeEasy

Climbing Stairs

1D DP
Day 80LeetCodeMedium

House Robber

1D DP
Day 81LeetCodeMedium

House Robber II

1D DPCircular
Day 82LeetCodeMedium

Longest Palindromic Substring

DPExpand Around Center
Day 83LeetCodeMedium

Coin Change

Unbounded Knapsack
Day 84LeetCodeMedium

Longest Increasing Subsequence

1D DPBinary Search
Day 85LeetCodeMedium

Longest Common Subsequence

2D DP
Day 86LeetCodeMedium

Word Break

1D DP
Day 87LeetCodeMedium

Unique Paths

2D DP
Day 88LeetCodeMedium

Edit Distance

2D DP
Stage 11 / 11Days 89-90

The Final Boss

Two closers that combine everything: intervals under pressure, and the most famous hard problem in interviews.

0/2 complete

Finish strong. If you can whiteboard Trapping Rain Water three different ways (brute force, prefix arrays, two pointers), you are ready for any onsite.

Day 89LeetCodeMedium

Merge Intervals

IntervalsSorting
Day 90LeetCodeHard

Trapping Rain Water

Two PointersPrefix