psst… 2630+ questions inside

Developer interview questions & practice.

Prepare with explained interview questions and study notes for JavaScript, TypeScript, React, Angular, Java, Python, SQL, AWS and more, organized by topic and with the reasoning written in the margins. Finally, practice them like it's the real interview.

Closures, Ch. 1 ✦
function outer() {
  let count = 0;
  return function inner() {
    return ++count;
  };
}
const next = outer();
next(); // 1
next(); // 2 ← why not 1?!
Q: var vs let?var → function scope, hoisted as undefined
let → block scope + TDZ!
Try it yourself ★Explain why the closure remembers count.

Pick a chapter (start anywhere, really)

See all chapters →

Frontend

The browser, the language and the frameworks.

Backend

Servers, services and the languages behind them.

Databases

Relational and document stores, queries and design.

Cloud & DevOps

Containers, orchestration, cloud and delivery.

Platforms

Enterprise platforms with their own interview loops.

Fundamentals

Algorithms and architecture: asked everywhere.

AI & Machine Learning

From classic ML to LLM apps in production.

The practice room no sign-up, saved in your browser

Open the practice room →

Latest notes fresh off the pen ✎

All 825 notes →

Tear-off cheat sheets print & stick on your wall

All cheat sheets →
JavaScript Essentials

48 must-know facts & snippets

open & print →
TypeScript

From unknown to infer, on one page

open & print →
TypeScript Utility Types

Partial → Awaited, all of them

open & print →
React

Rendering to Server Components, on one page

open & print →
React Hooks

Every hook, one example each

open & print →
Angular

Signals to guards, standalone-first

open & print →
RxJS Operators

The 30 operators you'll actually use

open & print →
HTML & CSS

Semantics to grid, cascade to stacking

open & print →
Next.js

App Router, RSC, caching and actions

open & print →
Node.js

Event loop to streams, checked on Node 22

open & print →
Java

OOP to virtual threads, on one page

open & print →
Spring Boot

Beans to JWT and @Transactional, one page

open & print →
Python

Core Python to asyncio, on one page

open & print →
Microservices

DDD to sagas, retries and tracing

open & print →
SQL & PostgreSQL

Joins to MVCC, every query run on Postgres 16

open & print →
MongoDB

BSON to sharding, with the defaults that matter

open & print →
Go

Goroutines to generics, slices to context

open & print →
Docker

Dockerfile to Compose, layers to PID 1

open & print →
Kubernetes

Pods to Helm, plus a troubleshooting table

open & print →
Redis

Data types to Cluster slots, Redis 7.4/8

open & print →
AWS

EC2 to IAM to DR, the services that come up

open & print →
Git & CI/CD

Staging area to canary deploys, on one page

open & print →
Apache Kafka

Partitions to transactions, KRaft era

open & print →
ServiceNow

GlideRecord to update sets, on one page

open & print →
Data Structures & Algorithms

Big-O to DP, with Python templates

open & print →
System Design

Rendering to caching, plus five mini-designs

open & print →
Statistics & Data Science

Bayes to CUPED, p-values to regression

open & print →
Machine Learning

Bias-variance to boosting, metrics to leakage

open & print →
Deep Learning

Backprop to KV cache, Adam to LoRA

open & print →
AI & LLM Engineering

Tokens to agents, RAG to guardrails

open & print →
MLOps

Pipelines to PSI, registry to rollback

open & print →

A note in your inbox, every Sunday.

One tricky interview question, fully explained. Takes 5 minutes to read with your coffee.

esc