System Design Basics Flashcards
1
Q
What is the approach for Architecture Design questions?
A
- Requirements
- API/System Interface
- Data Flow
- High Level Design
- Deep Dives
1
Q
What is approach for Product Design questions?
A
- Requirements
- Core Entities (nouns, possibly DB tables)
- API (e.g POST /users { key: payload )
- High Level Design
- Deep Dives
2
Q
What are the two types of requirements?
A
- Functional requirements
- 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