Building blocks

Core Concepts: How Things Actually Work

Short, focused lessons on the building blocks behind every system: transactions, HTTPS, OAuth, Redis, Kafka, deployments, payments and more.

23 lessons3 hIntermediate

0/23

What you'll learn

0 of 23 lessons complete

  1. Latency, throughput and bandwidthStart 6 minQuizExercise
  2. Transactions and isolation levels9 minQuizExercise
  3. Optimistic and pessimistic locking6 minQuizExercise
  4. HTTP/1.1, HTTP/2 and HTTP/37 minQuizExercise
  5. How HTTPS works8 minQuizExercise
  6. Storing passwords and managing sessions9 minQuizExercise
  7. SSO, OAuth 2.0 and OpenID Connect9 minQuizExercise
  1. Polling, long polling, SSE and WebSockets7 minQuizExercise
  2. Why Redis is fast, and Redis versus Memcached8 minQuizExercise
  3. Why Kafka is fast7 minQuizExercise
  4. Processes, threads and concurrency8 minQuizExercise
  5. Deployment strategies8 minQuizExercise
  6. IaaS, PaaS, SaaS, containers and serverless7 minQuizExercise
  7. Durability: replication and erasure coding7 minQuizExercise
  1. How online payments work9 minQuizExercise
  2. Bloom filters and other probabilistic structures7 minQuizExerciseLab
  3. Time, clocks and ordering of events8 minQuizExerciseLab
  4. Distributed locks and leader election9 minQuizExerciseLab
  5. How AWS Lambda and serverless platforms work9 minQuizExercise

Who this is for and what you will be able to do

Who this is for

Developers who use these technologies every day but want to understand why they behave the way they do, and anyone preparing for design interviews where these questions come up.

After this course you will be able to

  • Explain how transactions, locks and isolation levels prevent data corruption
  • Describe how HTTPS, passwords, sessions and OAuth protect users
  • Say why Redis and Kafka are fast, and when each is the right tool
  • Choose a deployment strategy and a cloud model with their risks in mind
  • Reason about time, ordering, locks and durability in distributed systems

Topics it coversHTTP and QUICCachingConsensusConsistency ModelsDeploymentDistributed SystemsDockerKafkaAll topics

How a lesson works

  • Interactive diagram

    See how each component connects, then run a request through it.

  • Plain-words toggle

    Switch between the technical explanation and a plain-language one.

  • Practice design

    Change a design of your own in the builder and see how it holds up.

  • Quiz and exercise

    Test your understanding before moving on.

Go deeper

These lessons are written from scratch. The books below are excellent next reads.