ashishps1 / awesome-system-design-resources
git clone https://github.com/ashishps1/awesome-system-design-resources.git
π₯ on GitHub Trending today
Learn System Design concepts and prepare for interviews using free resources.
β
stars, 24h
+430
stars, 7 days Β· #139
β
stars, 30 days
43k
β
total Β· +1% this week
8.9k
forks Β· 10 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageJava
LicenseGPL-3.0
Created2023-10-25 (2y ago)
Last push8mo ago
Watchers473
OwnerUser
Seen on GitHub Trending
- 2026-10-20 β #15 weekly in java Β· +430 β
GitHub topics
awesomebackendcomputer-sciencedistributed-systemshigh-level-designinterviewinterview-questionsscalabilitysystem-designhld
Links
- GitHub: github.com/ashishps1/awesome-system-design-resources
- Homepage: https://algomaster.io
- Releases Β· Issues Β· Hacker News mentions
README excerpt
# Awesome System Design Resources This repository contains free resources to learn System Design concepts and prepare for interviews. π Subscribe to my AlgoMaster Newsletter and get a **FREE System Design Interview Handbook** in your inbox. β If you are new to System Design, start here: System Design was HARD until I Learned these 30 Concepts ## βοΈ Core Concepts - Scalability - Availability - Reliability - SPOF - Latency vs Throughput vs Bandwidth - Consistent Hashing - CAP Theorem - Failover - Fault Tolerance ## π Networking Fundamentals - OSI Model - IP Addresses - Domain Name System (DNS) - Proxy vs Reverse Proxy - HTTP/HTTPS - TCP vs UDP - Load Balancing - Checksums ## π API Fundamentals - APIs - API Gateway - REST vs GraphQL - WebSockets - Webhooks - Idempotency - Rate limiting - API Design ## ποΈ Database Fundamentals - ACID Transactions - SQL vs NoSQL - Database Indexes - Database Sharding - Data Replication - Database Scaling - Databases Types - Bloom Filters - Database Architectures ## β‘ Caching Fundamentals - Caching 101 - Caching Strategies - Cache Eviction Policies - Distributed Caching - Content Delivery Network (CDN) ## π Asynchronous Communication - Pub/Sub - Message Queues - Change Data Capture (CDC) ## π§© Distributed System and Microservices - HeartBeats - Service Discovery - Consensus Algorithms - Distributed Locking - Gossip Protocol - Circuit Breaker - Disaster Recovery - Distributed Tracing ## ποΈ Architectural Patterns - Client-Server Architecture - Microservices Architecture - Serverless Architecture - Event-Driven Architecture - Peer-to-Peer (P2P) Architecture ## βοΈ System Design Tradeoffs - Top 15 Tradeoffs - Vertical vs Horizontal Scaling - Concurrency vs Parallelism - Long Polling vs WebSockets - Batch vs Stream Processing - Stateful vs Stateless Design - Strong vs Eventual Consistency - Read-Through vs Write-Through Cache - Push vs Pull Architecture - REST vs RPC - Synchronous vs. asynchronous communications - Latency vs Throughput ## β How to Answer a System Design Interview Problem ## π» System Design Interview Problems ### Easy - Design URL Shortener like TinyURL - Design Autocomplete for Search Engines - Design Load Balancer - Design Content Delivery Network (CDN) - Design Parking Garage - Design Vending Machine - Design Distributed Key-Value Store - Design Distributed Cache - Design Authentication System - Design Unified Payments Interface (UPI) ### Medium - Design WhatsApp - Design Spotify - Design Instagram - Design Notification Service - Design Distributed Job Scheduler - Design Tinder - Design Facebook - Design Twitter - Design Reddit - Design Netflix - Design Youtube - Design Google Search - Design E-commerce Store like Amazon - Design TikTok - Design Shopify - Design Airbnb - Design Rate Limiter - Design Distributed Message Queue like Kafka - Design Flight Booking System - Design Online Code Editor - Design an Analytics Platform (Metrics & Logging) - Design Payment System - Design a Digital Wallet ### Hard - Des