FDEBench Join us live

Q
148 / 159

General design

Explain the CAP theorem and then use it to make an actual design decision for a system you choose.

question bank FDEBench bank

01
Sketch

Reference sketch

A short answer key carried over from the source. Not yet a graded rubric.

1. State it precisely: when a network partition occurs, a distributed system must give up either consistency or availability — partition tolerance is not a choice, it is a property of networks. 2. Correct the common misreading: CAP describes behaviour during a partition, not a permanent three-way trade, and outside partitions a system can be both consistent and available. 3. Choose CP where a stale or conflicting answer is worse than no answer — ledgers, inventory decrements, uniqueness constraints — and accept that some requests are refused during a partition. 4. Choose AP where a stale answer is acceptable and unavailability is expensive — like counts, presence, feeds, caches — and pair it with a convergence story. 5. Add the practical extension (PACELC): even with no partition, there is a latency-versus-consistency choice on every read. 6. Show the decision applied per component rather than per system: the same product can run a CP metadata store and an AP counter service. 7. Name the mechanisms that implement the choice — quorums, leases, fencing tokens — rather than leaving it at the level of a slogan.

—