Study Notebook / 00

Question Bank

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

How to use this book

This is not a book to read. Every prompt in it already appears inside a notebook, next to the passage that answers it, which is exactly why answering it there proves very little. You do not have a knowledge problem. You have a recall-under-pressure problem, and the only thing that fixes it is being asked cold.

Each prompt carries the notebook and section it came from, printed small beside its number, so a blank is never a dead end.

Of the 300 prompts, 97 came from an Interviewer asks block and have a written answer in the last part, under the same number. The rest are self-graded: the section named beside the prompt is the answer.

Part 01 · Large-Scale Data Ingestion

1Opening

Part 01 · Large-Scale Data Ingestion

2Framing the problem

Part 01 · Large-Scale Data Ingestion

3Ingestion, getting the bytes in

Part 01 · Large-Scale Data Ingestion

4The handoff

Part 01 · Large-Scale Data Ingestion

5The queue

Part 01 · Large-Scale Data Ingestion

6Processing

Part 01 · Large-Scale Data Ingestion

7State and visibility

Part 01 · Large-Scale Data Ingestion

8Senior concerns

Part 01 · Large-Scale Data Ingestion

9The interview itself

Part 01 · Large-Scale Data Ingestion

10Final review

Part 02 · Object Storage

11Opening

Part 02 · Object Storage

12The naive design, and the seven ways it dies

Part 02 · Object Storage

13Three kinds of storage

Part 02 · Object Storage

14Anatomy of an object

Part 02 · Object Storage

15Inside the system

Part 02 · Object Storage

16Getting the bytes in

Part 02 · Object Storage

17Large files

Part 02 · Object Storage

18Getting the bytes out

Part 02 · Object Storage

19Final review

Part 03 · Full-Stack Code Review

20Opening

Part 03 · Full-Stack Code Review

21How to review code out loud

Part 03 · Full-Stack Code Review

22The Node.js runtime

Part 03 · Full-Stack Code Review

23Express and the HTTP boundary

Part 03 · Full-Stack Code Review

24The client: React and Redux

Part 03 · Full-Stack Code Review

25PostgreSQL

Part 03 · Full-Stack Code Review

26MongoDB

Part 03 · Full-Stack Code Review

27Kafka

Part 03 · Full-Stack Code Review

28Twenty-four more drills

Part 03 · Full-Stack Code Review

29Delivery

Part 04 · Postgres

30Opening

Part 04 · Postgres

31Why a database at all

Part 04 · Postgres

32Types are the first constraint

Part 04 · Postgres

33Designing the schema

Part 04 · Postgres

34Querying for an API

Part 04 · Postgres

35Making it fast

Part 04 · Postgres

36Correctness under concurrency

Part 04 · Postgres

37Final review

Part 05 · Backend Security

38Opening

Part 05 · Backend Security

39Injection

Part 05 · Backend Security

40Authentication

Part 05 · Backend Security

41Authorization

Part 05 · Backend Security

42The browser is a boundary too

Part 05 · Backend Security

43Final review

Part 06 · Scaling and Performance

44What "fast" means

Part 06 · Scaling and Performance

45Finding the bottleneck

Part 06 · Scaling and Performance

46The database

Part 06 · Scaling and Performance

47Caching

Part 06 · Scaling and Performance

48More machines

Part 06 · Scaling and Performance

49The stateful part

Part 06 · Scaling and Performance

50Moving work in space and time

Part 06 · Scaling and Performance

51Architecture decisions

Part 06 · Scaling and Performance

52The interview

Part 06 · Scaling and Performance

53Final review

Part 07 · Real-Time Backends

54Opening

Part 07 · Real-Time Backends

55The client always spoke first

Part 07 · Real-Time Backends

56Server-sent events: the response that never ends

Part 07 · Real-Time Backends

57WebSocket: leaving HTTP behind

Part 07 · Real-Time Backends

58How many connections fit on one machine

Part 07 · Real-Time Backends

59The connection is state

Part 07 · Real-Time Backends

60Delivery: gaps, storms and fan-out

Part 07 · Real-Time Backends

61The parts the lecture left out

Part 07 · Real-Time Backends

62Final review

Part 08 · REST API Design

63Opening

Part 08 · REST API Design

64The standard exists so you do not have to negotiate

Part 08 · REST API Design

65Resources, and the URL that names them

Part 08 · REST API Design

66The method is a promise about repeating

Part 08 · REST API Design

67The response is the other half of the interface

Part 08 · REST API Design

68The list endpoint is where APIs go wrong

Part 08 · REST API Design

69When CRUD runs out

Part 08 · REST API Design

70Consistency is the whole product

Part 08 · REST API Design

71The interview itself

Part 08 · REST API Design

72Final review

Part 09 · Design Principles

73Opening

Part 09 · Design Principles

74The words that came before the acronym

Part 09 · Design Principles

75The five

Part 09 · Design Principles

76Using them without being used by them

Part 09 · Design Principles

77The interview itself

Part 10 · Caching

78Opening

Part 10 · Caching

79Caching is a bet about staleness

Part 10 · Caching

80Where caches live

Part 10 · Caching

81The strategies

Part 10 · Caching

82Invalidation

Part 10 · Caching

83The failure modes

Part 10 · Caching

84Telling someone else's cache what to do

Part 10 · Caching

85Redis in practice

Part 10 · Caching

86The interview itself

Part 10 · Caching

87Final review

10 more sections

That is 88 of 98 sections. Sign in to read the rest of Question Bank, all 179 pages, and take the PDF editions with you. An account is all it takes, and it is what makes a download belong to someone.

Sign in to read on