Получить доступ

HashMap, HashSet и LinkedHashMap

Основа с Junior

Бакеты, коллизии, treeify, resize, порядок обхода и LRU-кэш.

Что важно знать

  • Индекс бакета из хеша ключа; коллизии — список, при длине больше 8 — красно-чёрное дерево.
  • Расширение вдвое при заполнении на 75%.
  • HashSet — обёртка над HashMap.
  • LinkedHashMap хранит порядок вставки или доступа — основа LRU.

Критерии освоения

Junior ≈ 6 ч

  • Объясняет устройство HashMap — хеш, бакеты, коллизии, расширение

Практика. Объяснить на листке, что происходит при put в HashMap с коллизией и при расширении.

Middle ≈ 4 ч

  • Объясняет treeify, коэффициент загрузки и цену resize
  • Реализует LRU-кэш на LinkedHashMap

Практика. Реализовать LRU-кэш на LinkedHashMap и с нуля на хеш-таблице и двусвязном списке.

Вопросы с собеседований

Разборы темы

← Вся карта «Java»

Закрытая бета

Знать тему — половина дела

На живом собеседовании sotto слышит вопрос интервьюера и показывает короткий ответ и план. Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем