Lesson 6 of 21
1. How to Approach a Design Question

1.5 What questions should you ask first?

3 min read+10 XP

READ: understand the problem

At the architect's desk: Before drawing a single line, the architect asks five kinds of questions. What rooms do you need? How many people? How will you use the house (big parties or quiet evenings)? How quickly do you need it ready? And what must never go wrong (no wobbly railings with kids around)?

In the interview: Ask the same five kinds of questions. They spell SCALE:

LetterAsk aboutURL shortener example
ScopeWhich features are in, which are out?Custom aliases? Expiry dates? Click analytics?
CountHow many users, how much data?How many new links per month? How many clicks?
Access patternMore reads or more writes? Any spikes?Links are clicked far more often than they're created
Latency (and uptime)How fast, how available?A redirect should feel instant; links must work 24/7
ExactnessHow correct must the data be, how fast?A link must never point to the wrong page; analytics can lag

Two rules:

  • Ask, then commit. If the interviewer says "you decide", state an assumption out loud ("I'll assume 100 million new links a month") and move on.
  • Write the answers down where both of you can see them. You'll come back to them in every later step.

Memory code: "Ask about SCALE before you scale." Scope, Count, Access pattern, Latency, Exactness.