Files
leetcode/apps/docs/content/system-design/index.mdx
T

28 lines
984 B
Plaintext

---
title: System Design
description: Notes for system design interviews — how to scope a problem, size it, and pick the parts that carry the load.
icon: network
sidebar:
label: Overview
---
## How an interview runs
<Steps>
<Step title="Requirements">
Pin down the functional requirements (what the system does) and the non-functional ones (latency, availability, consistency, scale) before drawing anything.
</Step>
<Step title="Estimates">
Size the traffic, storage and bandwidth with back-of-the-envelope numbers, so later choices have a reason.
</Step>
<Step title="API and data model">
Define the endpoints and the entities they read and write.
</Step>
<Step title="High-level design">
Draw the request path end to end: clients, load balancers, services, caches, stores and queues.
</Step>
<Step title="Deep dives">
Take the hardest part (a hot key, fan-out, a consistency guarantee) and work through its tradeoffs.
</Step>
</Steps>