Interview Preparation Tutorial with Examples.
Interview preparation tutorial: the fundamentals of system design, testing strategy, and data engineering and database interview scenarios.
Beginner
Start here — no prior experience needed
Behavioural Questions
STAR applied to a real question — the answer that gets marked down, the same story told well, and what the interviewer writes on the scorecard.
Working a Problem Out Loud
The five minutes before you write code decide the round — clarify, work an example, state the approach, then implement, both versions shown.
Complexity Analysis, Measured
Big-O verified against a stopwatch — the hidden quadratic in string concatenation, why amortised O(1) is genuinely O(1), and constant factors.
System Design Interview Basics
The 45-minute structure, back-of-envelope sizing that changes the design, and the tradeoffs you volunteer — worked on one question end to end.
The Questions You Ask
The last five minutes are scored too — questions that reveal how the team actually works, and the answers that should worry you.
Intermediate
For developers with core concepts down
Coding Interview Patterns
Eight patterns that cover most problems — each with the signal that tells you to reach for it, the brute force it replaces, and the timing proof.
Take-Homes and Live Coding
Two formats with opposite rules — one rewards polish and scoping, the other rewards narration and recovery. Getting them the wrong way round costs offers.
Code Review Interviews
Given a pull request and twenty minutes — the order to read it in, the eight bug classes worth hunting, and why how you phrase a finding is half the score.
Advanced
Production-grade patterns for experienced engineers
Distributed Correctness in Interviews
CAP without the slogan, why exactly-once delivery is impossible but exactly-once processing is not, and idempotency demonstrated rather than asserted.
Reading and Negotiating an Offer
Comparing offers that are not comparable — vesting schedules, the four-year illusion, and the arithmetic behind a smaller real number.
Also part of Interview Preparation
Taught in other topics. Each link opens the lesson in its home topic.
Arrays and Two Pointers
Opposite ends, same direction, and fast-slow — three variants that turn a nested loop into one pass, each with the invariant that proves it correct.
Arrays and Two Pointers
Opposite ends, same direction and fast-slow in Java — with the invariant that proves each correct, and the array-copy costs that do not exist in Python.