GO திசைGoDisai

← Crack the Interview bundle

Part of the Crack the Interview bundle

System Design

Self-paced Intermediate about 60 hours 120 chapters

₹699 one year, all three courses

Enrolment opens soon. Follow our WhatsApp channel to hear first.

See what the bundle includes

System design is the skill of turning a vague idea, like building something similar to TinyURL, into a working plan. You decide what it does, how big it must be, which pieces it needs and what you give up with each choice. This course teaches it one concept per chapter, so you never face a wall of theory.

Every chapter has a diagram, an everyday example, worked numbers, code you can run, common mistakes and exercises with hidden answers. The first part covers the interview routine, estimation and API design. Then come scalability, networking, databases, caching, queues and distributed systems, followed by eleven head-to-head trade-offs you can quote in an interview.

It ends with fifty full case studies, from a URL shortener to a stock exchange matching engine. Each one can be built step by step in the System Design playground, where you decide first and the guided solution then shows the reasoning.

What is inside this course

  • Concept chapters with diagrams and runnable code
  • Fifty end-to-end case studies
  • The System Design playground
  • Quizzes and flash cards
  • A one-page cheat sheet and interview question bank

Who it is for

Developers and students preparing for system design interviews, and engineers who want to understand how large systems are built.

What you will be able to do

  • Explain scalability, availability, consistency and latency with numbers, not slogans
  • Choose between SQL and NoSQL, caches, queues and API styles and defend the trade-off
  • Estimate load and storage with back-of-envelope maths
  • Design a URL shortener, CDN, load balancer, key-value store, cache, auth system and a payments flow
  • Spot single points of failure and plan failover and disaster recovery

Syllabus, start to finish

12 modules, 120 chapters.

1Foundations3
  1. The interview frameworkA system design question is deliberately vague, "Design TinyURL." Nobody expects you to know the answer.
  2. Back-of-envelope estimationYou cannot choose between "one database" and "a hundred shards" without knowing how much work the system must do.
  3. APIs, data model and choosing a databaseOnce you know what the system does and how big it is, define how the outside world talks to it (the API) and what it remembers (the data model).
2Core concepts9
  1. ScalabilityA system is scalable if it keeps working well when the load grows, and you can fix the growth by adding resources instead of rewriting everything.
  2. AvailabilityAvailability answers one question, when a user shows up, is the system working?
  3. ReliabilityA system is reliable if it does the right thing, every time, even when things go wrong.
  4. Single point of failure (SPOF)A single point of failure is any one component that, if it breaks, takes the whole system down.
  5. FailoverFailover is automatically switching to a backup when the main component fails, so users see little or no interruption.
  6. Fault toleranceA fault-tolerant system keeps working correctly while parts of it are failing, with no visible interruption.
  7. Latency, throughput and bandwidthThree words people mix up.
  8. Consistent hashingYou have data (or cache entries) spread over several servers.
  9. CAP theoremWhen data is copied on several machines, the copies can disagree for a moment.
3Networking8
  1. The OSI modelSending data between two computers is a huge job, radio waves, cables, addresses, lost packets, encryption, web pages.
  2. IP addressesAn IP address is the number that identifies a machine on a network, so packets know where to go.
  3. TCP vs UDPBoth move data between two programs over IP.
  4. ChecksumsA checksum is a small value calculated from a chunk of data.
  5. DNS (Domain Name System)People remember names (parottasalna.com), computers route by IP addresses (203.0.113.7).
  6. Proxy vs reverse proxyA proxy is a middleman that forwards requests on behalf of someone else.
  7. HTTP and HTTPSHTTP is the language browsers and apps use to ask servers for things.
  8. Load balancingA load balancer sits in front of many identical servers and decides which server handles each request.
4APIs8
  1. What is an API?An API (application programming interface) is a contract between two programs, "if you send me this, I will send you back that".
  2. REST vs GraphQLBoth are ways to build a web API.
  3. API gatewayWith many services behind your product, clients should not need to know about all of them.
  4. API designA well-designed API is easy to use correctly, hard to misuse, and survives years of change.
  5. WebSocketsNormal HTTP is a question and answer, the client asks, the server replies, the conversation ends.
  6. WebhooksA webhook is an HTTP request that a service sends to you when something happens, instead of you repeatedly asking "has it happened yet?".
  7. IdempotencyAn operation is idempotent if doing it many times has the same effect as doing it once.
  8. Rate limitingRate limiting controls how many requests a client may make in a time window.
