Non-Functional Requirements Examples for System Design Interviews

Non-functional requirements say how well a system must work rather than what it does. In a system design interview, each one should come with a number. "The system must be highly available" is not a requirement an interviewer can design against. "The read path must reach 99.99 percent availability, which allows about 53 minutes of downtime a year" is. The table below lists the requirements that come up most often, the figure an interviewer expects, and a sentence you can say for each one.

Non-Functional Requirements With Numbers

RequirementThe number to giveHow to say it
Availability99.9 percent (about 8.8 hours down a year) or 99.99 percent (about 53 minutes)"Reads target 99.99 percent; writes can accept 99.9."
Latencyp99 under 200 ms for a user-facing read"p99 means 99 of every 100 requests finish faster than 200 ms."
ThroughputRequests per second, derived from daily active users"10 million users at 100 reads each is about 11,600 reads per second."
Read/write ratio100 to 1 for a feed, near 1 to 1 for chat"Reads dominate, so the design centers on caching."
Durability11 nines (99.999999999 percent) for stored objects"Storing 10 million objects, we expect to lose one about every 10,000 years."
ConsistencyStrong for payments, eventual for feeds"A balance read after a write must show the write; a feed may lag a few seconds."
Scalability10x growth without a redesign"Ten times today's load by adding machines, not by changing the design."
Storage growthBytes per record times records per day"1 KB per post at 10 million posts a day is 10 GB a day, about 3.7 TB a year."
Recovery point objective (RPO)Minutes of data that may be lost, such as 5"RPO is the most data we may lose after a failure, measured in time."
Recovery time objective (RTO)Minutes until service returns, such as 30"RTO is how long the system may stay down after a failure."
SecurityEncryption in transit and at rest; authentication on every endpoint"TLS on every connection, encrypted disks, tokens that expire in one hour."
MaintainabilityA change deployed with no downtime"Rolling deploys, and a rollback in under 10 minutes."
ObservabilityMetrics, logs, and traces on every service"Alert when p99 latency or the error rate stays above the limit for 5 minutes."
CostA budget per unit of work"Under one cent per 1,000 requests at the expected load."

The availability figures are worth memorizing because interviewers ask for them directly. A year has 8,760 hours, and the allowed downtime is the fraction of that year the target does not cover.

AvailabilityDowntime allowed per year
99 percentAbout 87.6 hours (3.65 days)
99.9 percentAbout 8.8 hours
99.99 percentAbout 53 minutes
99.999 percentAbout 5.3 minutes

Each extra nine cuts the allowed downtime by a factor of ten. Each one also adds redundancy that must be designed, paid for, and tested.

How to Derive the Numbers in Five Minutes

Start from the users, because every other number follows from them. Ask for the number of daily active users, and if the interviewer has no figure, propose one, such as 10 million. Then ask how many times a day a typical user reads and writes; for a social feed, 100 reads and 1 write is a reasonable guess.

The arithmetic then takes about a minute. One billion reads a day divided by 86,400 seconds is about 11,600 reads per second on average, and 10 million writes a day is about 116 per second. Traffic is not even across the day, so multiply by a peak factor of 2 to 3. That gives about 35,000 reads per second and about 350 writes per second at peak. If each post is about 1 KB, writes add 10 GB a day, about 3.7 TB a year, and about 18 TB over five years.

Say these figures out loud as you derive them, and write them at the top of the whiteboard. Every later choice, from the cache size to the number of database shards, is justified by one of them.

Functional vs Non-Functional Requirements

Functional requirements say what the system does. A user can post a message, follow another user, or refund a payment. Non-functional requirements say how well it does those things, and they are useful only with a number attached. The full definitions of both kinds, with more examples, are in What are functional and non-functional requirements?. In the interview, spend about two minutes on the functional list and three on the non-functional numbers, because the numbers decide the design.

Two related pages help with the borderline cases. What are the valid non-functional requirements? lists which qualities count, and Are non-functional requirements the same as technical requirements? separates them from implementation constraints.

Three Common Mistakes

Listing requirements without numbers. "Low latency" and "highly scalable" give the interviewer nothing to check the design against. Every entry gets a figure, even if the figure is a stated assumption.

Choosing 99.999 percent for everything. Five nines allows about 5.3 minutes of downtime a year, which requires redundant copies of every part, automated failover, and usually more than one region. Give that target only to the path that needs it, such as payments, and give the rest 99.9 or 99.99 percent.

Forgetting the read/write ratio. The ratio decides the design. A 100 to 1 ratio calls for caching and read replicas. A ratio near 1 to 1, as in chat or logging, calls for a fast write path, queues, and partitioning. A worked example of a reliability figure is in What is an example of a reliability non-functional requirement?.

How to Prepare

  • Memorize the downtime table. 99.9 percent is about 8.8 hours a year, 99.99 percent about 53 minutes, and 99.999 percent about 5.3 minutes.
  • Practice the five-minute derivation on three products. A feed, a chat application, and a ride-hailing app produce three different read/write ratios.
  • Write the numbers before the diagram. In every practice session, put the figures at the top of the page first and refer to them as you design.
  • Learn the full method. Grokking the System Design Interview opens every case study with this requirements step.
  • Study the underlying concepts. Grokking System Design Fundamentals explains availability, consistency, and durability in depth.
TAGS
System Design Interview
CONTRIBUTOR
Arslan Ahmad
Arslan Ahmad
ex-FAANG engineering manager and author or Grokking series.

GET YOUR FREE

Coding Questions Catalog

Design Gurus Newsletter - Latest from our Blog
Boost your coding skills with our essential coding questions catalog.
Take a step towards a better tech career now!
Explore Answers
Is it hard to get hired by Okta?
How to design an elevator system?
The elevator system design interview question: requirements, classes, algorithms, and code
What library does OpenAI use?
What is the full form of GUI?
What is the toughest challenge you faced interview?
What jobs will AI not replace?
Related Courses
New
Grokking the AI System Design Interview course cover
Grokking the AI System Design Interview
Learn to design AI systems the way interviewers expect: classic ML products, LLM and RAG architectures, and agentic systems, all through the lens of the system design interview.
4.6
(3,192 learners)
Discounted price for Your Region

$98

Grokking the Coding Interview: Patterns for Coding Questions course cover
Grokking the Coding Interview: Patterns for Coding Questions
The 24 essential patterns behind every coding interview question. Available in Java, Python, JavaScript, C++, C#, and Go. The most comprehensive coding interview course with 543 lessons. A smarter alternative to grinding LeetCode.
4.6
Discounted price for Your Region

$197

Grokking Modern AI Fundamentals course cover
Grokking Modern AI Fundamentals
Master the fundamentals of AI today to lead the tech revolution of tomorrow.
4.1
Discounted price for Your Region

$72

Design Gurus logo
One-Stop Portal For Tech Interviews.
About Us
Our Team
Careers
Partners
Contact Us
Become Affiliate
Copyright © 2026 Design Gurus, LLC. All rights reserved.