Tradeoffs
20 scenarios — canonical answer and when the opposite is right.
Sorted by interview frequency
You're building a banking ledger with multi-row transactions and complex reports across accounts, transactions, and customers.
A user uploads a video that must be transcoded into 5 resolutions before being playable.
Small team (8 engineers) building a new B2B SaaS product.
Read-heavy workload where staleness for a few seconds is tolerable.
Multiple users may edit the same document, but concurrent edits are rare.
You need to fan out user events to ~10 downstream services and let each independently replay the last 7 days for backfill.
You're designing internal service-to-service APIs across polyglot backends with strict latency SLAs and schema evolution.
A collaborative editor needs sub-100ms updates across users.
Single Postgres instance approaching CPU saturation as traffic grows.
Designing a fleet of API servers that need to scale horizontally based on traffic.
Sharding 100GB of session data across 10 cache nodes, with occasional node additions/removals.
Mobile clients on flaky networks need to fetch a screen's worth of nested, related data in one round trip.
Analytics dashboard scanning aggregations over billions of rows but only 3-4 columns at a time.
Write-heavy app deployed to two regions for low-latency writes in both.
An order checkout flow spans payment, inventory, and shipping microservices.
You need a cache that also supports rate-limit counters, sorted sets for leaderboards, and pub/sub for notifications.
Public blog/marketing site that needs SEO and fast first-paint on mobile.
Real-time multiplayer game where player positions update 60×/sec.
User requests account deletion in a system that powers downstream analytics.
Mid-size startup with shared libraries across 12 services, frequent cross-cutting changes.