System Design & API Design Patterns: Study Guide for 79 Flashcards
Master system design and API patterns: sharding, consistent hashing, CAP, circuit breakers, sagas, REST, OAuth and JWT with a 79-card Flip It deck and study plan.

Studying. But it's also a video game. 🎮
Flashcards, quizzes and games that make you actually remember.
Posted by
Related reading
Master Dynamic Programming with 30 Flashcards: Memoization, Knapsack, LCS and Bitmask DP
Master dynamic programming with deck AI3432: 30 flashcards on memoization, tabulation, knapsack, LCS, LIS, edit distance, Kadane, bitmask and digit DP.
Study Guide: Software Testing in 40 Flashcards — Unit, Integration and 30 More Test Types
Learn software testing with 40 flashcards: unit vs integration, the test pyramid, smoke vs sanity, load vs stress, code coverage, mutation testing and TDD.
Learn Big O Notation in German: 44 Flashcards on Landau-Notation, Schranken and Sorting Costs
German edition of the Big O flashcard deck: obere, untere and scharfe Schranke, Mergesort, Knoten and Kanten, plus three cards to fix before you study.
System design interviews reward one skill above all: naming the right building block for a constraint, fast. The Flip It deck System Design & API Design Patterns (code UE0645, 79 cards) is built for exactly that. Here is how to get through it efficiently, and which cards to tidy up first.
Study this deck: System Design & API Design Patterns
1 / 10System design
Tap the card for the answer · swipe right if you knew it, left if not
Two decks in one
Cards 1-50 cover distributed systems: scaling, storage, consistency and resilience. Cards 51-79 switch to API design: REST, HTTP, auth and gateway patterns. Study them as two separate blocks rather than one long shuffle. The architecture block is about trade-offs; the API block is about precise facts (status codes, headers, methods), and mixing them blurs both.
Cards worth knowing cold
| Front | Back |
|---|---|
| Horizontal scaling | Adding more servers to distribute the load across multiple machines |
| Sharding | Partitioning data across multiple database instances to distribute load |
| Consistent hashing | Minimizes remapping when nodes are added or removed |
| Circuit breaker pattern | Stops requests to a failing service to prevent cascading failures |
| Saga pattern | Distributed transaction as a sequence of local transactions with compensating actions |
| p99 | The response time below which 99% of requests fall |
| PUT vs PATCH | PUT replaces the entire resource (idempotent); PATCH is a partial update |
| Backend for Frontend (BFF) | A separate backend API per client type (web, mobile, IoT) |
What the deck covers
Vertical vs horizontal scaling, load balancing, replication (primary-secondary), CDN, caching, stateless vs stateful servers, message queues, publish-subscribe, SPOF, SLA, CAP theorem, eventual vs strong consistency, ACID vs BASE, denormalization, SQL vs NoSQL, reverse proxy, georouting, indexing, connection pooling, webhooks, idempotency, Raft and Paxos, Byzantine fault tolerance, two-phase commit, Bloom filters, heartbeats, back pressure, strangler fig, bulkhead, REST constraints, CRUD-to-HTTP mapping, 2xx/4xx/5xx codes, API versioning, cursor pagination, OAuth 2.0, JWT, HATEOAS, API Gateway, GraphQL, the repository pattern, token bucket and leaky bucket throttling, content negotiation, CORS, Cache-Control and ETag, and OpenAPI.
Fixes before you start
- Merge the duplicates across the two blocks. Rate limiting appears three times (cards 18, 62, 71), and webhooks (32/72), idempotency (33/55), sync vs async (31/78) and eventual consistency (21/48) each appear twice. Keep the version with more detail, which is usually the one in the API block, since it names concrete techniques like the token bucket.
- Sharpen the CAP card (20). It says a system guarantees any two of three. In practice, network partitions are not optional, so the real choice is consistency vs availability during a partition. Add PACELC on the back: when there is no partition, you trade latency for consistency.
- Drop or move card 2. It lists UI, data and process design as the main components of system design, which is textbook software engineering, not what an interviewer means. Card 50 (ML system design) is also a stray; give it its own tag.
A tip that works for this topic
Turn every pattern card into a trigger card. On the back of Circuit breaker, Bulkhead, Saga and Back pressure, add one line saying which failure each one answers: a slow dependency, resource exhaustion, a cross-service transaction, an overwhelmed consumer. Interview questions describe the symptom, never the pattern's name, so reviewing symptom-to-pattern is what transfers.
Keep going
The API block overlaps with our guide to REST, GraphQL and HTTP status codes. For the algorithms side of interviews, see sorting, searching and graph algorithms.
Ready to learn faster? 🚀
Join FLIP IT for free and turn studying into a game.