A team adds a read cache in front of the product database and must record the decision. Which sentence is a complete trade-off statement that a later reader could check and reverse?
Show the full answer Hide the answer
What is being tested
Whether you can write down a decision so it can be judged later. A trade-off statement names what was gained with a number, what was paid with a number, and the condition under which the decision should be revisited. Three of the four options are missing at least one of those.
The reasoning
The correct sentence has all three parts. The gain is a 90 percent drop in database reads, which on a database serving 2,000 reads per second means about 200 reach it. The price is up to 60 s of stale prices, which is the exact thing a customer or finance team could complain about. The trigger is "revisit if prices change hourly", which turns a one-off opinion into something that expires: if the business starts running price promotions every 15 minutes, the 60 s window no longer fits and the statement says so.
Written this way, the decision can be argued with. A product manager can reply that 60 s of stale price is unacceptable during flash sales, and the team can respond with a shorter lifetime or explicit invalidation. With the vague versions, there is nothing to disagree with, so nobody notices when the assumptions change.
Why the other options fail
- "Caching is a best practice and improves performance across the whole system." It names only a gain, with no number and no cost. A practice being popular is not a reason; the same sentence could justify any cache anywhere.
- "Accept some operational overhead and a few edge cases since the benefits clearly outweigh the downsides." The costs are named only as "some" and "a few", so nothing can be checked. The conclusion is asserted before the numbers exist.
- "Latency matters most and every other quality will be handled later." It has a number for the lifetime but the price paid (staleness) is missing, and "handled later" defers exactly the cost the statement should record.
When not to bother
For a decision that can be reversed in an afternoon, such as a log format, a single line in the pull request is enough. Write the full statement when reversing the choice would take weeks or touch other teams.
Common weak answers
- "Pick the one that mentions the cache lifetime." The fourth option does, and still hides the cost.
- "All options are fine, they just differ in detail." Detail is the whole point; only one can be tested later.
What a strong answer adds
Add who owns the revisit trigger and how it is detected, for example an alert when the price-change rate rises, so the statement is watched rather than filed.