Core Concepts Flashcards

(8 cards)

1
Q

What are the stages that you should target within a complete system design interview?

A
  • Requirements
  • Entities
  • API / Interfaces
  • Data Flow (Optional)
  • High Level Design
  • Deep Dive
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the three most important steps to define within the requirements stage of a system design interview?

A
  • Define core requirements/functionality (bare minimum of what the system needs to do to function, try to target 3)
  • Define non-functional requirements (e.g., scale, latency, etc.)
  • Discuss scale (doesn’t require back of napkin math necessarily, suggest not going too overly in the weeds and come back if needed)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

In the entities stages of a system design interview, what’s the goal and easiest approach to handle that?

A

It’s to define all of the entities that play a role in the system so they can be discussed throughout the design. Typically a simple bulleted list with some properties can be enough.

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

What are the three primary types of APIs you should focus on during a system design interview?

A

REST, GraphQL, and RPC

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

Out of the three major API types, when would you use each within a system design interview?

A

You would use:
- REST - almost always, best general purpose option
- GraphQL - if you have a large number of diverse clients with different requirements
- RPC - generally reserved for service-service calls, ultra high performance in distributed systems/internal APIs

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

Data flow can be a popular optional step during a system design interview, what’s its purpose?

A

As the name states, it simply walks through how data flows through the system and denoting each stage.

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

If you hear the term over-fetching or under-fetching with regard to APIs, what technology should you consider?

A

GraphQL

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