Train the shape of a real answer, not just isolated concepts.
Define users, core actions, scope boundaries, latency, reliability, and scale assumptions.
Calculate only the numbers that affect architecture: read QPS, write QPS, peak, storage, and fan-out.
Draw the baseline with user path, data path, stores, cache, async side work, and one clear bottleneck.
Choose the subsystem where scale, correctness, or reliability pressure is highest.
Handle one changed constraint and one failure scenario without losing the answer structure.
Summarize the design, name trade-offs, and say where the system evolves next.