Data Structures & Algorithms
It is not 500 problems.
It is ten patterns and one way of seeing.
Most people grind hundreds of problems and still freeze in the interview, because they were memorizing answers instead of learning to recognize shapes. We do it the other way around. You learn to measure code, master the handful of structures everything is built from, and see the pattern hiding inside the question. Do that, and the problems start solving themselves.
The whole subject, in one breath
Big O: judge any solution before you trust it.
Arrays, lists, stacks, hash maps, trees, graphs.
Recursion, DFS and BFS: visit everything, cleanly.
The named patterns that win interviews.
By the end, you can
Read any solution and know if it scales
Glance at code and call its Big O before you run it.
Turn brute force into elegant
Spot when a hash map or two pointers drops O(n squared) to O(n).
Walk trees and graphs without fear
DFS and BFS become one calm, reusable habit.
Recognize the pattern under the question
See the five shapes that most interview problems are built from.
The climb, ten steps
Each step is motivated by the last. The color warms as the ground gets steeper.
Complexity & Thinking
2 lessonsBefore you write a line, you learn to judge code. Two correct answers exist for every problem, and Big O is how an interviewer tells which one gets hired.
Linear Structures
5 lessonsThe containers. Arrays, linked lists, stacks, queues. Nine out of ten problems are one of these four wearing a costume, so you learn to see through it.
Arrays & Dynamic Arrays
The foundation of almost every data structure you'll ever use
Two Pointers Technique
Turn O(n²) brute force into elegant O(n) solutions
Linked Lists
A chain of boxes, each one knows only where to find the next
Stacks
Last-in, first-out, the structure behind function calls, undo buttons, and expression parsing
Queues & Deques
First-in, first-out, the fairness principle behind BFS and task scheduling
Search & Sort
3 lessonsStop looking at everything. Binary search is the first time a million items shrink to twenty steps, and the moment it clicks, it never leaves.
Recursion
2 lessonsThe scary one, made calm. A function that trusts itself to solve the smaller version. Get comfortable here and trees and graphs stop being hard.
Hash Maps & Sets
2 lessonsThe cheat code. A surprising number of "hard" problems quietly collapse to O(n) the second you reach for a hash map. This is the highest-leverage rung.
Trees
3 lessonsHierarchy. File systems, the DOM, org charts, search. Once you have recursion, walking a tree is just recursion with somewhere to look.
Graphs
2 lessonsAlmost everything is a graph: maps, friend lists, dependencies, the internet. Two traversals, BFS and DFS, and you can reason about all of it.
Dynamic Programming
2 lessonsThe one people fear most, defused. Dynamic programming is just recursion that remembers what it already worked out. We make it boring, in the good way.
Greedy & Heaps
2 lessonsSometimes the greedy, obvious choice is the right one, and sometimes it is a trap. You learn to tell which, and heaps keep the best option one peek away.
Interview Patterns
2 lessonsThe payoff. Sliding window plus a handful of named patterns unlock roughly four in five interview questions. This is where everything above becomes recognition.
Start at the bottom. It is closer to the top than it looks.
Big O first. Twenty minutes, and you will read code differently for the rest of your career.