What are you assuming right now?

Answer it out loud before you open anything. The value of the flags below is in comparing them to what you actually said — including whether you asked who uses it before naming what you would build it with.

The situation behind the question

Midway through a design discussion for a URL shortener, the interviewer stops you and asks: "Everything you have said so far rests on assumptions you have not stated. Name them." You have been describing a hash-based key, a single table and a redirect endpoint.

What it is really testing

Whether the candidate can surface their own assumptions on demand, tell an assumption from a requirement, and say which assumptions are dangerous — the ones that, if wrong, invalidate the design rather than a detail.

Where the move is taught