Created
December 7, 2024 07:02
-
-
Save deveshksrivastava/a7ce7b5d0934de99bb3c6c62437dd3a1 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| | **#** | **Topic** | **Subtopics** | | |
| |-------|----------------------------------------|----------------------------------------------------------------------| | |
| | 1 | Introduction | Overview of system design concepts | | |
| | 2 | What Are Design Fundamentals? | Basic principles of system design | | |
| | 3 | Client — Server Model | Overview of the client-server architecture | | |
| | 4 | Network Protocols | Understanding the protocols used in networking | | |
| | 5 | Storage | Different types of storage mechanisms | | |
| | 6 | Latency And Throughput | Performance factors in system design | | |
| | 7 | Availability | Strategies for ensuring system uptime | | |
| | 8 | Caching | Techniques to speed up data retrieval | | |
| | 9 | Proxies | How proxies work and their use cases | | |
| | 10 | Load Balancers | Distributing load across multiple servers | | |
| | 11 | Hashing | Techniques for efficient data retrieval and storage | | |
| | 12 | Relational Databases | SQL databases and their structure | | |
| | 13 | Key-Value Stores | NoSQL stores focused on key-value pairs | | |
| | 14 | Specialized Storage Paradigms | Advanced storage systems and paradigms | | |
| | 15 | Replication And Sharding | Techniques for data redundancy and partitioning | | |
| | 16 | Leader Election | Mechanisms for electing a leader in distributed systems | | |
| | 17 | Peer-To-Peer Networks | Networks where each node can act as both client and server | | |
| | 18 | Polling And Streaming | Real-time data transfer methods | | |
| | 19 | Configuration | Managing system configurations | | |
| | 20 | Rate Limiting | Controlling the rate of requests | | |
| | 21 | Logging And Monitoring | Techniques for tracking system behavior and health | | |
| | 22 | Publish/Subscribe Pattern | Communication pattern for event-driven architectures | | |
| | 23 | MapReduce | Distributed computing model for large-scale data processing | | |
| | 24 | Security And HTTPS | Securing communications over the web | | |
| | 25 | API Design | Best practices for designing APIs | | |
| | | **Computer Architecture** | Understanding computer systems' hardware and performance | | |
| | | **Application Architecture** | Design principles for applications and systems | | |
| | | **Design Requirements** | Key considerations and requirements for building scalable systems | | |
| | | **Networking** | Basics of networking in distributed systems | | |
| | | **Networking Basics** | Fundamental concepts in networking | | |
| | | **TCP and UDP** | Transport protocols used for data transfer | | |
| | | **DNS** | Domain Name System, mapping domain names to IP addresses | | |
| | | **APIs** | Application Programming Interfaces | | |
| | | **HTTP** | Hypertext Transfer Protocol for web communication | | |
| | | **WebSockets** | Protocol for full-duplex communication over a single TCP connection | | |
| | | **API Paradigms** | Various API interaction patterns (REST, SOAP, etc.) | | |
| | | **API Design** | Principles for designing effective and scalable APIs | | |
| | | **Caching Basics** | Fundamental caching techniques to optimize performance | | |
| | | **Caching** | Techniques and strategies for caching data | | |
| | | **CDNs** | Content Delivery Networks for efficient delivery of web content | | |
| | | **Proxies** | Understanding the role of proxies in network communication | | |
| | | **Proxies and Load Balancing** | Combining proxies and load balancing for scalability | | |
| | | **Consistent Hashing** | Technique for distributed systems to balance load | | |
| | | **Storage** | Principles and types of data storage | | |
| | | **SQL** | Structured Query Language for relational databases | | |
| | | **NoSQL** | Non-relational databases and their use cases | | |
| | | **Replication and Sharding** | Techniques for data redundancy and partitioning | | |
| | | **CAP Theorem** | Fundamental theorem for distributed databases | | |
| | | **Object Storage** | Systems for storing large unstructured data (e.g., files, images) | | |
| | | **Big Data** | Techniques for handling vast amounts of data | | |
| | | **Message Queues** | Messaging systems for asynchronous communication | | |
| | | **MapReduce** | Distributed computing model for processing large datasets | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment