Loading…
Loading…
Add the operations your service exposes. Method, path, and status codes make your API much easier to review.
Policies that aren't specific to a single endpoint — auth, rate limits, versioning, and other notes.
Diagram
Draw the components and how traffic flows between them. Notes below the canvas are optional — the Walkthrough panel is the primary place to narrate flows.
Request walkthrough
Trace each core requirement as an ordered sequence of hops through your diagram. Use component names from your canvas for the From / To columns.
User can submit a long URL and receive a short alias.
Visiting a short alias redirects to the original URL.
Track click count per short URL (analytics).
Storage schema
For each entity, declare how it's stored. Sharding key is the interesting one — pick the access pattern it optimises for.
Owns and creates short URLs.
The mapping: short_code → long_url, with owner and timestamps.
A single redirect event recorded for analytics.
Component choices
Pick one per row and give a one-line reason. These are the concrete technology decisions your diagram implies.
How traffic is distributed to your app servers.
Where hot reads are served from.
Edge caching for static or heavily-read content.
Async work buffer for writes/fan-out.
How unique identifiers are minted.
Primary durable store for entities.
Your diagram
No components drawn yet — edit the diagram before answering.
Iterate on your design — don't start over.
Each scenario below probes a specific weakness in a typical HLD. Reference components from your diagram by name, describe what breaks and at what load, then name the minimum change that fixes it. Strong answers identify the precise failure mode — not just "scale it up".
You deploy a new Redis cluster and all caches are cold. The first second of traffic — 40K QPS — hits the DB directly. What happens and how do you prevent it?
Probes: caching strategy
us-east goes dark — full region outage. What still works for a user in Europe? What breaks?
Probes: failure mode analysis
Traffic is about to 10x. Of every component in this design, which one fails first and what is the precise failure mode?
Probes: high level architecture