Stage 4 · Provision
System Design Interviews
Trade-off Framing
Latency vs consistency, cost vs durability, and explaining rollback plans in system design.
Why Trade-offs Matter
Every system design decision involves tradeoffs. There is no perfect solution — only solutions that prioritize different constraints. The ability to articulate tradeoffs clearly is what separates senior engineers from junior engineers. It demonstrates judgment, not just knowledge.
Common Trade-offs
| Option A | Option B | Trade-off |
|---|---|---|
| Strong consistency | Eventual consistency | Latency vs correctness |
| Synchronous replication | Async replication | Durability vs performance |
| Monolith | Microservices | Simplicity vs scalability |
| SQL | NoSQL | Flexibility vs structure |
| Cache everything | Cache selectively | Performance vs cost |
| Buy | Build | Speed vs control |
Framing Framework
When presenting a system design, frame tradeoffs explicitly. State the decision, explain what you gain, explain what you sacrifice, and justify why the tradeoff is appropriate for the requirements.
Decision: Use eventual consistency for the news feed
What we gain:
- Sub-100ms feed reads (no coordination)
- Horizontal scalability (no distributed transactions)
- High availability (no single point of failure)
What we sacrifice:
- Users may see stale posts for a few seconds
- Cannot guarantee read-your-writes consistency
Why this is appropriate:
- News feeds are inherently time-delayed
- Users tolerate seeing posts a few seconds late
- The performance gain outweighs the consistency lossThis framing shows that you have considered both sides and made a deliberate decision based on requirements.
Rollback Plans
Every design should include a rollback plan. What happens if the new system fails? How do you revert? What data needs to be migrated back? Rollback plans demonstrate operational maturity and risk awareness.
- Feature flags — Gate new functionality behind flags for instant rollback.
- Blue-green deployment — Keep old system running alongside new.
- Database migrations — Ensure migrations are backward-compatible.
- Canary rollout — Test with 1% of traffic before full rollout.
- Circuit breaker — Automatically fall back to old system on errors.
Communicating Trade-offs
- Be explicit — Never leave tradeoffs implicit. State them clearly.
- Quantify — Use numbers: latency, cost, capacity.
- Prioritize — Which constraint matters most? Lead with that.
- Document — Write down the decision and rationale for future reference.
- Revisit — Tradeoffs may change as requirements evolve.
Decision Matrix
Use a decision matrix to compare options systematically. List options as rows and criteria as weights as columns. Score each option. The highest score wins. This removes bias and makes decisions reproducible.
There is no universally best design. The best design fits your specific constraints: latency requirements, consistency needs, budget, team size, and operational maturity. Show that you understand these constraints.
Mark this lesson complete to store local progress and unlock a cleaner resume path the next time you visit.