1 / 10

System design · Fundamentals

Start by narrowing the problem

A system design prompt leaves many choices open. First establish who uses the system, the most important user journeys, and what is explicitly out of scope. For a photo sharing service, “upload and view a photo” is a useful first slice; editing, recommendations, and video can wait.

Write down functional requirements (what it does) and quality goals (how well it does it). Ask about scale, latency, availability, consistency, privacy, and retention when the prompt does not say.