Skip to content
PracticeWithMe
System Design

System Design was HARD until I Learned these 30 Concepts

The 30 foundations that every system design beginner should know — collected here for quick reference.

Source: AlgoMaster
  • 01

    Client-Server Architecture

    Clients request, servers respond. The two-role split that underlies every web, mobile, and API system.

    Read on AlgoMaster
  • 02

    IP Address

    Numeric label that identifies a machine on a network so packets know where to land.

    Read on AlgoMaster
  • 03

    DNS

    Phonebook of the internet — resolves human-readable domains to IP addresses.

    Read on AlgoMaster
  • 04

    Proxy / Reverse Proxy

    Intermediary that forwards traffic. Forward proxies shield clients; reverse proxies shield servers and enable load balancing, caching, TLS termination.

    Read on AlgoMaster
  • 05

    Latency

    Time a request takes end-to-end. Network, disk, and queueing delays all add up — measure p50/p95/p99.

    Read on AlgoMaster
  • 06

    HTTP/HTTPS

    Request/response protocol of the web. HTTPS adds TLS for encryption and integrity.

    Read on AlgoMaster
  • 07

    APIs

    Contract that lets one program talk to another. Clear inputs, outputs, and error semantics.

    Read on AlgoMaster
  • 08

    REST API

    HTTP-based API style built around resources and standard verbs (GET, POST, PUT, DELETE).

    Read on AlgoMaster
  • 09

    GraphQL

    Query language for APIs — clients ask for exactly the fields they need in one round trip.

    Read on AlgoMaster
  • 10

    Databases

    Durable, queryable stores for application state. Relational, document, key-value, graph, columnar, time-series.

    Read on AlgoMaster
  • 11

    SQL vs NoSQL

    SQL: schemas, joins, ACID. NoSQL: flexible schema, horizontal scale, often eventual consistency. Pick by access pattern.

    Read on AlgoMaster
  • 12

    Vertical Scaling

    Make one machine bigger — more CPU/RAM/disk. Simple but capped by hardware and a single point of failure.

    Read on AlgoMaster
  • 13

    Horizontal Scaling

    Add more machines and spread load. Scales further but needs load balancing, statelessness, and careful data partitioning.

    Read on AlgoMaster
  • 14

    Load Balancers

    Distribute incoming traffic across servers using strategies like round-robin, least-connections, or consistent hashing.

    Read on AlgoMaster
  • 15

    Database Indexing

    Side data structure (often B-tree) that speeds reads on selected columns at the cost of slower writes and extra storage.

    Read on AlgoMaster
  • 16

    Replication

    Keep copies of data on multiple nodes for read scaling and failover. Trade-offs: sync vs async, leader vs leaderless.

    Read on AlgoMaster
  • 17

    Sharding

    Horizontal partitioning of data across machines by a shard key. Scales writes; complicates joins and rebalancing.

    Read on AlgoMaster
  • 18

    Vertical Partitioning

    Split a table by columns into multiple tables. Useful when some columns are large, hot, or accessed independently.

    Read on AlgoMaster
  • 19

    Caching

    Store hot data closer to the consumer (in-memory, CDN, browser) to cut latency and DB load. Mind invalidation.

    Read on AlgoMaster
  • 20

    Denormalization

    Duplicate data across tables/documents to make reads cheaper at the cost of write complexity and consistency risk.

    Read on AlgoMaster
  • 21

    CAP Theorem

    Under a network partition, a distributed store must choose between consistency and availability. Pick by use case.

    Read on AlgoMaster
  • 22

    Blob Storage

    Object stores (S3, GCS, Azure Blob) for large unstructured files — images, video, backups, logs.

    Read on AlgoMaster
  • 23

    CDN

    Geographically distributed cache that serves static and cacheable content from a nearby edge node.

    Read on AlgoMaster
  • 24

    WebSockets

    Persistent full-duplex TCP connection over HTTP for low-latency push (chat, live dashboards, multiplayer).

    Read on AlgoMaster
  • 25

    Webhooks

    Outbound HTTP callback fired when an event happens — push instead of poll. Needs retry and signature verification.

    Read on AlgoMaster
  • 26

    Microservices

    Architecture style where the system is split into small, independently deployable services with focused responsibilities.

    Read on AlgoMaster
  • 27

    Message Queues

    Async broker (Kafka, RabbitMQ, SQS) that decouples producers from consumers and smooths bursty workloads.

    Read on AlgoMaster
  • 28

    Rate Limiting

    Cap requests per client/window to protect backends. Common algorithms: token bucket, leaky bucket, sliding window.

    Read on AlgoMaster
  • 29

    API Gateways

    Single entry point for client traffic — handles auth, routing, rate limiting, observability for backend services.

    Read on AlgoMaster
  • 30

    Idempotency

    Property that the same request applied multiple times has the same effect once. Vital for retries and exactly-once semantics.

    Read on AlgoMaster