System Design Basics Flashcards

1
Q

What is the approach for Architecture Design questions?

A
  1. Requirements
  2. API/System Interface
  3. Data Flow
  4. High Level Design
  5. Deep Dives
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
1
Q

What is approach for Product Design questions?

A
  1. Requirements
  2. Core Entities (nouns, possibly DB tables)
  3. API (e.g POST /users { key: payload )
  4. High Level Design
  5. Deep Dives
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the two types of requirements?

A
  1. Functional requirements
  2. Non-functional

For non-functional, usually think of CAP theorem and speed/latency.
For example:
1. System is highly available
2. page loads in less than 500 ms
3. Number of users supported (billions)
4. Eventual or Strong consistency

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