Что такое Коллизия

«Что такое Коллизия» — вопрос из категории Базы данных, который задают на 24% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Коллизия возникает, когда разные ключи в хэш-таблице (например, map в Go) попадают в одну и ту же ячейку памяти из-за одинакового хэш-значения.

Пример:

m := make(map[int]string)
m[1] = "one"  // Предположим, хэш от 1 равен 123
m[2] = "two"  // Хэш от 2 тоже 123 → коллизия

Как решается:

  1. Метод цепочек — храним список элементов в одной ячейке.
  2. Открытая адресация — ищем следующую свободную ячейку.

В Go используется гибридный подход, но детали скрыты в реализации рантайма.