Skip to content

System Design โ€” Fundamentals & Case Studies

Last reviewed: 2026-05-29

System design is the process of defining the architecture, components, modules, interfaces, and data flow of a system to satisfy specified requirements. It's a critical skill for senior and staff engineering roles, and a major component of technical interviews at top tech companies.


Overview

System design bridges the gap between requirements and implementation. It covers everything from high-level architecture decisions to detailed component design.


Training Content

This folder contains comprehensive training materials organized by topic sections:

File Topic Type
Section 1_ Computer Architecture.pdf (3.8 MB) CPU, memory hierarchy, caches, buses, I/O PDF slides
Section 2_ Production App Architecture.pdf (918 KB) Monoliths, microservices, n-tier patterns PDF slides
Section 3_ Design Requirements.pdf (1.7 MB) Functional/non-functional requirements, trade-offs PDF slides
Section 4_ Networking Essentials.pdf (1.7 MB) TCP/IP, DNS, HTTP/2, load balancing PDF slides
Section 5_ Application Protocols.pdf (915 KB) HTTP, WebSocket, gRPC, GraphQL PDF slides
Section 6_ API Design.pdf (4.4 MB) RESTful APIs, versioning, pagination, rate limiting PDF slides
Section 7_ CDNs & Caching.pptx (2.1 MB) Caching strategies, CDN architecture, TTL, invalidation PPTX presentation
Section 8_ Proxy Servers.pptx (4.7 MB) Forward/reverse proxies, API gateway, sidecar pattern PPTX presentation
Section 9_ Load Balancers.pptx (1.4 MB) L4/L7 load balancing, algorithms, DNS-based LB PPTX presentation
Section 10_ Databases.pdf (1.8 MB) SQL vs NoSQL, replication, sharding, ACID/BASE PDF slides
BytesBytesGo.pdf (37.8 MB) Comprehensive system design interview prep PDF reference

Core System Design Concepts

1. Computer Architecture

  • CPU architecture โ€” Cores, threads, instruction pipelining, clock speed
  • Memory hierarchy โ€” L1/L2/L3 cache โ†’ RAM โ†’ SSD โ†’ HDD (increasing latency)
  • Moore's Law / Dennard scaling โ€” Historical performance trends
  • Amdahl's Law โ€” Parallelism limits based on sequential portions

2. Production Application Architecture

  • Monolithic โ€” Single deployable unit (simple, but hard to scale)
  • Microservices โ€” Loosely coupled, independently deployable services
  • Event-driven โ€” Components communicate through events (Kafka, SQS)
  • Serverless โ€” Functions as a service (AWS Lambda, Cloudflare Workers)

3. Design Requirements

  • Functional requirements โ€” What the system must do
  • Non-functional requirements (NFRs) โ€” Performance, scalability, availability, consistency, durability, security
  • Trade-offs โ€” CAP theorem, latency vs throughput, consistency vs availability

4. Networking Essentials

  • TCP/IP stack โ€” Application โ†’ Transport โ†’ Network โ†’ Link
  • DNS โ€” Domain resolution (A, CNAME, NS records)
  • Load balancing โ€” Round robin, least connections, consistent hashing
  • HTTP/1.1 vs HTTP/2 vs HTTP/3 โ€” Multiplexing, server push, QUIC

5. Databases

  • SQL (relational) โ€” ACID, joins, indices, transactions
  • NoSQL โ€” Document (MongoDB), key-value (Redis), columnar (Cassandra), graph (Neo4j)
  • Replication โ€” Leader-follower, multi-leader, quorum
  • Sharding โ€” Horizontal partitioning (hash-based, range-based)
  • CAP Theorem โ€” Pick two: Consistency, Availability, Partition tolerance

6. Caching & CDNs

  • Cache types: Client, CDN, in-memory (Redis/Memcached), application, database query
  • Strategies: Cache-aside, write-through, write-behind, refresh-ahead
  • Invalidation: TTL, event-driven, manual
  • CDN: Edge caching, origin pull vs push, POP locations

7. API Design

  • REST โ€” Resources, HTTP verbs, statelessness, HATEOAS
  • Pagination โ€” Cursor-based vs offset-based
  • Rate limiting โ€” Token bucket, leaky bucket, sliding window
  • Versioning โ€” URL path, header, query parameter

System Design Interview Prep

Common design questions and the concepts they test:

Problem Key Concepts
Design URL Shortener Hashing, distributed ID generation, caching
Design Chat System WebSockets, pub/sub, presence, message ordering
Design News Feed Fan-out on write vs read, ranking, push/poll
Design Distributed DB Consistent hashing, replication, consensus (Raft/Paxos)
Design Rate Limiter Token bucket, distributed counters, Redis
Design YouTube/Netflix CDN, video transcoding, chunked upload, DASH/HLS

Resources