Ctrl K
Java · Middle · Теория

Расскажите, как устроен HashMap, и что произойдёт, если положить в него объект как ключ, а потом изменить поле, которое участвует в hashCode.

~4 мин голосом

Как подойти

Проверяют, понимает ли кандидат внутреннее устройство HashMap (бакеты, хеш, коллизии, resize) настолько, чтобы самостоятельно вывести, почему мутация ключа ломает поиск. Заодно смотрят, знает ли он контракт equals/hashCode и практику неизменяемых ключей.

Встречал этот вопрос на настоящем собесе?
Ответов0
Средний балл—
Сильных—
Тренировали0
Темы
Похожие вопросыНапиши класс FlatIterator, который принимает список списков целых чисел и реализует интерфейс Iterator: hasNext говорит, остались ли элементы, а next возвращает следующее число, проходя все вложенные списки по порядку. Заранее копировать все элементы в один общий список нельзя. MiddleРеализуй класс LruCache с фиксированной вместимостью, которую передают в конструктор. Метод get по ключу возвращает значение или null, метод put кладёт пару ключ-значение, а при переполнении вытесняется элемент, к которому дольше всего не обращались. Обе операции должны работать за константное время. MiddleКак устроен HashMap внутри? Что происходит, когда вы вызываете put? JuniorЧем отличаются ArrayList и LinkedList и когда что выбрать? JuniorЧто такое контракт equals и hashCode и что будет, если его нарушить? Junior

Ответь голосом

Интервьюер задаст этот вопрос и послушает. Думай вслух, проси подсказку, если нужно. Закончил — пауза или «Я ответил», через минуту здесь балл и какие пункты закрыты.

Войти, чтобы ответить

Лучше в наушниках · ~4 мин