Most candidates say "use consistent hashing" in a system design interview and stop there.

That's not enough anymore.

I made a video breaking this down from first principles — the hash ring, virtual nodes, and a nuance most tutorials skip entirely: virtual nodes fix data balance, not traffic balance. Here's the short version, if you want the TL;DR before watching.

The problem with naive hashing

The obvious way to distribute keys across servers is hash(key) % N. Simple — until N changes.