-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathindex.html
More file actions
60 lines (60 loc) · 9.6 KB
/
Copy pathindex.html
File metadata and controls
60 lines (60 loc) · 9.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Staff+ Interview Prep (v15)</title>
<style>
:root{--bg:#f5f5f4;--card:#fff;--text:#1a1a1a;--muted:#666;--accent:#185fa5;--border:rgba(0,0,0,.12);--r:12px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
@media(prefers-color-scheme:dark){:root{--bg:#0d1117;--card:#161b22;--text:#e6edf3;--muted:#8b949e;--border:rgba(255,255,255,.12);--accent:#58a6ff}}
*{box-sizing:border-box;margin:0;padding:0}
body{min-height:100vh;background:var(--bg);color:var(--text);padding:40px 20px;line-height:1.65}
.wrap{max-width:760px;margin:0 auto}
.back{font-size:.9rem;margin-bottom:20px}
.back a{color:var(--accent);text-decoration:none}
.back a:hover{text-decoration:underline}
article{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:24px}
article h1{font-size:1.45rem;margin-bottom:12px}
article h2{font-size:1.15rem;margin:1.6rem 0 .6rem;padding-bottom:4px;border-bottom:1px solid var(--border)}
article h3{font-size:1rem;margin:1.2rem 0 .4rem}
article p,article li{font-size:.95rem;margin:.5rem 0}
article ul,article ol{padding-left:1.4rem}
article a{color:var(--accent)}
article code{background:rgba(127,127,127,.12);padding:1px 5px;border-radius:4px;font-size:.88em}
article pre{background:rgba(127,127,127,.1);padding:12px;border-radius:8px;overflow-x:auto;font-size:.85rem;margin:10px 0}
article table{width:100%;border-collapse:collapse;font-size:.9rem;margin:12px 0}
article th,article td{border:1px solid var(--border);padding:8px 10px;text-align:left;vertical-align:top}
article th{background:rgba(127,127,127,.08)}
.note{background:rgba(24,95,165,.08);border:1px solid var(--border);border-radius:8px;padding:12px 14px;margin:12px 0;font-size:.9rem}
.toc a{display:block;padding:3px 0;text-decoration:none}
.toc a:hover{text-decoration:underline}
.badge{display:inline-block;font-size:.72rem;padding:2px 8px;border-radius:100px;margin-left:6px}
.be{background:#eaf3de;color:#27500a}.bm{background:#faeeda;color:#633806}.bh{background:#fcebeb;color:#791f1f}
</style>
</head>
<body>
<div class="wrap">
<p class="back"><a href="../../index.html">← Cheat sheet index</a></p>
<article><h1>Staff+ Interview Prep (v15)</h1><p>40 system design cards for Staff+ interview prep.</p><div class="note">
<b>GitHub Pages:</b> Per-system <code>.md</code> files show as raw text here.
Use the HTML editions below — all 40 cards, search, and tabs on Pages.
</div>
<p>
<a href="../../system_design_cheatsheet_v15_github.html">v15 pre-rendered HTML (recommended on Pages)</a> ·
<a href="../../system_design_cheatsheet_v14.html">Full interactive v15</a> ·
<a href="../v15-static.html">Static HTML (no JS)</a>
</p><h2>Delivery framework</h2>
<ol>
<li><strong>Requirements</strong> (3–5 min) — functional + NFRs, draw out-of-scope line</li>
<li><strong>Estimation</strong> — QPS, storage, bandwidth to justify decisions</li>
<li><strong>API design</strong> — REST / WebSocket / gRPC, name routes explicitly</li>
<li><strong>Data model</strong> — entities, SQL vs NoSQL with justification</li>
<li><strong>High-level design</strong> — client → LB → services → DB/cache</li>
<li><strong>Deep dives</strong> — 2–3 hardest problems, tradeoffs, failure modes</li>
</ol>
<h2>Architecture framework</h2>
<p>Universal skeleton → two questions (read vs write · money vs likes) → five archetypes: read-heavy feed, transactional core, real-time pipe, marketplace, compute pipeline. <a href="../../system_design_cheatsheet_v15_github.html#ref-arch-framework">Open full section</a> · <a href="https://medium.com/javarevisited/the-system-design-architecture-framework-how-to-design-any-system-in-an-interview-without-3521c113186b" rel="noopener">Source article</a></p>
<p><strong>Key numbers:</strong> Redis ~100K–1M ops/s · Single DB ~10K–50K QPS · Kafka ~1M+ msgs/s · Cross-region ~100–200ms</p><div class="toc"><h3>Easy (4)</h3><a href="../../system_design_cheatsheet_v15_github.html#bitly-url-shortener">Bitly — URL shortener <span class="badge be">Easy</span></a><a href="../../system_design_cheatsheet_v15_github.html#dropbox-file-storage">Dropbox — file storage <span class="badge be">Easy</span></a><a href="../../system_design_cheatsheet_v15_github.html#local-delivery-gopuff">Local delivery (GoPuff) <span class="badge be">Easy</span></a><a href="../../system_design_cheatsheet_v15_github.html#news-aggregator-google-news">News aggregator (Google News) <span class="badge be">Easy</span></a><h3>Medium (18)</h3><a href="../../system_design_cheatsheet_v15_github.html#ticketmaster-seat-booking">Ticketmaster — seat booking <span class="badge bm">Medium</span></a><a href="../../system_design_cheatsheet_v15_github.html#whatsapp-messaging">WhatsApp — messaging <span class="badge bm">Medium</span></a><a href="../../system_design_cheatsheet_v15_github.html#fb-news-feed">FB News Feed <span class="badge bm">Medium</span></a><a href="../../system_design_cheatsheet_v15_github.html#tinder-dating-app">Tinder — dating app <span class="badge bm">Medium</span></a><a href="../../system_design_cheatsheet_v15_github.html#leetcode-coding-platform">LeetCode — coding platform <span class="badge bm">Medium</span></a><a href="../../system_design_cheatsheet_v15_github.html#distributed-rate-limiter">Distributed rate limiter <span class="badge bm">Medium</span></a><a href="../../system_design_cheatsheet_v15_github.html#fb-live-comments">FB Live Comments <span class="badge bm">Medium</span></a><a href="../../system_design_cheatsheet_v15_github.html#fb-post-search">FB Post Search <span class="badge bm">Medium</span></a><a href="../../system_design_cheatsheet_v15_github.html#yelp-local-search">Yelp — local search <span class="badge bm">Medium</span></a><a href="../../system_design_cheatsheet_v15_github.html#strava-activity-tracking">Strava — activity tracking <span class="badge bm">Medium</span></a><a href="../../system_design_cheatsheet_v15_github.html#online-auction-ebay">Online auction (eBay) <span class="badge bm">Medium</span></a><a href="../../system_design_cheatsheet_v15_github.html#price-tracking-camelcamelcamel">Price tracking (CamelCamelCamel) <span class="badge bm">Medium</span></a><a href="../../system_design_cheatsheet_v15_github.html#notification-system-apns-fcm">Notification system (APNs/FCM) <span class="badge bm">Medium</span></a><a href="../../system_design_cheatsheet_v15_github.html#search-autocomplete-google">Search autocomplete (Google) <span class="badge bm">Medium</span></a><a href="../../system_design_cheatsheet_v15_github.html#unique-id-generator-snowflake">Unique ID generator (Snowflake) <span class="badge bm">Medium</span></a><a href="../../system_design_cheatsheet_v15_github.html#hotel-reservation-booking-com">Hotel reservation (Booking.com) <span class="badge bm">Medium</span></a><a href="../../system_design_cheatsheet_v15_github.html#gaming-leaderboard">Gaming leaderboard <span class="badge bm">Medium</span></a><a href="../../system_design_cheatsheet_v15_github.html#s3-object-storage">S3 object storage <span class="badge bm">Medium</span></a><h3>Hard (18)</h3><a href="../../system_design_cheatsheet_v15_github.html#instagram-photo-sharing">Instagram — photo sharing <span class="badge bh">Hard</span></a><a href="../../system_design_cheatsheet_v15_github.html#youtube-top-k-videos">YouTube Top K videos <span class="badge bh">Hard</span></a><a href="../../system_design_cheatsheet_v15_github.html#uber-ride-sharing">Uber — ride-sharing <span class="badge bh">Hard</span></a><a href="../../system_design_cheatsheet_v15_github.html#robinhood-stock-trading">Robinhood — stock trading <span class="badge bh">Hard</span></a><a href="../../system_design_cheatsheet_v15_github.html#google-docs-collaborative-editing">Google Docs — collaborative editing <span class="badge bh">Hard</span></a><a href="../../system_design_cheatsheet_v15_github.html#distributed-cache-redis-like">Distributed cache (Redis-like) <span class="badge bh">Hard</span></a><a href="../../system_design_cheatsheet_v15_github.html#youtube-video-platform">YouTube — video platform <span class="badge bh">Hard</span></a><a href="../../system_design_cheatsheet_v15_github.html#web-crawler">Web crawler <span class="badge bh">Hard</span></a><a href="../../system_design_cheatsheet_v15_github.html#ad-click-aggregator">Ad click aggregator <span class="badge bh">Hard</span></a><a href="../../system_design_cheatsheet_v15_github.html#job-scheduler-airflow">Job scheduler (Airflow) <span class="badge bh">Hard</span></a><a href="../../system_design_cheatsheet_v15_github.html#payment-system-stripe">Payment system (Stripe) <span class="badge bh">Hard</span></a><a href="../../system_design_cheatsheet_v15_github.html#metrics-monitoring-datadog">Metrics monitoring (Datadog) <span class="badge bh">Hard</span></a><a href="../../system_design_cheatsheet_v15_github.html#message-queue-kafka">Message queue (Kafka) <span class="badge bh">Hard</span></a><a href="../../system_design_cheatsheet_v15_github.html#distributed-key-value-store">Distributed key-value store <span class="badge bh">Hard</span></a><a href="../../system_design_cheatsheet_v15_github.html#nearby-friends">Nearby friends <span class="badge bh">Hard</span></a><a href="../../system_design_cheatsheet_v15_github.html#google-maps">Google Maps <span class="badge bh">Hard</span></a><a href="../../system_design_cheatsheet_v15_github.html#distributed-email-gmail">Distributed email (Gmail) <span class="badge bh">Hard</span></a><a href="../../system_design_cheatsheet_v15_github.html#digital-wallet-apple-pay">Digital wallet (Apple Pay) <span class="badge bh">Hard</span></a></div></article>
</div>
</body>
</html>