INTRODUCTION
Covers the introduction of System design, low level and high level designs, product cycle, and why system design is important.
ARCHITECTURAL PATTERNS
Covers different architectural patterns such as centralized and distributed, when to choose which pattern, their advantages and disadvantages, how to scale an application ,types of scaling.
APPLICATION CHARACTERISTICS I
Covers concepts such as latency, throughput, redundancy, replication, availability and fault tolerance with industry relevant examples.
APPLICATION CHARACTERISTICS II
Covers concepts such as consistency, types of consistency, CAP theorem, logical time in distributed systems and Lamport algorithm with industry relevant examples.
SCALING TECHNIQUES
Covers scaling techniques(Horizontal and Vertical Scaling), redundancy and replication concepts, load balancers, load balancing algorithms, caching, types of caching solution, cache eviction strategies with industry relevant examples.
DATABASE
Covers databases, types of databases, polyglot, indexing, denormalisation
DATABASE OPTIMISATION
Covers database optimisation concepts like partitioning, types of partitioning, sharding, different partitioning criteria with industry relevant examples.
COMMUNICATION
Covers topics such as synchronous and asynchronous communication, message based communication
WEB APPLICATIONS
Covers web applications, client server model, REST API, service oriented architecture (SOA), microservices, tier architecture
SERVERS AND SECURITY
Covers web servers, communication protocols, push and pull model, long polling, web sockets, server sent events, proxies, authentication, authorization protocols
REAL LIFE USE CASES
Covers step-by-step approach to design popular applications.
GLOBAL CHAT SERVICE : WHATSAPP
Detailed step by step process and explanation on how to design Distributed web crawler
VIDEO STREAMING SERVICE (YOUTUBE/NETFLIX)
Detailed step by step process and explanation on how to design a video streaming service.
FILE STORAGE AND SHARING SYSTEM(GOOGLE DRIVE/DROPBOX)
Detailed step by step process and explanation on how to design a file storage and sharing system
GLOBAL RIDE SHARING SYSTEM(UBER)
Detailed step by step process and explanation on how to design a global ride sharing system
PRACTICE PROJECTS
Covers practice projects for the learners with their solutions.
MOCK INTERVIEW SESSIONS
Covers what to expect in a System design interview, important interview questions, how to ace them, questions to ask before you start working on a given system,pointers to remember while designing a system.