Design a URL Shortener
bit.ly at scale: turn long URLs into short codes, redirect in milliseconds from anywhere, count the clicks.
11 questions on this site are reported in Atlassian software engineer interviews. Each has a full reference design (requirements, back-of-envelope numbers, components, user flows and deep dives with interviewer follow-ups). Each one can be walked through turn by turn and then sat as a mock. Patterns covered: key-generation, caching, cdn, analytics, crdt, operational-transform, websockets, conflict-resolution, algorithms, counters, redis, edge, chunking, dedupe, sync, object-storage, scheduling, leases, idempotency, queues, fault-tolerance, workflow-orchestration, polling, webhooks, multi-tenancy, rate-limiting, recurrence, time-zones, fan-out, interval-search, multiplayer, last-writer-wins, fractional-indexing, checkpoints, git, replication, quorum, content-addressing, thundering-herd, expiry, privacy, abuse, retries, isolation, ssrf.
Run an AI mock Atlassian interview →One of these questions, run as a live round in that style, with a debrief at the end.
Attribution comes from public interview guides and candidate reports, not from Atlassian. It indicates where a question has been asked, nothing more.
bit.ly at scale: turn long URLs into short codes, redirect in milliseconds from anywhere, count the clicks.
Real-time collaborative editing: many cursors in one document, every keystroke converging to the same text, offline edits merged on reconnect.
A distributed service that decides, in under a millisecond, whether a request from a client is allowed under its quota.
Keep a folder identical on every device: upload huge files in resumable chunks, push only what changed, and reconcile two machines that both edited the same file offline.
Run millions of cron jobs and one-off tasks on time across a fleet, exactly once each, and keep going when a worker dies halfway through one.
Connect thousands of third-party apps: watch ten million triggers by polling or webhook, and run each new event through multi-step workflows on someone else’s APIs.
Recurring events, invitations, free/busy and reminders for 500 million users, correct in every time zone and synced to every device within seconds.
500 k design files open at once, some with 200 people: objects converge live, cursors stream, and 300 MB files open in seconds.
Host 400 M git repositories on replicated file servers, serve 100 k fetches a second, and run pull requests, forks and webhooks on top.
Store and serve 10 M text pastes a day behind unguessable links: expiry that is never late, burn after reading, and abuse takedown.
Deliver 3 billion signed webhooks a day to a million customer endpoints, retrying for three days, without one slow endpoint delaying anyone else.
60 minutes on a whiteboard or drawing tool. Questions come from a structured set close to the products Atlassian runs, such as a tagging service shared by Jira and Confluence, and follow-ups get harder or easier as you go.
Jumping in too quickly. Pin down the use cases and the scale before drawing, because the follow-ups climb from there and a design built on the wrong requirements does not survive them.
From public interview guides and candidate reports, and Atlassian’s own interview guidance where it publishes any. Not endorsed by Atlassian. Formats change; treat it as a prior, not a promise.
Large-company loops run 45 to 60 minutes, expect numbers, and spend most of the time on deep dives. Walk through a question to see how a strong candidate paces the hour, sit the same question as a mock until you can produce the requirements, the estimates and the design without looking, then read the interview framework guide for how to structure the hour. The other questions on the site teach patterns that show up in Atlassian interviews under different names.
Questions reported in Atlassian system design interviews include URL Shortener, Google Docs, Rate Limiter, Dropbox, Distributed Job Scheduler, Zapier, Google Calendar and Figma, among 11 in total. Between them they test key generation, caching, cdn, analytics, crdt and operational transform. The reports come from public interview guides and candidate accounts, not from Atlassian, so practise the patterns rather than memorising one list.
60 minutes on a whiteboard or drawing tool. Questions come from a structured set close to the products Atlassian runs, such as a tagging service shared by Jira and Confluence, and follow-ups get harder or easier as you go.
Reports say the Atlassian round weighs 4 things. 1. Clarifying questions up front, with the customer and the use cases in view. 2. A data model and storage choice that fit the access patterns. 3. Extensibility: adding a product or entity type without a redesign. 4. Operational concerns: performance, reliability and cost. Jumping in too quickly. Pin down the use cases and the scale before drawing, because the follow-ups climb from there and a design built on the wrong requirements does not survive them.
Practise the questions reported there out loud, under a 45-minute clock: requirements with numbers first, then estimates, a high-level design, and deep dives into the two or three hardest parts. Start with URL Shortener: watch a strong candidate answer it turn by turn, then sit it yourself. Then cover the patterns the round leans on (key generation, caching, cdn and analytics) with one more question each.