- MantraMindAI
- Courses
- Tech Interview Prep
- System Design Interview
System Design Interview
For software engineers preparing for the system design interview, from mid-level to staff. You will learn a four-step framework, back-of-the-envelope estimation and the core building blocks, then practise them on twenty-five classic designs, from a rate limiter and URL shortener to chat, payments and a stock exchange, so you can scope, size and defend a design under interview pressure. 71 lessons in 31 sections, about 60 hours.
Course Content
Learn what the system design round is, how it is scored and levelled, and how to work through this course and pick the sections that fit your target role. 2 lessons, about 60 minutes.
Grow a design from a single server to millions of users, adding load balancers, replication, caching, a CDN and sharding one step at a time, and learn what each step costs. 2 lessons, about 120 minutes.
Size a system in minutes from the numbers worth memorising, computing traffic, storage, bandwidth and memory, and sanity-check the result before it drives your design. 2 lessons, about 90 minutes.
Learn the four-step interview framework — requirements, high-level design, deep dive and wrap-up — with a time budget for each and how to communicate when the problem is still vague. 2 lessons, about 90 minutes.
A reference for the building blocks every design uses: CAP and consistency models, databases, partitioning and replication, caching, load balancing, queues, communication patterns, reliability and observability. 3 lessons, about 150 minutes.
Design a distributed rate limiter by comparing the five main algorithms, choosing where the limiter lives, and keeping counters correct across servers. 2 lessons, about 100 minutes.
Learn why modulo hashing breaks when servers change, and how the hash ring, virtual nodes and replication on the ring fix it. 2 lessons, about 90 minutes.
Design a distributed key-value store, covering storage engines, partitioning, quorums, conflict resolution and failure handling, and trace a read and a write end to end. 3 lessons, about 140 minutes.
Generate unique, roughly time-ordered IDs across many machines with the Snowflake approach, and handle clock problems and machine ID assignment. 2 lessons, about 80 minutes.
Design a URL shortener, from the API and data model through short-key generation to serving billions of redirects from cache. 2 lessons, about 100 minutes.
Design a web-scale crawler around the crawl loop, a polite URL frontier and duplicate detection, and make it survive the traps of the open web. 2 lessons, about 120 minutes.
Design a notification system that sends push, SMS and email reliably, without duplicates, while respecting user preferences and rate limits. 2 lessons, about 110 minutes.
Design a social news feed by weighing fan-out on write against fan-out on read, then build the hybrid real systems use, with storage, caching and ranking. 2 lessons, about 130 minutes.
Design a chat system with persistent connections, stateful servers, ordered message storage, group chat, presence and delivery state. 2 lessons, about 130 minutes.
Design search autocomplete with a trie that caches the top suggestions at every node, an offline data pipeline, and serving at millisecond latency. 2 lessons, about 110 minutes.
Design a video platform whose uploads are transcoded in parallel as a task graph and whose playback is served almost entirely from a CDN, where egress cost drives the design. 2 lessons, about 140 minutes.
Design a file sync service that splits files into content-addressed blocks, sends only the blocks that changed and resolves conflicting offline edits across devices. 2 lessons, about 130 minutes.
Find nearby places quickly by precomputing a geospatial index (grids, geohashes or quadtrees) over data that rarely changes. 2 lessons, about 120 minutes.
Show users which friends are nearby when every location changes every few seconds, using publish-subscribe over live connections instead of an index. 2 lessons, about 110 minutes.
Design map tiles, a routing engine that works at continental scale, ETAs from live traffic and turn-by-turn navigation. 2 lessons, about 130 minutes.
Design a Kafka-style message queue: why a log beats a queue, how partitions decide ordering, and what each delivery guarantee really costs. 3 lessons, about 130 minutes.
Design a metrics pipeline that takes millions of writes per second, covering push versus pull collection, time-series storage, downsampling and alerting. 2 lessons, about 120 minutes.
Count ad clicks accurately enough to bill from, using stream aggregation with windowing, exactly-once processing and reconciliation against raw events. 3 lessons, about 130 minutes.
Design hotel search and booking so that no room is ever sold twice, keeping strict consistency to the small part of the system that needs it. 2 lessons, about 120 minutes.
Design an email service at petabyte scale, separating metadata from message bodies, with per-user search, reliable delivery, threading and spam filtering. 3 lessons, about 130 minutes.
Design S3-style object storage with separate metadata and data paths, durability worked out from replication or erasure coding, and strong read-after-write. 3 lessons, about 130 minutes.
Rank millions of players in real time by choosing the right data structure, a sorted set, and learn how to scale it beyond one node. 2 lessons, about 100 minutes.
Design a payment system that never charges twice, using idempotency keys, a double-entry ledger, the outbox pattern and daily reconciliation with the provider. 3 lessons, about 140 minutes.
Design a digital wallet whose balances cannot silently go wrong, using double-entry bookkeeping, event sourcing and safe transfers across shards. 3 lessons, about 140 minutes.
Design a stock exchange around a single-threaded, deterministic matching engine, with a microsecond latency budget, replay-based failover and multicast market data. 3 lessons, about 150 minutes.
Review the patterns that recur across every case study, find your own gaps with a self-assessment, and plan how to keep practising. 2 lessons, about 60 minutes.