How to use this0/59 done

Data structures, algorithms and system design, refreshed

18 concepts, 27 interview problems and 14 system design topics. Every implementation and solution is plain JavaScript with a step-by-step animation, and all 223 tests pass before the site is built. One topic per page; tick it done at the bottom and your progress is saved in this browser.

Part 1, Concepts: how each structure works inside, what it costs, when to reach for it, and where it shows up in production. Read "How it works", then explain it out loud before opening the code.

Part 2, Problems: easy and easy-medium problems grouped by pattern. Read the prompt, say the clarifying questions, try it yourself first, then open the hint, the approach, and the solution in that order. Redo the ones you peeked at the next day, from a blank file.

Part 3, System design: the building blocks (caching, sharding, idempotency, outbox, retries) with tested code, then classic design prompts worked through the same 8 steps. Read the prompt, talk through your own answer, then compare.

Use the arrow keys, or the Previous and Next links at the bottom of each page, to move through the book.