0% found this document useful (0 votes)
28 views5 pages

4 System Requirements

The document outlines the distinction between functional and non-functional system requirements, emphasizing the need to define specific functions and qualities of a system. It provides examples of both types of requirements and discusses fundamental concepts for designing scalable and efficient systems. Additionally, it highlights the importance of ordering non-functional requirements to guide design decisions.

Uploaded by

Sara Totah
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views5 pages

4 System Requirements

The document outlines the distinction between functional and non-functional system requirements, emphasizing the need to define specific functions and qualities of a system. It provides examples of both types of requirements and discusses fundamental concepts for designing scalable and efficient systems. Additionally, it highlights the importance of ordering non-functional requirements to guide design decisions.

Uploaded by

Sara Totah
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

System requirements

functional non-functional

define system behavior define qualities of a system


what a system is supposed to do how a system is supposed to be

example: example:
the system must allow applications to exchange messages scalable, highly available, fast
System requirements

The problem seems too big. I


should try to define specific Also, I need to figure out
Let me state the problem functions and reduce the scope. non-functional requirements and
ambiguously and see how use my knowledge of system
the candidate approaches it. design concepts and patterns to
address each requirement.

interviewer software
engineer
(candidate)
System requirements

scale writes Hmmm… Let me think… leader election


Here are some fundamental concepts
scale reads that help design scalable, highly coordination service
available, and fast systems.
hash-based partitioning strong consistency
bounded queue load shedding
append-only log rate limiting
embedded database shuffle sharding
B-tree database reverse proxy
LSM-tree database service discovery
push vs pull request routing
software
long polling engineer batching
leader-based replication compression
leaderless replication network protocols
System requirements

My goal is to collect data


I will help you define
points, not see you get
requirements.
stuck and suffer.

interviewer interviewer
I do interviews to hire, not
I may have a bad day :(
reject.

interviewer interviewer
System requirements

When writing a system


design document, we
also…

software
engineer

• Define functional requirements and scope.

• Define non-functional requirements.

• Order non-functional requirements according to their importance.

• Use this list as a tiebreaker when considering multiple design options and trade-offs.

You might also like