1. Design a URL Shortener
Create short links, resolve them quickly and handle expiry without sending users to the wrong destination.
Start with a template. Work through each step. Ask Coach when you need a second opinion.
Company tags are community-reported. Counts on cards show how many people reported that design.
Create short links, resolve them quickly and handle expiry without sending users to the wrong destination.
Enforce tenant quotas across servers while making burst behavior and outage policy explicit.
Partition cached data, survive node loss and keep cache misses from overwhelming the source of truth.
Deliver email, push and SMS with preferences, retries and honest delivery status.
Send durable messages, reconnect devices and explain ordering and delivery receipts.
Build a paginated feed that handles high-fan-out authors, fresh posts and visibility changes.
Upload and share large files with resumable transfer, versions and safe metadata changes.
Turn uploads into playable renditions and serve viewers through unreliable networks.
Return useful prefix suggestions quickly while refreshing rankings and removing unsafe entries.
Route API traffic with authentication, tenant limits and safe configuration rollout.
Reconcile desired workloads, schedule containers and recover from failed nodes safely.
Safely converge 40,000 gateways while some sites are disconnected and old controllers can return.
Survive a regional outage without confusing a health check with safe recovery.
Separate reservation, payment and confirmed purchase during a 50,000-person launch.
Reconcile conflicting edits and large photo uploads without losing submitted inspections.
Create a gated migration plan when engineering, finance and support have different definitions of success.
Turn an enterprise residency promise into enforceable scope and a cross-team launch plan.
Handle document changes, ACL revocation and deletion across a retrieval pipeline.
Build a release decision from noisy evaluations, customer slices and production feedback.
Choose a useful first service before spending a small team’s budget on an app.
Investigate a drop in repeat visits and choose one test without assuming reminders are the answer.
Design a complete arrival experience across booking, signs, staff and a changed room.
Keep a community event’s update, travel and arrival experience consistent when plans change.
Process more applications than available tables with clear decisions, ownership and a waitlist.
Make ownership and honest response promises work with a limited weekly support budget.
Explain a simple booking process, try it with examples and improve one weak spot.
Arrange a small community activity with clear rules, a simple record and a closing plan.
Keep tenant usage totals correct across duplicate delivery, late events, outages and replay.
A read-heavy service sends every request to a database that is slower and more expensive per read than memory, and the same few rows are asked for over and over.
A service commits to its database and then publishes an event. If it dies in between, the row exists and no one hears about it. Publishing first has the mirror problem: an event for a write that never happened. There is no ordering of two independent systems that makes this safe.