What are the stages that you should target within a complete system design interview?
What are the three most important steps to define within the requirements stage of a system design interview?
In the entities stages of a system design interview, what’s the goal and easiest approach to handle that?
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.
What are the three primary types of APIs you should focus on during a system design interview?
REST, GraphQL, and RPC
Out of the three major API types, when would you use each within a system design interview?
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
Data flow can be a popular optional step during a system design interview, what’s its purpose?
As the name states, it simply walks through how data flows through the system and denoting each stage.
If you hear the term over-fetching or under-fetching with regard to APIs, what technology should you consider?
GraphQL