Хеш-таблицы в Go: устройство, коллизии и методы разрешения
На этой неделе решил разобраться с мапами: как они устроены, какие есть подводные камни и так далее. Про мапы очень любят спрашивать на собеседованиях, и я решил подойти к вопросу фундаментально - захотелось понять, как в принципе работает любая хеш-таблица.
В статье постарался объяснить всё на пальцах: • как хеш-функция превращает ключ в индекс ячейки • почему возникают коллизии и что с ними делать • чем открытая адресация отличается от цепочек • как была устроена map до версии Go 1.23 • что изменилось с выходом Swiss Table в Go 1.24
Статья написана простым языком, с визуализациями и без лишней сложности. 🔗 Читать статью на блоге
Буду рад обратной связи! Если заметили неточности или есть что добавить — пишите в комментариях.
#Go_golang_lssgo #хеш-таблицы #программирование_на_Go #lessgo
· 27.04
интересная тема - dict в питоне тоже хеш-таблица под капотом, и про collision resolution тоже спрашивают. особенно любят вопрос почему dict в python 3.7+ стал insertion-ordered. когда готовился к техническому - гонял такие темы через мокап-интервью на jobpath.world, помогает формулировать ответ вслух без подсматривания
ответить
коммент удалён
· 27.04
благодарю) буду теперь также готовиться)
ответить
ответ удалён