Written to be worked through
- Interview preparation
Data structures and algorithms, by pattern
Fourteen patterns that between them solve most interview problems. Every problem here is written from scratch, and every solution is code that ran against its tests before it reached the page.
- Foundations
Object-oriented programming, by principle
What object orientation is actually for — managing change — taught one principle at a time in Python and Java side by side, with C++ brought in wherever the language changes the answer.
- Senior / L5
System design interview preparation
Foundations, core building blocks, and the distributed-systems concepts behind them — worked from first principles, with the numbers that justify each decision.