Contains system design materials to prepare for system design interviews π©π¨βπ»π¨βπ»π¨βπ»
As a beginner I wanted to learn how to design large scale distributed systems.
Prepare for the System Design interview.
As you might know that we need to have good understanding of various Computer Science Fundamentals involving Distributed Systems, Computer Network, Operating System along with good problem solving skills (Data Structures and Algorithms) for acing the interviews at top product based companies.
Let's first learn Basic Concepts for designing higly scalable data intensive applications.
Caching
Data Partitioning
Sharding
Load Balancing
Indexes
Proxies
Queues
Redundancy and Replication
SQL vs NoSQL
CAP Theorem
Consistent Hashing
System Design Interview Questions β Concepts You Should Know
Designing Tiny URL
Designing Instagram
Designing Twitter
Designing Dropbox
Designing YouTube or Netflix
Designing a Parking lot
Designing Whatsapp - Chat Messaging System
Designing Facebook Messenger
Understanding Google File System Architecture (GFS)
Understanding Google Search engine
Understanding DynamoDB Architecture
Extras