5Databases10
  1. ACID transactionsA transaction groups several database operations into one all-or-nothing unit.
  2. SQL vs NoSQL- SQL (relational) databases store data in tables with a fixed structure and let you combine tables with joins.
  3. Database indexesAn index is a separate, sorted structure that lets the database jump straight to matching rows instead of reading the whole table.
  4. Database shardingSharding splits one big database into several smaller databases (shards), each holding a part of the data on its own machine.
  5. Data replicationReplication keeps copies of the same data on several machines, so one failure does not lose the data and more machines can answer reads.
  6. Database scalingA database becomes slow or full in different ways, and each problem has a different cure.
  7. Types of databasesThere is no single best database.
  8. Bloom filtersA Bloom filter is a tiny, fast structure that answers, "Have I definitely not seen this item?" or "I might have seen it." It uses very little memory and never says "no...
  9. Database architecturesBeyond choosing a database, you choose how copies of it are arranged across machines, zones and regions.
  10. Generating unique short IDsMany servers create IDs at the same moment, and no two items may get the same ID.
6Caching and CDN5
  1. Caching 101A cache is a small, fast storage that keeps copies of data you will probably need again, so you do not repeat the slow work of fetching or computing it.
  2. Caching strategies"Use a cache" is not a design.
  3. Cache eviction policiesA cache is smaller than the data it fronts.
  4. Distributed cachingOne cache server has limits, its memory, its network, and it is a single point of failure.
  5. Content Delivery Network (CDN)A CDN is a worldwide network of cache servers that keep copies of your files close to your users, so a visitor in Chennai gets the image from a server in Chennai inste...
7Asynchronous communication3
  1. Message queuesA message queue is a buffer between a producer and a consumer, the producer drops a message on the queue and moves on, a consumer picks it up and processes it later, a...
  2. Publish/subscribe (pub/sub)In pub/sub, a publisher sends a message to a topic without knowing who is listening, and every subscriber to that topic receives its own copy.
  3. Change data capture (CDC)Change data capture turns a database's changes into a stream of events.
8Distributed systems8
  1. HeartbeatsA heartbeat is a small message a node sends regularly to say "I am alive".
  2. Service discoveryIn a system of many services whose instances start, stop and move constantly, a client cannot have an address hard-coded.
  3. Consensus algorithmsConsensus is how several machines agree on one value (who is the leader, what the next log entry is, whether a transaction committed), even when some machines crash or...
  4. Distributed lockingA distributed lock makes sure that only one process across many machines does a particular thing at a time (run a cron job, update a shared record, be the leader).
  5. Gossip protocolIn a gossip protocol every node, at regular intervals, picks a few random peers and shares what it knows with them.
  6. Circuit breakerA circuit breaker watches calls to a dependency.
  7. Disaster recoveryDisaster recovery (DR) is the plan and tooling to get your system back after something big and unlikely destroys it, a data-centre fire, a cloud region outage, ransomw...
  8. Distributed tracingDistributed tracing follows one request through every service it touches, recording how long each step took, so you can see where the time went and where it failed.
9Architectural patterns5
  1. Client-server architectureIn client-server architecture one side, the client, asks for something and the other side, the server, provides it.
  2. Microservices architectureMicroservices break one big application into many small services, each owning one business capability, with its own data, deployed and scaled independently, talking to...
  3. Serverless architectureIn serverless, you write functions or small pieces of code, upload them, and the cloud provider runs them on demand, it provisions machines, scales to the number of re...
  4. Event-driven architectureIn an event-driven architecture (EDA), components communicate by publishing events ("an order was placed") that other components react to, instead of calling each othe...
  5. Peer-to-peer (P2P) architectureIn peer-to-peer, there is no central server.
