How to draw a system-design diagram for an interview
Build a URL shortener diagram one decision at a time, then revise it when links need to expire.
Thoughts on system design, clearer diagrams, and the work behind Lycana.
Thoughts on system design, clearer diagrams, and the work behind Lycana.
A diagram is useful when you can change your mind without redrawing everything.
Read articleBuild a URL shortener diagram one decision at a time, then revise it when links need to expire.
The names overlap. Choose what to draw by the decision your reader needs to make, then label the relationships that matter to that decision.
Follow a checkout dependency decision from an ambiguous sketch to a reviewable view that shows the promise, failure path, and alternative.
Follow a service migration through three diagram revisions, and decide when an old view still helps or sends readers down the wrong path.
A phone transcription study found a speed advantage for speech. A design change still has thinking, inspection, and correction time to account for.
An approved PNG can show what a team agreed to draw. When a later change arrives, the team also needs the editable source, the decision behind it, and a way to tell which version was approved.
A shipping-service decision shows when an informal sketch is enough, when C4 clarifies boundaries, and when a UML sequence diagram earns its precision.
Review a photo upload diagram for a premature success response, a missing failure state, and a private photo path that is not private.
Follow one fictional appointment booking through context, runtime, module, and deployment views, then see how one design change alters each view.
Three often-cited studies measure different things. Read their questions and denominators before using a technical-debt statistic to plan engineering work.
Use a fictional preview-generation design session to decide when to keep a photo, when to write down the decision, and what can be erased.
A vague arrow can support two sensible stories. Follow one report-generation diagram through both readings and a revision that settles the question.
Turn a ticket reservation arrow into a clear agreement about requests, successful holds, timeouts, and who owns the seat state.
A shared customer schema is a sensible shortcut until teams need separate releases and tighter access. Follow the costs that appear, and decide when to change it.
Follow a store-scoped order number from an easy early revision to a deployed identifier migration with old records, integrations, and rollback to protect.
Follow one document job through a worker crash, a repeat delivery, and a failed-job queue to see which decisions the diagram must show.
Change one request path in an order system and see why component identity and labeled relationships matter more than movable boxes.
A short way to turn a system explanation into something you can inspect together.