Types of Questions to Ask
The Four Pillars of Clarification
Every system design interview begins with a vague prompt. Your first job is to turn ambiguity into a concrete problem statement. There are four categories of questions you should always ask.
1. Users and Scale
Who uses the system? Understanding your user base drives every downstream decision.
| Question | Why It Matters |
|---|---|
| How many daily active users (DAU)? | Determines replication strategy, cache sizing, database sharding |
| What is the read-to-write ratio? | 100:1 reads suggest heavy caching; 1:1 suggests balanced architecture |
| Are users global or regional? | Affects CDN placement, data residency, latency requirements |
| Is the user base growing? | Influences whether you design for horizontal scalability |
Example: If asked to design Twitter, you might say:
"I want to confirm the scale. Are we designing for 300M DAU like current Twitter, or a smaller 10M DAU product? And is the read-to-write ratio approximately 100:1, meaning most users scroll timelines rather than tweet?"
2. Latency and Performance
How fast must it be? This drives your choice of databases, caching layers, and async vs sync processing.
- Real-time (< 100ms): Chat, notifications, live feeds → need in-memory stores, persistent connections
- Near real-time (< 1s): Search results, feed loads → can tolerate some network hop
- Batch (minutes to hours): Analytics, recommendations → can use offline processing
3. Consistency vs Availability
Do you need strong consistency or high availability? This is the CAP theorem tradeoff.
Strong Consistency: Every read returns the most recent write
→ Banking transactions, inventory counts
→ Requires consensus protocols (Paxos, Raft)
→ Higher latency, lower availability
Eventual Consistency: Reads may lag behind writes
→ Social media feeds, view counts
→ CRDTs, gossip protocols
→ Lower latency, higher availability
4. Data Characteristics
What kind of data are we storing?
- Structured vs unstructured: Relational DB vs document store vs object storage
- Data volume: GBs vs TBs vs PBs affects storage architecture
- Data retention: Must we keep data forever? Compliance requirements?
- Access patterns: Hot data (frequently accessed) vs cold data (archival)
The Question Framework Template
1. SCALE QUESTIONS
- "How many users do we expect?"
- "What is the expected read/write ratio?"
- "Is the system global or regional?"
2. PERFORMANCE QUESTIONS
- "What latency is acceptable?"
- "Do we need real-time or near-real-time?"
3. CONSISTENCY QUESTIONS
- "Is strong consistency required?"
- "Can we tolerate eventual consistency?"
4. DATA QUESTIONS
- "What is the expected data volume?"
- "What are the primary access patterns?"
- "Are there retention or compliance requirements?"
Scoping the Problem
Functional vs Non-Functional Requirements
Before diving into architecture, you must separate WHAT the system does from HOW it performs.
Functional Requirements
These define the features and behaviors of the system. They answer: What should the system do?
Example: URL Shortener Functional Requirements
✅ Generate a short URL from a long URL
✅ Redirect short URL to original URL
✅ Custom aliases (optional)
✅ Link expiration
✅ Analytics (click count, geographic data)
Non-Functional Requirements
These define quality attributes. They answer: How should the system behave?
Example: URL Shortener Non-Functional Requirements
⚡ Low latency redirect (< 100ms)
📈 High availability (99.99%)
🔒 URL cannot be guessed
📊 Handle 100M URLs, 1B redirects/day
🗑️ Optional: link expiry and deletion
The Must-Have vs Nice-to-Have Framework
Under 45 minutes, you cannot design everything. Use this prioritization matrix:
| Priority | Category | Example (URL Shortener) |
|---|---|---|
| P0 - Must Have | Core functionality without which system is useless | URL creation, redirection |
| P1 - Should Have | Important but system works without it | Custom aliases, basic analytics |
| P2 - Nice to Have | Enhances UX but not critical | QR codes, bulk creation |
| P3 - Future | Out of scope for this session | Enterprise features, SSO |
The 2-Minute Rule
Spend exactly 2 minutes on requirements. No more. Here is why:
- A 45-minute interview has ~35 minutes of design time
- Spending 5+ minutes on requirements leaves insufficient time for deep-dive
- Interviewers expect you to ask the RIGHT questions, not ALL questions
Execution template:
"Great, let me clarify a few key things:
1. SCALE: What is the expected user base and traffic volume?
2. LATENCY: What are the latency requirements?
3. CONSISTENCY: Do we need strong consistency or is eventual okay?
4. CORE FEATURES: I'll focus on [feature 1], [feature 2], and [feature 3].
We can discuss [nice-to-have] if time permits.
Is that a reasonable scope?"
This takes ~90 seconds and demonstrates structured thinking.
Scope Narrowing Techniques
Technique 1: Eliminate by Time
"Given our 45-minute window, I'll focus on the core use case of URL creation and redirection. Analytics and custom aliases can be extensions."
Technique 2: Eliminate by Complexity
"I'll skip user authentication for now and focus on the URL management flow. Auth can be added as middleware."
Technique 3: Eliminate by Impact
"The primary use case is read-heavy redirects. I'll optimize for that and handle writes efficiently but not prioritize them."
Scoping Anti-Patterns to Avoid
- ❌ Trying to design every feature mentioned
- ❌ Asking too many clarification questions (> 5)
- ❌ Not confirming scope with the interviewer
- ❌ Making assumptions without stating them
- ❌ Skipping non-functional requirements entirely
Common Clarifications in System Design Interviews
Real Interview Examples
Below are actual system design prompts and the clarification questions top candidates ask.
Example 1: Design Twitter
Prompt: "Design a simplified version of Twitter."
Clarification Questions:
SCALE QUESTIONS
• "Are we designing for 300M DAU or a smaller product?"
• "What is the tweet volume? ~500M tweets/day?"
• "Read-to-write ratio? Probably 100:1 with heavy timeline reads?"
FEATURE QUESTIONS
• "Should tweets support media (images, videos) or just text?"
• "What is the maximum tweet length? 280 characters?"
• "Do we need to support replies, retweets, and likes?"
• "Is the timeline chronological or algorithmic (ranked)?"
NON-FUNCTIONAL QUESTIONS
• "Timeline latency? Under 1 second?"
• "Is eventual consistency acceptable for follower counts?"
• "Do we need to handle trending topics or hashtags?"
SCOPE DECISION
"I'll focus on: posting tweets, following users, and generating a timeline feed.
We can discuss search and trends if time permits."
Example 2: Design a Chat System
Prompt: "Design WhatsApp."
Clarification Questions:
SCALE QUESTIONS
• "1:1 chat only, or also group chats?"
• "Max group size? 100 or 1000?"
• "How many messages per day? 100 billion?"
FEATURE QUESTIONS
• "Do we need message delivery receipts (sent, delivered, read)?"
• "End-to-end encryption required?"
• "Support media sharing (images, video, voice)?"
• "Offline message delivery?"
NON-FUNCTIONAL QUESTIONS
• "Message latency requirement? Under 200ms?"
• "Message ordering guaranteed?"
• "Message retention policy? Forever or time-limited?"
SCOPE DECISION
"I'll focus on 1:1 messaging with delivery receipts. Group chat and media
sharing are extensions we can discuss."
Example 3: Design a URL Shortener
Prompt: "Design a URL shortening service."
Clarification Questions:
SCALE QUESTIONS
• "How many new URLs per day? 100M?"
• "What is the read-to-write ratio? 10:1? 100:1?"
• "Is global or regional?"
FEATURE QUESTIONS
• "Do we need custom aliases?"
• "Link expiration?"
• "Analytics (click count, geo, referrer)?"
• "Can users manage (delete/edit) their URLs?"
NON-FUNCTIONAL QUESTIONS
• "Redirect latency? Under 100ms?"
• "URL cannot be predictable/guessable?"
• "Availability requirement? 99.99%?"
SCOPE DECISION
"I'll design core URL creation and redirection with basic analytics.
Custom aliases and user management are P1 features."
Common Mistakes Candidates Make
| Mistake | Why It Hurts | Fix |
|---|---|---|
| Skipping requirements entirely | Shows lack of structured thinking | Always ask 3-5 questions |
| Asking too many questions (> 7) | Wastes time, shows indecision | Limit to 4 questions max |
| Not confirming scope | May design the wrong system | Summarize scope in 1 sentence |
| Making unspoken assumptions | Confuses interviewer | State every assumption aloud |
| Only asking functional questions | Ignores critical constraints | Mix scale, latency, consistency |
| Asking about implementation details | "What database should I use?" | Focus on requirements, not tech |
The Confirmation Pattern
After asking questions, always confirm with the interviewer:
"Let me summarize what I've understood:
1. We're building a [SYSTEM] for [USER BASE]
2. Expected scale: [TRAFFIC NUMBERS]
3. Core features: [LIST 2-3 FEATURES]
4. Key constraints: [LATENCY/CONSISTENCY]
Does this align with your expectations?"
This demonstrates clarity of thought and gets buy-in before you start designing.
Practice Problems
Design a scalable Clarify Requirements system. Cover high-level architecture, data model, and API design.
Solution
// Complete system design:
// - Functional + Non-functional requirements
// - Capacity estimation
// - Data model (SQL/NoSQL choice)
// - API endpoints
// - Component architecture
// - Scaling strategy
// - Monitoring & reliabilityHow would you scale Clarify Requirements to handle 10x the current load? Identify bottlenecks and solutions.
Solution
// Scaling approach:
// 1. Load balancing
// 2. Database sharding/replication
// 3. Cache layer (Redis)
// 4. CDN for static assets
// 5. Async processing (queues)
// 6. Microservices decompositionAnalyze potential failure modes for Clarify Requirements and design mitigation strategies.
Solution
// Failure mitigation:
// 1. Redundancy (multi-AZ)
// 2. Circuit breakers
// 3. Retry with backoff
// 4. Dead letter queues
// 5. Health checks
// 6. Graceful degradationQuiz
1. You are asked to design a ride-sharing app. Which of the following is the BEST first question to ask?
2. What is the recommended maximum time to spend on requirements clarification in a 45-minute system design interview?
3. When scoping a URL shortener under time pressure, which feature should be classified as P0 (Must Have)?
4. In the 'Four Pillars of Clarification', which category does this question belong to: 'Can we tolerate eventual consistency for follower counts?'
5. Which of the following is an ANTI-PATTERN during requirements clarification?
Flashcards
Question
What are the Four Pillars of Clarification in system design?
Click to reveal answer
Answer
1. Users and Scale (DAU, read/write ratio, global vs regional) 2. Latency and Performance (real-time vs near-real-time vs batch) 3. Consistency vs Availability (CAP theorem tradeoff) 4. Data Characteristics (structured vs unstructured, volume, retention)
Question
What is the 2-Minute Rule for requirements gathering?
Click to reveal answer
Answer
Spend exactly ~2 minutes on requirements clarification. Ask 3-5 key questions across the four pillars, then confirm scope in one sentence. This leaves ~35 minutes for design in a 45-minute interview.
Question
How do you prioritize features under time pressure?
Click to reveal answer
Answer
Use the P0-P3 framework: P0 Must Have: Core functionality (system is useless without it) P1 Should Have: Important but system works without it P2 Nice to Have: Enhances UX but not critical P3 Future: Out of scope for this session
Question
What is the Confirmation Pattern after requirements gathering?
Click to reveal answer
Answer
Summarize your understanding in one sentence covering: system type, user base, expected scale, core features, and key constraints. Then ask: 'Does this align with your expectations?' This demonstrates clarity and gets interviewer buy-in.
Question
Name 3 common mistakes candidates make during requirements clarification.
Click to reveal answer
Answer
1. Skipping requirements entirely (shows lack of structured thinking) 2. Asking too many questions (> 7) wastes time and shows indecision 3. Making unspoken assumptions (confuses interviewer — state every assumption aloud) Other mistakes: Only asking functional questions, not confirming scope, asking about implementation details.
Question
In CAP theorem terms, when would you choose eventual consistency over strong consistency?
Click to reveal answer
Answer
Choose eventual consistency when: - High availability is more critical than immediate accuracy - The use case tolerates temporary stale reads (social media feeds, view counts) - The system needs low latency globally - Examples: Twitter follower counts, Facebook like counts, Netflix viewing history
Question
What questions should you ask about a system's data characteristics?
Click to reveal answer
Answer
1. What kind of data? (Structured vs unstructured) 2. What is the expected data volume? (GBs vs TBs vs PBs) 3. What is the data retention policy? (Forever vs time-limited) 4. What are the primary access patterns? (Read-heavy vs write-heavy) 5. Are there compliance requirements? (GDPR, HIPAA, SOC2)
Revision Notes
Key Takeaways
- 1.Always ask clarification questions — never assume requirements
- 2.Limit questions to 3-5 covering the four pillars (scale, latency, consistency, data)
- 3.Spend at most 2 minutes on requirements in a 45-minute interview
- 4.Prioritize features using P0-P3 framework and focus on core use cases
- 5.Always confirm your understanding with the interviewer before designing
- 6.State assumptions aloud so the interviewer can correct course early
Interview Tips
- •Start with scale questions — they have the highest impact on architecture decisions
- •If the interviewer says 'design X like Google would', ask: 'Are we optimizing for correctness or latency?' — this shows CAP theorem awareness
- •Use the phrase 'Given our time constraint, I'll focus on...' to demonstrate scope management
- •If unsure about a requirement, make a reasonable assumption and state it: 'I'll assume X unless you tell me otherwise'
- •Practice the 2-minute drill: time yourself asking questions to build muscle memory
- •End every clarification round with a clear scope confirmation before transitioning to high-level design
Cheat Sheet
Clarify Requirements Cheat Sheet
The 4 Pillars
| Pillars | Key Questions |
|---|---|
| Users & Scale | DAU? Read/write ratio? Global? Growth? |
| Latency | Real-time (<100ms)? Near-real-time (<1s)? Batch? |
| Consistency | Strong or eventual? CAP tradeoff? |
| Data | Structured? Volume? Retention? Access patterns? |
2-Minute Rule
1. Ask 3-5 questions across pillars (90 sec)
2. State scope decision (30 sec)
3. Confirm with interviewer (30 sec)
Feature Prioritization (P0-P3)
- P0 Must Have: System useless without it
- P1 Should Have: Important, works without it
- P2 Nice to Have: Enhances UX
- P3 Future: Out of scope
Confirmation Template
"Let me summarize: We're building [X] for [Y users] with [Z traffic]. Core features are [A, B, C]. Key constraints are [latency, consistency]. Does this align?"
Anti-Patterns
- ❌ Skipping requirements
- ❌ Asking > 7 questions
- ❌ Unspoken assumptions
- ❌ Only functional questions
- ❌ Asking about databases/language