A Mock System Design Round
A mock system design round is a practice round that walks one design through the interview framework under a clock. It rehearses the framework, not new system design content.
Split the design round into stages
A stage list keeps the round on track. Scaling gets the largest share because it holds the most decisions.
plan = [("clarify", 5), ("estimate", 5), ("api and model", 10), ("scale", 15), ("trade-offs", 10)]
for stage, minutes in plan:
print(stage, minutes)
print("total:", sum(minutes for _, minutes in plan))Estimate from working assumptions
The estimate uses plain working assumptions for the mock. It sizes the design without claiming real company numbers.
users = 1000
links_each = 2
print("links per day:", users * links_each)
print("links per year:", users * links_each * 365)Sketch the API and the record
Two operations cover the narrowed design. Three fields describe one short link record.
print("POST /links creates a short link")
print("GET /abc reads one short link")
for field in ["code", "target", "owner"]:
print("field:", field)Example
steps = [("clarify", "shared notes for small teams"), ("estimate", "10000 notes under working assumptions"), ("api and model", "create and read a note"), ("scale", "cache popular notes"), ("trade-offs", "stale reads for a short time")]
for step, decision in steps:
print(step, "->", decision)Key points
- Mock design round: a timed rehearsal of clarify, estimate, API, data model, scale, and trade-offs.
- Use the clarifying stage to narrow the design to one core use case.
- Use the estimate stage to turn working assumptions into small counts.
The program prints each round step with the decision made at that step. The decisions stay small and tied to the clarified scope. The trade-off closes the round honestly.
Note
name the existing System Design courses as prerequisites, since this lesson teaches the interview framework only.
never present a working assumption as a fact about a real company.
Try it Yourself
Edit the code, then press Run.
Running is simulated · Python Playground
Exercise
A mock design round starts. Which opening follows the framework?