System Design Study Notes
Everything on SkillVeris tagged System Design Study Notes — collected across the glossary, study notes, blog, and cheat sheets.
40 resources across 1 library
Study Notes(40)
Auto-Scaling Basics
Introduces how systems automatically add or remove capacity in response to demand, covering triggers, scaling policies, and common pitfalls.
Cache Eviction Policies
Covers the algorithms caches use to decide what to remove when full, comparing LRU, LFU, FIFO, and TTL-based approaches and their tradeoffs.
Cache Invalidation Strategies
Explores how systems keep cached data consistent with the source of truth, covering TTLs, write-through/write-behind patterns, and explicit invalidation on upd…
CDN Caching and Edge Computing
Covers how Content Delivery Networks cache content close to users to cut latency, and how edge computing extends this to running logic near the request origin.
Circuit Breakers and Bulkheads
Resilience patterns that stop cascading failures — circuit breakers halt calls to a failing dependency, while bulkheads isolate resource pools so one failure c…
Client-Server Architecture
The foundational model where clients request resources or services from centralized servers, including its variations, benefits, and inherent limitations at sc…
Common System Design Mistakes
A catalog of recurring architectural and interview mistakes — over-engineering, ignoring tradeoffs, false precision, and skipping requirements gathering — with…
Consensus Algorithms
Consensus algorithms let a group of distributed nodes agree on a single value or ordered log despite failures and network delays, underpinning leader election…
Consistency Models
Consistency models define the contract about what values reads may return after concurrent writes, ranging from strict linearizability to loosely-ordered event…
Consistent Hashing
Introduces the hashing technique that minimizes data movement when nodes are added or removed, forming the backbone of distributed caches, sharded databases, a…
Database Indexing at Scale
Explains how indexes accelerate queries via data structures like B-trees, and the tradeoffs of adding, maintaining, and choosing indexes on very large tables.
Database Replication
Explains how copying data across multiple database nodes improves read throughput and fault tolerance, and the consistency tradeoffs of leader-follower and mul…
Database Sharding
Explains how sharding partitions a dataset horizontally across multiple database nodes to scale beyond what a single machine can hold, and the tradeoffs of com…
Designing a Chat Application
Covers the architecture behind real-time messaging apps: persistent connections, message delivery guarantees, ordering, presence, and multi-device synchronizat…
Designing a News Feed System
Explores how systems like Facebook or Twitter assemble a personalized, ranked feed at scale, contrasting fan-out-on-write and fan-out-on-read delivery models.
Designing a Rate Limiter
Walks through building a distributed rate limiter that protects APIs from abuse, comparing token bucket, sliding window, and fixed window algorithms and where…
Designing a URL Shortener
A classic system design interview problem that exercises encoding schemes, key generation at scale, database sharding, and redirect performance under heavy rea…
Distributed Transactions
Distributed transactions coordinate atomic, all-or-nothing updates across multiple independent services or databases, using protocols like two-phase commit or…
DNS and CDNs
How the Domain Name System resolves human-readable names to IP addresses, and how Content Delivery Networks cache and serve content from edge locations close t…
Event-Driven Architecture
A design style where services communicate by producing and reacting to events rather than calling each other directly, enabling loose coupling and independent…
Functional vs Non-Functional Requirements
How to distinguish what a system must do (functional requirements) from how well it must do it (non-functional requirements), and why both shape architecture.
Idempotency in Distributed Systems
The property that performing the same operation multiple times produces the same result as performing it once, essential for safely retrying requests over unre…
Load Balancing Algorithms
Surveys the algorithms load balancers use to distribute traffic across backend servers, from simple round robin to adaptive least-connections and consistent ha…
Message Queues Explained
Message queues decouple producers from consumers by buffering work as discrete messages, enabling asynchronous processing, load leveling, and resilience to dow…
Showing 24 of 40.