10System design trade-offs11
  1. Top system design trade-offsThere is no perfect design, only designs that give up the right things.
  2. Vertical vs horizontal scalingWhen load grows you can make one machine stronger (vertical scaling, "scale up") or add more machines (horizontal scaling, "scale out").
  3. Concurrency vs parallelism- Concurrency is dealing with many things at once, structuring a program so several tasks can make progress by taking turns, even on one CPU core.
  4. Long polling vs WebSocketsBoth let a server tell a client about new data without the client constantly asking.
  5. Batch vs stream processing- Batch processing collects data over a period and processes it all at once on a schedule (nightly sales report).
  6. Stateful vs stateless architecture- A stateless server remembers nothing about a client between requests.
  7. Strong vs eventual consistencyWhen data is copied to several places, consistency describes what a reader sees right after a write.
  8. Read-through vs write-through cacheBoth patterns put the cache in the middle, between your application and the database, so the app talks to one place.
  9. Push vs pull architectureWhen data has to travel from a producer to a consumer, someone must start the transfer.
  10. REST vs RPCTwo ways to design how programs call each other over a network.
  11. Synchronous vs asynchronous communication- Synchronous, the caller sends a request and waits for the answer before doing anything else.
11Case studies10
  1. Design a URL shortener (TinyURL)
  2. Design autocomplete for a search engine
  3. Design a load balancer
  4. Design a content delivery network (CDN)
  5. Design a parking garage (object-oriented design)
  6. Design a vending machine (state machine)
  7. Design a distributed key-value store
  8. Design a distributed cache
  9. Design an authentication system
  10. Design UPI (Unified Payments Interface)
12More case studies40
  1. Design a Rate Limiter
  2. Design a News Feed
  3. Design a Chat App (WhatsApp)
  4. Design a Notification Service
  5. Design a Video Streaming Service (YouTube)
  6. Design a Ride-Hailing Service (Uber)
  7. Design a File Sync Service (Dropbox)
  8. Design a Web Crawler
  9. Design a Text Search Engine (Elasticsearch)
  10. Design a Distributed Message Queue (Kafka)
  11. Design a Distributed Job Scheduler
  12. Design a Unique ID Generator (Snowflake)
  13. Design a Ticket Booking System (BookMyShow)
  14. Design an E-commerce Cart and Checkout
  15. Design a Hotel Booking System (Airbnb)
  16. Design a Food Delivery App (Swiggy)
  17. Design a Metrics Monitoring and Alerting System
  18. Design a Log Aggregation System
  19. Design a Distributed File System (GFS/HDFS)
  20. Design an Object Storage Service (S3)
  21. Design a Social Graph (Friends and Suggestions)
  22. Design a Real-Time Leaderboard
  23. Design a Collaborative Document Editor (Google Docs)
  24. Design Pastebin
  25. Design a Digital Wallet
  26. Design an Ad Click Aggregation System
  27. Design a Feature Flag and Config Service
  28. Design a Nearby Places Search (Yelp)
  29. Design Trending Topics (Top-K)
  30. Design a Video Conferencing Service (Zoom)
  31. Design an Elevator System
  32. Design an ATM
  33. Design an Expense Sharing App (Splitwise)
  34. Design a Chess Game
  35. Design an LRU Cache
  36. Design a Logging Library
  37. Design a Meeting Room Booking System
  38. Design a Library Management System
  39. Design Snake and Ladder
  40. Design a Stock Exchange Order Matching Engine

What you get in the Crack the Interview bundle

  • System Design courseSeventy short concept chapters with diagrams, worked numbers and code you can run.
  • Fifty case studiesFrom a URL shortener to a stock exchange matching engine, each one worked step by step.
  • System Design playgroundBuild every case study yourself. Decide first, then compare with the guided answer.
  • DSA Patterns courseThe 23 patterns behind most coding problems, one session each, with a template you can reuse.
  • Coding practice trackerProblems grouped by pattern, with spaced re-solving so a solved problem stays solved.
  • Placement quizFind your level on day one and get the next problems picked for you.
  • Coding pattern guidesA template and a worked example for every common coding pattern.
  • Design Patterns courseThe 18 patterns interviewers ask about, with runnable Python before and after each one.
  • Quizzes and flash cardsA short quiz after chapters and spaced flash cards so what you read stays with you.
  • Cheat sheets and question banksOne-page revision sheets and the questions you are likely to be asked.
  • Chapter Q and AAsk a doubt under any chapter and read the answers others got.
  • New chapters during your yearAnything added to these courses while your access is open is yours too.

One payment, 365 days of access to all of it from the day you pay. Buy again before it ends and the new year is added to what is left.

₹699

Enrolment opens soon. Follow our WhatsApp channel to hear first.