software-engineer-blog logoSoftware Engineer Blog

Module 11 · Putting it together

Unit 43 of 49

Unit 43 · Module 11 · Putting it together

A full system design, end to end

One question, answered the way an interviewer wants to hear it.

Unit 43 of the free 49-unit computer-science course, in putting it together. 1 topic to watch or read and a short self-check.

Watch or read

One topic makes up this unit. Take each one whichever way suits you, then answer the questions below.

Design a URL shortener, end to end

'Design a URL shortener' is the classic system-design warm-up, and most candidates answer the wrong question. The interviewer is not testing your hash function — they want a data-store choice, defended. Here is the whole answer in four moves: base62-encode a hash into a short code, store code → URL as one key and one value in a KV store, handle collisions with a retry or a monotonic counter, and serve the redirect. Then the follow-up that separates a rehearsed answer from a real one: a 301 is cached by the browser, so your click counter flatlines and you can never repoint the link. A 302 costs a request per click — and that request is the product.

ReelRead

Self-check — 3 questions

Answer alone, at 2am, with no interviewer in the room.

Part of Everything You Need to Know About Computer Science.