System Design
00

Sheet register

Drawing sheets for the system design round, for Go, and for the web-API coding round. Every snippet on a sheet is a file that a test runs.

00
    A

    Your progress

    saved in this browser

    Nothing yet. Open a sheet: the panels you read and the drill answers you mark are saved in this browser.

      Saved in this browser only. Use Export to move it to another browser.

      How a sheet teaches

      stepwhat you do
      1 learnRead the panels. Diagram first, then the table, then a few short sentences.
      2 seeUse the interactive panel. Its states come from real runs of Postgres, Redis or Go.
      3 drillPredict each answer, then reveal it. A sheet counts as done when every panel is read and every drill question marked.
      4 applyBuild the matching arena exercise against the clock.
      • A SAY line ends most panels. It is the sentence to use in the room.
      • The scale ladder near the end says how far the simple design goes, and what to add next.
      • Each panel letter is a link. Share a panel as /design/t8-booking/#F.
      start here · T8Booking: hold and confirm several nights →
      B

      System design

      about 70 sheets

      Part IThe round3/3

      Part IIData and storage4/4

      Part IIITransactions, isolation and locking9/9

      Part IVDistribution7/7

      Part VBuilding blocks12/12

      Part VIReliability, security, operations6/6

      Part VIICase studies7/27

      • C1URL shortener →issued
      • C2Rate limiter →issued
      • C3Key-value store →issued
      • C4Unique ID generator →issued
      • C5News feed →issued
      • C6Chat and presence →issued
      • C7Notificationsplanned
      • C8Search autocompleteplanned
      • C9Video upload and streamingplanned
      • C10File syncplanned
      • C11Object storageplanned
      • C12Distributed cacheplanned
      • C13Message queueplanned
      • C14Metrics and alertingplanned
      • C15Ad-click aggregationplanned
      • C16Stream processingplanned
      • C17Job schedulerplanned
      • C18Web crawlerplanned
      • C19Paymentsplanned
      • C20Digital walletplanned
      • C21Leaderboardplanned
      • C22Ride matchingplanned
      • C23Stock exchangeplanned
      • C24Payroll run →issued
      • C25Expense-policy violationsplanned
      • C26Approval workflow engineplanned
      • C27Employee directory and permissionsplanned
      C

      Go

      Go 1.27

      Part IThe language0/8

      • G1What changed, 1.21 to 1.27planned
      • G2Types and valuesplanned
      • G3Slices, maps and strings insideplanned
      • G4Interfacesplanned
      • G5Genericsplanned
      • G6Iterators and closuresplanned
      • G7Errorsplanned
      • G8Packages and modulesplanned

      Part IIConcurrency0/5

      • G9The memory modelplanned
      • G10The runtime and schedulerplanned
      • G11Primitivesplanned
      • G12Patternsplanned
      • G13Races, deadlocks and leaksplanned

      Part IIILibrary and ecosystem0/6

      • G14Standard library tourplanned
      • G15JSONplanned
      • G16HTTPplanned
      • G17Database workplanned
      • G18Protobuf and Connectplanned
      • G19Libraries that matterplanned

      Part IVCraft0/4

      • G20Testingplanned
      • G21Performanceplanned
      • G22Reflection and unsafeplanned
      • G23Project shapeplanned
      D

      Arena

      90 minutes, your machine

      Part KKits and the talk0/3

      • K1The 45-minute build kitplanned
      • K2Proto-first kit: buf, Connect, Vanguardplanned
      • K3The productionization playbookplanned

      Part EExercises0/9

      • E1Key-value store with nested transactionsplanned
      • E2Driver delivery paymentsplanned
      • E3Music player analyticsplanned
      • E4Expense rules engineplanned
      • E5Travel expense calculationplanned
      • E6Room booking with holdsplanned
      • E7Wallet transfersplanned
      • E8Job queue with leasesplanned
      • E9Directory and audit logplanned

      Part TTools0/2

      • T1The graderplanned
      • T2Demosplanned