<aside> šŸ’” Solution

</aside>

Note: This document links directly to relevant areas found in theĀ system design topicsĀ to avoid duplication. Refer to the linked content for general talking points, tradeoffs, and alternatives.

Step 1: Outline use cases and constraints

Gather requirements and scope the problem. Ask questions to clarify use cases and constraints. Discuss assumptions.

Without an interviewer to address clarifying questions, we'll define some use cases and constraints.

Use cases

We'll scope the problem to handle only the following use cases

Constraints and assumptions

State assumptions

Exercise the use of more traditional systems - don't use graph-specific solutions such asĀ GraphQLĀ or a graph database likeĀ Neo4j

Calculate usage

Clarify with your interviewer if you should run back-of-the-envelope usage calculations.