Script Valley
Interview Prep: System Design Rounds
System Design Interview Framework/Assessment

Practice & Assessment

Test your understanding of System Design Interview Framework

Multiple Choice Questions

6
1

In a system design interview, what is the primary purpose of estimating QPS before drawing the architecture?

2

Which of these is a NON-functional requirement?

3

A system has 50M DAU and each user makes 5 requests per day. What is the approximate average QPS?

4

When should you mention the CAP theorem in a system design interview?

5

What does 'four nines' (99.99%) availability mean in terms of annual downtime?

6

Which statement best reflects good interviewer communication during system design?

Coding Challenges

1
1

Requirements 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.

Easy

Mini Project

1

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.

Medium