- Difficulty
- Intermediate
- Time
- 45–60 min
Fix the contract
State the operations, the access pattern you are designing for, and the complexity you promise for each. Say which guarantee you would relax first if the workload changed.
What to demonstrate: Are the promised properties explicit enough to test?
Choose the representation
Describe the structure that keeps indexed reads cheap while mutations continue, and name the extra cost it accepts in exchange.
What to demonstrate: Can the candidate defend a trade-off instead of merely naming a familiar data structure?
Write a checkpoint
Define what a checkpoint contains and how it is written so that a crash leaves either the previous state or the new one. Then explain what restart does with a checkpoint that was only partly written.
What to demonstrate: Is the atomicity claim specific about write ordering and how partial work is detected?
Prove the restart
List the crash points you would inject during a checkpoint and the invariants you would assert after each restart.
What to demonstrate: Can the candidate turn a durability claim into an executable test?