Skip to content

Trade-Off Cheat Sheet

Use this as a quick reference during interview prep. Each trade-off is a common discussion point.


Trade-offOption AOption BWhen to Choose
SQL vs NoSQLStrong consistency, joinsHigh throughput, flexible schemaA: finances, reporting. B: user profiles, logging
Replication: sync vs asyncNo data loss, higher latencyFaster writes, possible data lossA: banking. B: social media
Normalized vs denormalizedLess storage, complex queriesFaster reads, more storageA: normalized for writes. B: denormalized for reads
Single leader vs multi-leaderSimple consistencyHigher availability, conflict resolutionA: traditional. B: multi-region

Trade-offOption AOption BWhen to Choose
Cache-aside vs Write-throughSimple, cache only hot dataAlways consistent, slower writesA: general purpose. B: critical reads
LRU vs TTLOptimizes for access patternsPredictable expirationA: unpredictable access. B: time-sensitive data
Local vs Distributed cacheFaster (no network), uses RAMLarger capacity, shared across serversA: single server. B: multi-server

Trade-offOption AOption BWhen to Choose
REST vs gRPCHuman-readable, universal, cachedFast, typed, streamingA: public APIs. B: internal services
Sync vs AsyncSimple, immediate responseDecoupled, handles spikesA: CRUD. B: background processing
Polling vs WebSocketSimple, statelessReal-time, persistent connectionA: low-frequency updates. B: real-time

Trade-offOption AOption BWhen to Choose
Monolith vs MicroservicesSimple to build, hard to scaleComplex, scales independentlyA: small team. B: large team, high scale
Stateful vs StatelessServer remembers contextScales horizontallyA: simple apps. B: large-scale systems
Event-driven vs Request-drivenLoose coupling, eventual consistencySimple, strong consistencyA: many services react. B: simple CRUD
Server vs ServerlessPredictable cost, no cold startsPay per use, auto-scalingA: steady traffic. B: spiky traffic

Trade-offOption AOption BWhen to Choose
Strong vs Eventual consistencyCorrect, slower, lower availabilityFast, available, stale reads possibleA: banking. B: social feeds
CP vs AP (under partition)Stop writes to stay consistentKeep accepting writesA: financial. B: content delivery
Active-Passive vs Active-ActiveSimpler failover, standby costNo downtime, N× serversA: cost-sensitive. B: uptime-critical

ScenarioRecommended Choice
You need ACID transactionsPostgreSQL
You need high write throughputCassandra, Kafka
You need flexible schemasMongoDB
You need real-time updatesWebSocket
You need to handle traffic spikesAuto-scaling + queue
You need to protect from DDoSCDN + rate limiting
You need to survive a zone failureMulti-AZ deployment
You need to debug a microservice issueDistributed tracing (Jaeger)

  • Every choice in system design is a trade-off. Know the two options and when to pick each.
  • The cheat sheet helps you quickly compare alternatives during interviews.
  • Always explain why you chose one option over the other.