Study plan
Interview in 2 days? Take the crash plan: the most-asked questions and your weak spots, up to 30 a day. Or take 7 or 30 days.
Pick your plan
With JavaScript on, this builds a day-by-day plan from how often each question comes up in interviews and from your weak spots. Without it, start with the most-asked questions below.
Most-asked questions (56)
- Write skew under REPEATABLE READ
- What ACID really promises
- Isolation levels in PostgreSQL
- The lost update problem
- How a B-tree index speeds up a query
- Column order in a composite index
- Reading EXPLAIN ANALYZE
- The N+1 query problem
- Upserts with ON CONFLICT
- OFFSET vs keyset pagination
- Schema changes without downtime
- What CAP actually says
- Leader-follower replication and lag
- Consistent hashing
- Sharding: range, hash and directory
- Retries with exponential backoff and jitter
- At-most-once, at-least-once and 'exactly once'
- The transactional outbox pattern
- Sagas: orchestration vs choreography
- Designing REST resources
- Safe and idempotent HTTP methods
- Choosing HTTP status codes
- Idempotency keys for POST
- Paginating API responses
- Versioning an API
- Rate limiting with a token bucket
- Cache-aside: the default caching pattern
- Keeping a cache consistent with the database
- Choosing Redis data structures
- Work queues vs publish/subscribe
- Background job queues
- Kafka partitions, keys and ordering
- Committing offsets: at-most-once vs at-least-once
- Idempotent consumers and deduplication
- Kafka or RabbitMQ?
- Document store or relational database?
- Choosing a database for a new service
- The GIL, threads and processes
- How asyncio works
- Blocking calls inside async code
- Server sessions vs stateless tokens
- Validating a JWT properly
- OAuth 2.0 authorization code with PKCE
- Storing passwords
- Broken object level authorization (BOLA)
- SQL injection and parameterised queries
- Load balancing strategies
- Why percentiles, not averages
- Scaling up vs scaling out
- The test pyramid for a backend
- Back-of-the-envelope estimates
- Monolith or microservices
- Design a URL shortener
- Design a news feed
- Design a chat backend
- Design a distributed rate limiter