A probability distribution is a map from every possible outcome to its likelihood — and once you can build and read that map, you can reason about randomness, rank things fairly, and make systems that behave predictably instead of accidentally.
Picture this: EngineerPrep ships a new feature that surfaces the "hardest" interview questions. The logic is straightforward — count how many users answered each question incorrectly, then sort descending. In production, the list fills up with questions that thousands of beginners attempted and failed. Questions that only a handful of senior engineers ever tried — and also failed — sit near the bottom. The count for the beginner question is 800. The count for the senior question is 12. But 800 out of 10,000 attempts is only an 8% failure rate. 12 out of 14 attempts is an 86% failure rate. The senior question is far harder — yet it ranked lower. The raw count lied. What we needed was a way to describe the full spread of outcomes: not just how many times something happened, but how likely each outcome really is across all possibilities.…
Imagine a six-sided die. You roll it once. There are six things that could happen: land on 1, 2, 3, 4, 5, or 6. A probability distribution is simply a mapping that pairs every possible outcome with the probability that outcome occurs. For a fair die that looks like: | Outcome | Probability | |---------|-------------| | 1 | 1/6 | | 2 | 1/6 | | 3 | 1/6 | | 4 | 1/6 | | 5 | 1/6 | | 6 | 1/6 | Every row is an outcome. Every probability is a number between 0 (impossible) and 1 (certain). And — crucially — all the probabilities add up to exactly 1, because something must happen. That's the whole idea. A distribution doesn't just capture one number. It captures the entire landscape of what can happen and how often. Back to EngineerPrep: instead of storing a raw wrong-answer count, the recommender now stores a failure rate — wrong answers divided by total attempts.…
Step 1 — One attempt. Imagine the EngineerPrep database has a single attempt on a question: the user got it wrong. We draw a number line from 0% to 100% failure rate. We place one dot at 100%. 0% 50% 100% • One dot tells us almost nothing. We have no distribution yet — just a single data point. --- Step 2 — Ten attempts, three wrong. Now ten users have tried the question. Three failed. We update our estimate: 30% failure rate. We move the dot. 0% 50% 100% • Still just one dot. The estimate shifted, but we still can't see a shape . --- Step 3 — One thousand questions. Now imagine all one thousand questions in EngineerPrep's bank each have at least 100 attempts. We plot a dot for every question's failure rate on the same line. 0% 50% 100% ··· ·· ··•••••••••••• ··· · Dots cluster between 20% and 60%. A few questions sit at the extremes. The cluster has a shape — a hump.…