System Design Studio
Explain your design.
Build a design you can explain, from requirements to tradeoffs.
Where are you starting?
Choose your guidance. Switching preserves your draft.
Select a starting point to begin.
Guided learning
Persist before replying.
A new short link needs a stored code-to-URL mapping. Choose where the application can truthfully report that the link was created.
A successful create request
- Browser1. Send the original URLCreate a short link for this URL.
- Application2. Prepare the mappingValidate the URL and choose a code.
- Persistent store3. Commit the mappingConfirm that the stored row is durable.
Request and stored record
- Original URL
https://example.com/guide- Committed mapping
k7Q2 → https://example.com/guide
Reply after the commit
{
"code": "k7Q2",
"shortUrl": "https://short.example/k7Q2"
}Illustrative design: a successful store acknowledgment means a durable commit. If the store explicitly rejects the write before a commit, the application reports creation failed and does not return a created-link reply. An uncertain write outcome needs separate reconciliation.
Check your reasoning
Next: describe the API contract →- Client
- The person’s browser or app using your service.
- Request
- A message asking your service to do something, such as create a short link.
- API
- The agreed way a client asks the application for something and receives a response.
- Store
- Persistent memory for the short code and its original link, so they survive a restart.
- Requirements describe the actions and qualities the system needs.
- Trace a request from the client through the application to its durable data.
- State assumptions before estimating workload or adding a cache.
Design a URL shortener
Someone creates a short link. Another person follows it to the original page. Design the service that connects those two actions.
Learning resources
Further explanations and contrasting designs.
- Hello Interview — introductionUnderstand what design interviews ask you to demonstrate.
- Hello Interview — delivery frameworkConnect requirements, interfaces and architecture.
- Hello Interview — core conceptsBuild vocabulary for the parts you are choosing.
- System Design PrimerCompare approaches and explore tradeoffs.
- AWS Well-Architected FrameworkAsk questions about operating the design, beyond the interview.
Practice exercises
Next
- Additional timed cases