- Designing Airbnb
The full walkthrough, and the one case study where every claim is backed by a running application. Requirements and estimates, the API and the schema, search over a denormalised index, availability and the booking race, pricing as a security boundary, payments and the webhook that is the real source of truth, cancellation policy, then how each piece changes when the traffic multiplies.
- LeetCode 218 – The Skyline Problem
The hardest problem on this track, and almost none of it is the algorithm. Sweep left to right and emit a point when the tallest active building changes. The difficulty is three tie-break rules and deleting from a heap — and one sign trick gives all three rules from a single sort.
- LeetCode 217 – Contains Duplicate
A warm-up with one real decision in it, and the decision is about space. The hash set is the default; sorting is the O(1)-space alternative that mutates the input. Noticing a time-for-space trade in an Easy problem is most of what there is to say.
- LeetCode 215 – Kth Largest Element in an Array
A menu problem: three standard answers with genuinely different trade-offs, and the interview is choosing among them out loud. Why a MIN-heap answers a largest question, why quickselect is O(n) on average, and why the random pivot is not optional.
- AWS – SQS: Queues, Visibility Timeout and DLQs
A queue is the simplest way to stop a slow dependency from becoming a 500. Standard versus FIFO, long polling and the empty receives it saves you paying for, and visibility timeout — the setting that quietly processes your message twice when it is shorter than your handler. Dead-letter queues and the redrive policy, idempotency as a requirement rather than a nicety, and Lambda event source mapping with batching.