What this Python hash-collision interview question tests
This is a hard-difficulty question that probes deep knowledge of Python's hash function behaviour and dictionary semantics. It rewards candidates who understand the distinction between hash values, equality, and object identity—and how Python's runtime reconciles them.
Solving it requires tracing through a code snippet to predict its output, which means you need to reason about how Python computes and uses hashes internally, how collisions are handled in dictionaries, and what happens when objects with the same hash value or equal identity are used as keys or compared. This is the kind of question that separates candidates who have read the language spec from those who have merely used it.
- Hash functions and collision resolution
- The relationship between
__hash__, __eq__, and dictionary lookup - Object identity vs. equality semantics
- Edge cases in Python's built-in types