1️⃣1. Fundamentals of System Design
1.1. Introduction to System Design
What is system design?
Importance in software engineering
System design interview overview
1.2. Basic Principles and Concepts
Modularity and abstraction
Coupling and cohesion
SOLID principles in system design
1.3. Trade-offs in System Design
Performance vs. scalability
Reliability vs. cost
Consistency vs. availability
1.4. Non-Functional Requirements
Scalability
Reliability
Availability
Maintainability
Extensibility
1.5. Back-of-the-Envelope Calculations
Estimating system capacity
Traffic estimates
Storage estimates
Design and implement a simple key-value store in Go
Implement basic CRUD operations
Add simple persistence to disk
Last updated