Good clarifying questions reveal hidden requirements:
Scale questions:
- How many users? DAU vs MAU?
- How many requests per second?
- How much data do we store?
Behavior questions:
- Read-heavy or write-heavy?
- Real-time or batch processing?
- Global or single region?
Constraint questions:
- What's the latency budget?
- Can we tolerate eventual consistency?
- What's the availability target?
Don't ask more than - questions. You need enough context to design, but not so many that you waste time.