Study Notebook / 00

Question Bank

253 prompts pulled from notebooks 01 to 09, answers at the back

Work in pen. A prompt you can only half answer is the whole point of the exercise: mark it, and go back to the section it names. Regenerated from every other notebook, so it stays in step with them.

pages
179
sections
97
editions
Reading, Print, Tablet

Sign in to read it

Sign in and the whole notebook opens, all three editions with it. An account is what makes a download belong to someone.

Sign in with GitHub or Google

Start reading

How to use this book

Start reading

What is inside

Every section, and every one of them opens in the browser. Nothing here is hidden: if a section you need is not in this list, the notebook is not the right one and you should not spend a week on it.

  1. How to use this book
  2. 1Opening
  3. 2Framing the problem
  4. 3Ingestion, getting the bytes in
  5. 4The handoff
  6. 5The queue
  7. 6Processing
  8. 7State and visibility
  9. 8Senior concerns
  10. 9The interview itself
  11. 10Final review
  12. 11Opening
  13. 12The naive design, and the seven ways it dies
  14. 13Three kinds of storage
  15. 14Anatomy of an object
  16. 15Inside the system
  17. 16Getting the bytes in
  18. 17Large files
  19. 18Getting the bytes out
  20. 19Final review
  21. 20Opening
  22. 21How to review code out loud
  23. 22The Node.js runtime
  24. 23Express and the HTTP boundary
  25. 24The client: React and Redux
  26. 25PostgreSQL
  27. 26MongoDB
  28. 27Kafka
  29. 28Twenty-four more drills
  30. 29Delivery
  31. 30Opening
  32. 31Why a database at all
  33. 32Types are the first constraint
  34. 33Designing the schema
  35. 34Querying for an API
  36. 35Making it fast
  37. 36Correctness under concurrency
  38. 37Final review
  39. 38Opening
  40. 39Injection
  41. 40Authentication
  42. 41Authorization
  43. 42The browser is a boundary too
  44. 43Final review
  45. 44What "fast" means
  46. 45Finding the bottleneck
  47. 46The database
  48. 47Caching
  49. 48More machines
  50. 49The stateful part
  51. 50Moving work in space and time
  52. 51Architecture decisions
  53. 52The interview
  54. 53Final review
  55. 54Opening
  56. 55The client always spoke first
  57. 56Server-sent events: the response that never ends
  58. 57WebSocket: leaving HTTP behind
  59. 58How many connections fit on one machine
  60. 59The connection is state
  61. 60Delivery: gaps, storms and fan-out
  62. 61The parts the lecture left out
  63. 62Final review
  64. 63Opening
  65. 64The standard exists so you do not have to negotiate
  66. 65Resources, and the URL that names them
  67. 66The method is a promise about repeating
  68. 67The response is the other half of the interface
  69. 68The list endpoint is where APIs go wrong
  70. 69When CRUD runs out
  71. 70Consistency is the whole product
  72. 71The interview itself
  73. 72Final review
  74. 73Opening
  75. 74The words that came before the acronym
  76. 75The five
  77. 76Using them without being used by them
  78. 77The interview itself
  79. 78Opening
  80. 79Caching is a bet about staleness
  81. 80Where caches live
  82. 81The strategies
  83. 82Invalidation
  84. 83The failure modes
  85. 84Telling someone else's cache what to do
  86. 85Redis in practice
  87. 86The interview itself
  88. 87Final review
  89. 88Answers, Notebook 01
  90. 89Answers, Notebook 02
  91. 90Answers, Notebook 03
  92. 91Answers, Notebook 04
  93. 92Answers, Notebook 05
  94. 93Answers, Notebook 06
  95. 94Answers, Notebook 07
  96. 95Answers, Notebook 08
  97. 96Answers, Notebook 09
  98. 97Answers, Notebook 10

How to read it

Read with a pen. Every notebook opens with a question to answer before you start and asks you to redo the answer at the end, and the margin in the Print edition exists so you have somewhere to be wrong first. The Tablet edition is 16:9 with vector text, so note apps draw on it rather than treating it as a photograph.

more notebooks