Design a URL Shortener
Lookup-heavy, ID generation, redirects, and analytics.
Run the interview
The real drill, complete — the same one the course ships, with all five interviewers and the scoring pass. Copy the prompt into a fresh AI chat and it plays the interviewer: it withholds the requirements until you ask, throws scripted curveballs, and holds you to a 45-minute clock. Then take the transcript to a second, clean chat with the scoring prompt.
URL shortener interview
Senior → Staff+The prompt — all the interviewer says to start“Design a URL shortener like Bitly or TinyURL.”
A deceptively simple prompt. The interviewer will be watching whether you find the real hard parts (code generation, redirect scale, analytics off the hot path) and whether you right-size the design — over-engineering is penalised here as much as under- engineering.
45-min clock · 6 phases · 4 curveballs · 11 facts withheld
Fair, structured, keeps you moving.
Ask the interviewer for the transcript when you finish, then paste it with this prompt into a fresh chat. The interviewer nudged you through the phases, so it is the worst possible judge of whether you drove the conversation — which is exactly what the Staff+ bar is measuring.
| Dimension | Senior bar | Staff+ adds |
|---|---|---|
| Requirements & scope | Asks for functional scope, scale, latency, and consistency needs; scopes to a sensible MVP. | De-scopes out loud and names the 2–3 decisions that determine success before designing. |
| Estimation | Does the QPS / storage / bandwidth math and uses at least one number to justify a choice. | Uses the numbers throughout to rule options in and out; sizes each tier; spots the scary number early. |
| API & data model | Core endpoints; entities with the hot access pattern for each; a defensible storage choice. | Designs the schema and partition key around the hottest query; explains why not the alternatives. |
| High-level design | A coherent architecture that meets the requirements; traces one write and one read end to end. | The simplest design that works, with extension points called out; every added component motivated by a number. |
| Deep dive on the crux | Goes 2–3 levels deep on the hard part when prompted; handles the curveballs without flailing. | Drives straight to the crux; adapts the design cleanly when a curveball breaks it; quantifies the fix. |
| Tradeoffs & failure modes | Names the tradeoffs at each fork; identifies single points of failure and what breaks at 10×. | Raises risks, cost, and second-order effects unprompted; designs for failure from the start; has a degradation ladder. |
| Communication & drive | Structured, thinks out loud, responds well to steering, manages the clock. | Runs the room; the interviewer mostly listens; aligns with them as a peer rather than waiting to be asked. |
Self-review checklist (for grading yourself without the sim)
- Did I state the scale and immediately note that storage is tiny and the read rate is the only real challenge?
- Is my code-generation scheme collision-free AND non-enumerable AND not bottlenecked on a single counter?
- Does a redirect ever touch the database on the happy path? (It shouldn't.)
- Is the analytics write fully off the redirect path, and does the redirect still succeed if the analytics pipeline is down?
- Did I pick 301 vs 302 deliberately and say why?
- For the viral-link curveball, did I have a concrete multi-layer answer (CDN + replicated key + micro-cache)?
- Did I resist adding components the numbers don't justify — and say so out loud?
The part an AI chat can't give you
An LLM will happily explain a monotonic stack — and you should let it. What it won't do is decide what you learn next, remember that you got something wrong three weeks ago, or put it back in front of you today. That machinery is the course.
Think in half-open ranges [i,j); no …
Real cards from the two free modules, scheduled by the same SM-2 code the course runs. Every module's key points become cards.
Review 12 cards, then continue 14 Backtracking.
The dashboard picks the one next thing, so you never open the course and wonder what to do.
- “sorted” + “find a pair”→Two pointers
- “longest substring…”→Sliding window
- “next greater element”→Monotonic stack
- “top k” / “k closest”→Heap
- “number of ways”→DP over states
Two full indexes map the phrases you actually see in a problem to the structure or building block they imply. Browse the DSA one free →
That's 3 of 81.
The rest of Data Structures & Algorithms, all of Broader CS, and the full System Design track — including 19 case studies you run as mock interviews — plus every exercise and the spaced-repetition review, are one payment away.
Already bought it? Unlock