Index of system design topics
Index of system design topics¶
Summaries of various system design topics, including pros and cons. Everything is a trade-off.
Each section contains links to more in-depth resources.
- The System Design Primer
- Motivation
- Anki flashcards
- Contributing
- Index of system design topics
- Study guide
- How to approach a system design interview question
- System design interview questions with solutions
- Design Pastebin.com (or Bit.ly)
- Design the Twitter timeline and search (or Facebook feed and search)
- Design a web crawler
- Design personal budget tracking app (Mint.com)
- Design the data structures for a social network
- Design a key-value store for a search engine
- Design Amazon's sales ranking by category feature
- Design a system that scales to millions of users on AWS
- Object-oriented design interview questions with solutions
- System design topics: start here
- Performance vs scalability
- Latency vs throughput
- Availability vs consistency
- Consistency patterns
- Availability patterns
- Domain name system
- Content delivery network
- Load balancer
- Reverse proxy (web server)
- Application layer
- Database
- Relational database management system (RDBMS)
- Master-slave replication
- Master-master replication
- Federation
- Sharding
- Denormalization
- SQL tuning
- NoSQL
- Key-value store
- Document store
- Wide column store
- Graph database
- Source(s) and further reading: NoSQL
- SQL or NoSQL
- Source(s) and further reading: SQL or NoSQL
- Cache
- Asynchronism
- Communication
- Hypertext transfer protocol (HTTP)
- Source(s) and further reading: HTTP
- Transmission control protocol (TCP)
- User datagram protocol (UDP)
- Source(s) and further reading: TCP and UDP
- Remote procedure call (RPC)
- Disadvantage(s): RPC
- Representational state transfer (REST)
- Disadvantage(s): REST
- RPC and REST calls comparison
- Source(s) and further reading: REST and RPC
- Security
- Appendix
- Interview preparation resources
- Under development
- Credits
- Contact info
- License