System Design
High-level architecture and low-level object design — the two halves of every system design round.
- High-Level Design: Design large-scale distributed systems: how to break a product into services, store and move data, and keep it fast and reliable as traffic grows.
- Low-Level Design: Object-oriented design for interviews: principles, all 23 classic design patterns in Java, concurrency, schema design, and 22 machine-coding case studies with runnable, tested Java solutions.