# Topic covered
* System Design Introduction
* Client - Server Architecture
* Monolith & Microservices
* gRPC
* Network Protocols
* Proxies
[Read More]
02-System Design
Horizontal, Vertical Scaling, Caching, Asynchronism
# Topic covered
* Scalability
* Horizontal, Vertical Scaling
* Load Balancers
* Caching
* Asynchronism
* Message/Task Queues
* Producer consumer model
* Message Broker
* Publisher subscribe model
[Read More]
03-System Design
Performance, CAP, CAP Theorem, Failure & Fault Tolerance
# Topic covered
* Performance
* Latency, Throughput, Bandwidth, Response Time
* Consistency, Availability, and Partition Tolerance (CAP)
* CAP Theorem
* Failure & Fault Tolerance
[Read More]
04-System Design
Memory & Storage Systems, Databases Types, Replication, RAID
# Topic covered
* Memory & Storage Systems
* RAM, ROM, HDD, SSD
* Databases Types
* Database replication
* Synchronous replication
* Asynchronous replication
* Single-Master Replication
* Multi-Master Replication
* RAID - Redundant Array of Independent Disks
[Read More]
05-System Design
Database partitioning, Hashing
# Topic covered
* Database partitioning
* Vertical partitioning (aka Normalisation)
* Horizontal partitioning (aka Database Sharding)
* Hashing
* Consistent hashing
[Read More]