Requirement Clarification
The most important 5-10 minutes of your interview-never skip this.
1Why Requirements Matter
Requirements clarification transforms vague prompts into specific, measurable constraints. It demonstrates product thinking and prevents wasted effort on wrong solutions.
2Functional Requirements
What should the system DO? Core features and user actions.
Example: "Design Twitter"
Tip: List 3-5 core features. Confirm what's in scope and what's NOT. "Should I focus on feed, or include notifications too?"
3Non-Functional Requirements
HOW should the system behave? Quality attributes.
Scale
- • How many users (DAU/MAU)?
- • How many requests per second?
- • Data volume?
500M DAU, 10K tweets/sec, 1PB storage
Performance
- • Latency requirements?
- • Acceptable response time?
- • Real-time needs?
Feed load < 200ms, tweet appears within 5s
Availability
- • Uptime target?
- • Acceptable downtime?
- • Disaster recovery?
99.99% availability, multi-region
Consistency
- • Strong or eventual consistency?
- • Read-after-write needed?
- • Global ordering?
Eventual consistency OK for feed
4Questions to Always Ask
Users & Scale
Features
Constraints
Data
5Real Interview Example
Interviewer: "Design a URL shortener"
In 2 minutes, you've defined: scope (shortening + analytics), scale (100M/day, 10B redirects), data retention (forever), and SLA (100ms). Now you can design.
6Common Pitfalls
Not Asking at All
Jumping straight to architecture. Interviewer wonders if you understand the problem.
Asking Too Many Questions
Spending 15 minutes on requirements. Keep it to 5-10 min, then iterate.
Asking Obvious Questions
'Should users be able to log in?' Yes, obviously. Ask non-obvious ones.
Not Confirming Assumptions
Assuming 'high scale' means 1M users when it means 1B. Always get numbers.
7Key Takeaways
?Quiz
1. 'Design Instagram'. Your first question should be:
2. Interviewer says 'high availability'. You should: