System Design: Complete Introduction and Basics The foundational concepts of high-level system design 📅 Mar 20, 2026 📝 Topics Covered 1. Introduction to System Design 2. Client-Server Architecture 2.1 Tiered Architectures 2.2 Types of Clients 3. Monoliths vs. Microservices 3.1 Monolithic Architecture 3.2 Microservices Architecture 4. Remote Procedure Calls & gRPC 5. Foundational Network Protocols 6. Proxies: Forward & Reverse
System Design: Scalability and System Architecture Vertical vs Horizontal Scaling, Load Balancing, and Caching 📅 Mar 21, 2026 📝 Topics Covered 1. What is Scalability? 2. Vertical Scaling (Scale Up) 3. Horizontal Scaling (Scale Out) 4. Load Balancing 4.1 Load Balancing Routing Algorithms 4.2 Sticky Sessions (Session Persistence) 5. Caching Strategies 5.1 Cache Invalidation & Writing Patterns 5.2 Cache Eviction Policies 6. System Asynchronism 6.1 Message & Task Queues (Point-to-Point) 6.2 Message Brokers (Publish-Subscribe)
System Design: Performance Metrics and the CAP Theorem Understanding Latency, Throughput, and Consistency vs Availability 📅 Mar 22, 2026 📝 Topics Covered 1. Performance vs. Scalability 2. Key Performance Metrics 2.1 Latency vs. Response Time 2.2 Latency vs. Throughput 2.3 Bandwidth vs. Throughput 3. System Component Performance Indicators 4. Understanding the CAP Theorem 4.1 Consistency (C) 4.2 Availability (A) 4.3 Partition Tolerance (P) 5. The CAP Theorem Trade-Offs 5.1 CP Systems (Consistency + Partition Tolerance) 5.2 AP Systems (Availability + Partition Tolerance) 5.3 CA Systems (Consistency + Availability) 6. Faults, Failures, and Fault Tolerance
System Design: Data Storage and Replication Strategies Relational vs NoSQL databases and Data Replication techniques 📅 Mar 23, 2026 📝 Topics Covered 1. Memory & Storage Systems 1.1 Volatile Storage: RAM (SRAM vs. DRAM) 1.2 Non-Volatile Storage: ROM, HDD, SSD 2. Database Classifications 3. Database Replication Strategies 3.1 Synchronous vs. Asynchronous Replication 3.2 Single-Master Replication 3.3 Multi-Master Replication 4. RAID (Redundant Array of Independent Disks) 4.1 RAID 0 (Striping) 4.2 RAID 1 (Mirroring) 4.3 RAID 10 (1+0 - Striping + Mirroring) 4.4 RAID 5 (Striping + Distributed Parity) 4.5 RAID 6 (Striping + Double Distributed Parity)
System Design: Database Partitioning and Sharding Horizontal partitioning, Vertical partitioning, and Sharding techniques 📅 Mar 24, 2026 📝 Topics Covered 1. What is Database Partitioning? 2. Why Partition Databases? 3. Core Partitioning Methods 3.1 Vertical Partitioning (Normalization) 3.2 Horizontal Partitioning (Sharding) 4. Sharding Routing Strategies 4.1 Key-Based or Hash-Based Partitioning 4.2 Range-Based Partitioning 4.3 Directory-Based Partitioning 5. Understanding Hashing 5.1 Traditional Hashing vs. Consistent Hashing 5.2 Consistent Hashing Mechanics