The Curriculum
Every chapter, ordered from foundations to advanced. Prerequisites guide the path — master the basics and the harder patterns unlock.
Data Structures
Arrays & Hashing
The foundation: indexing, hash maps, and frequency counting.
Strings
String manipulation, parsing, and encoding.
Stacks & Queues
LIFO/FIFO structures, monotonic stacks, and deques.
Linked Lists
Pointer manipulation, reversal, and cycle detection.
Trees & BSTs
Binary tree traversal, recursion on trees, and search trees.
Traverse binary trees recursively and level-by-level.
Prereqs: Traversal & Reversal
Heaps & Priority Queues
Top-K, streaming medians, and scheduling with heaps.
Tries
Prefix trees for fast string lookups and autocomplete.
Graphs
Graph representation, traversal, and connectivity.
Model graphs as adjacency lists/matrices and traverse them.
Prereqs: Tree Traversals (DFS/BFS)
Algorithms
Two Pointers & Sliding Window
Linear-scan patterns for pairs, subarrays, and substrings.
Binary Search
Searching sorted data and binary searching the answer space.
Halve the search space on sorted (and rotated) arrays.
Prereqs: Hashing & Frequency Maps
Recursion & Backtracking
Recursive enumeration of subsets, permutations, and combinations.
Greedy
Locally optimal choices that yield a global optimum.
Dynamic Programming
Overlapping subproblems, memoization, and tabulation.
Define a state and recurrence over a single dimension.
Prereqs: Recursion Fundamentals
Grid and two-sequence DP (edit distance, LCS, unique paths).
Prereqs: 1-D Dynamic Programming
Graph Algorithms
BFS/DFS patterns, topological sort, and shortest paths.
Flood fill, connected components, and shortest unweighted paths.
Prereqs: Graph Representation & Traversal
Order a DAG and detect cycles (course scheduling).
Prereqs: BFS & DFS Patterns
Intervals
Merging, scheduling, and sweeping over intervals.
Bit Manipulation & Math
Bitwise tricks, number theory, and math-heavy problems.
System Design
System Design Fundamentals
Scalability, latency vs throughput, load balancing, and caching.
Reason about latency vs throughput and scale up vs scale out.
Distribute traffic with load balancers, reverse proxies, and health checks.
Prereqs: Scalability & Performance
Add caches and CDNs with the right write/eviction policy.
Prereqs: Scalability & Performance
Data Storage & Scaling
Choosing data stores, sharding, replication, and indexing.
Match the data store and schema to access patterns.
Prereqs: Scalability & Performance
Shard for scale and replicate for availability and reads.
Prereqs: SQL vs NoSQL & Data Modeling
Speed reads with the right indexes and understand their cost.
Prereqs: SQL vs NoSQL & Data Modeling
Distributed Systems
CAP & consistency, messaging, idempotency, and rate limiting.
Trade consistency, availability, and partition tolerance.
Prereqs: Partitioning & Replication
Decouple services with queues, pub/sub, and streams.
Prereqs: Scalability & Performance
Stay correct under failure with idempotency, retries, and rate limits.
Prereqs: Message Queues & Async Processing
Cloud System Design
Cloud building blocks, autoscaling, serverless, reliability, and cost.
Compose compute, object storage, managed databases, and networking.
Prereqs: Scalability & Performance
Scale elastically and survive zone/region failure in the cloud.
Prereqs: Load Balancing & Proxies, Cloud Building Blocks
Build event-driven systems with functions, managed queues, and streams.
Prereqs: Cloud Building Blocks, Message Queues & Async Processing
Operate cloud systems with SLOs, monitoring, and cost control.
Prereqs: Cloud Building Blocks
Design Case Studies
Driving an end-to-end design interview on real products.
Drive a design interview from requirements to a scaled architecture.
Prereqs: Caching & CDNs, Partitioning & Replication, Cloud Building Blocks