Practice & Assessment
Test your understanding of System Design Interview Framework
Multiple Choice Questions
6In a system design interview, what is the primary purpose of estimating QPS before drawing the architecture?
Which of these is a NON-functional requirement?
A system has 50M DAU and each user makes 5 requests per day. What is the approximate average QPS?
When should you mention the CAP theorem in a system design interview?
What does 'four nines' (99.99%) availability mean in terms of annual downtime?
Which statement best reflects good interviewer communication during system design?
Coding Challenges
1Requirements Parser
Given a list of system requirements as strings, write a function that classifies each as 'functional' or 'non-functional'. Functional requirements describe what the system does (actions, features). Non-functional requirements describe how well it performs (latency, availability, scale, security). Input: array of requirement strings. Output: array of objects with {requirement, type}. Example input: ['Users can post tweets', 'System must handle 10,000 QPS', 'Users can follow other users', 'p99 read latency under 100ms']. Expected output: [{requirement: 'Users can post tweets', type: 'functional'}, ...]. Use keyword heuristics (must handle, latency, availability, uptime, throughput = non-functional). Estimated time: 20 minutes.
Mini Project
System Design Interview Cheat Sheet Generator
Build a CLI tool that takes a system name as input (e.g., 'Twitter', 'URL Shortener', 'Uber') and outputs a structured interview prep sheet. The sheet must include: 5 clarifying questions to ask the interviewer, estimated QPS and storage given 10M DAU defaults, a list of core components with one-line descriptions, and 3 key trade-offs to discuss. Use the 4-step framework from this module. Hardcode at least 3 systems. The output must be formatted as plain text sections with clear headers. Bonus: accept DAU as a CLI argument and recalculate estimates dynamically.
