Definition
A Bloom filter is a probabilistic data structure that answers "is this item in the set?" using a fraction of the memory an exact set would need. Its guarantee is asymmetric: if it says an item is absent, the item is definitely absent (no false negatives); if it says present, it might be wrong (false positives, at a rate tunable via size and hash count). Items can be added but not removed from the basic structure.
The asymmetry fits "skip expensive work" use cases exactly: a web crawler checking "have I seen this URL?" can trust a negative and only pays an occasional wasted lookup on a false positive; an LSM storage engine consults a per-SSTable Bloom filter to avoid reading files that cannot contain the key; CDNs use them to avoid caching one-hit wonders.
How it comes up in interviews
Bloom filters earn unprompted mentions wherever a design does membership checks against a huge set — crawler deduplication, cache admission, storage-engine reads. Interviewers check you have the direction of the error right: it is "maybe present / definitely absent", never the reverse.