System Design Crash Course Flashcards

(4 cards)

1
Q

Define System Requirements (functional, non-functional)

A

Non-functional requirements define the qualities of a system. These can be things like availability, scalability, resiliency, atomicity, or security. They drive technology choices, algorithm selection, and strategies. “How a system is supposed to be”

Functional requirements are the “business” requirements. The behavior of the system. “What a system is supposed to do.”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What does it mean for a system to be reliable?

A

high availability + correctness + timely response

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What does it mean for a system to be highly available?

A

small downtime

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What does it mean for a system to be fault tolerant?

A

close to zero downtime (usually achieved through redundancy). System knows how to handle unexpected failures, like dependency failures or load spikes.

This is also known as a “resilient” system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly