Встречается на 2% собеседований по Java
Что такое HASH JOIN
HASH JOIN — это алгоритм соединения таблиц в базах данных, использующий хеш-таблицу для эффективного поиска совпадений.
Как работает:
- Построение хеш-таблицы — одна из таблиц (обычно меньшая) полностью читается, и её ключи соединения хешируются в память.
- Проверка совпадений — вторая таблица сканируется, и для каждой строки вычисляется хеш ключа соединения. Если хеш совпадает с записью в хеш-таблице, строки объединяются.
Преимущества:
- Эффективен для больших таблиц, если одна из них помещается в память.
- Быстрее вложенных циклов (NESTED LOOP) для больших данных.
Пример (псевдокод):
java
Map<Key, Row> hashTable = buildHashTable(smallTable);
for (Row largeRow : largeTable) {
Key key = largeRow.getJoinKey();
if (hashTable.containsKey(key)) {
emitJoinResult(hashTable.get(key), largeRow);
}
}Ограничения:
- Требует достаточно памяти для хеш-таблицы.
- Неэффективен, если хеш-таблица не помещается в RAM (тогда используется внешняя сортировка).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы