Trade-offs Reference

Every system design decision involves trade-offs. Understanding both sides is what separates strong candidates from the rest.

Consistency (CP)

Every read returns the most recent write. All nodes see the same data at the same time. System may become unavailable during partitions.

Choose when:
  • +Financial transactions (banking, payments)
  • +Inventory management (prevent overselling)
  • +User authentication (password changes)
  • +Any system where stale data causes real harm
Examples:
PostgreSQLMongoDB (strong mode)CockroachDBetcd

Availability (AP)

Every request gets a response (no errors). System remains available during partitions but may return stale data.

Choose when:
  • +Social media feeds (few seconds stale is OK)
  • +Product catalogs (read-heavy, rarely updated)
  • +CDN-served content
  • +DNS resolution
Examples:
CassandraDynamoDBCouchDBDNS
Key Insight for Interviews

The CAP theorem says during a network partition, you must choose CP or AP. In practice, most systems choose availability with tunable consistency levels. The real question is: what's the cost of showing stale data?

How to Talk About Trade-offs

The winning formula: "We choose [A] over [B] because [reason based on our requirements]. The trade-off is [what we lose], which is acceptable because [justification]." Always acknowledge what you give up — interviewers want to see that you understand the cost of every decision.