Вопросы с senior java интервью [1/3]

Sdílet
Vložit
  • čas přidán 15. 07. 2024
  • Всем привет!
    Я прошел и провел достаточное количество интервью и решил поделиться типовыми вопросами с собеседований, всего планирую 3 части, все вопросы реально спрашивали.
    Ссылка на код:
    github.com/kirya522/medium-po...
    Telegram канал с обсуждениями, вопросами, инсайдами:
    t.me/kirya522
    Чат для зрителей канала, также туда выкладываю интересные ссылки, источники:
    t.me/kirya522_chat
    Лайв канал
    / @kirya522-live
    Поддержать канал
    pay.cloudtips.ru/p/f4934136
    www.donationalerts.com/r/kiry...
    Тайм-коды:
    0:00 - Вступление
    0:25 - Эти вопросы реально спрашивают
    0:52 - Как устроен ролик
    1:53 - Примитивы и доступ по значению (доступ всегда по значению)
    3:53 - Пример с Boolean, который был несколько раз
    4:58 - Хэш мапа и equals
    6:00 - Как сломать мапу мутабельным ключом
    7:30 - Плохое распределение хэшей
    11:36 - Фреймворк коллекций (Collection framework)
    12:30 - Устройство листов, почему linkedlist не используют в проде
    13:50 - Иерархия исключений
    14:48 - Optional и хитрости работы с ними
    16:50 - Thread-local и то как его использовать
    17:50 - Наследуемый Thread-local
    19:20 - Стримы и примитивные стримы
    22:25 - Хитрости try-catch-finally
    23:38 - Try-with resource, Autoclosable
    25:15 - Conditionalы, как создать свой стартер, логика конфигураций
    28:05 - Жизненный цикл бинов, логика создания объектов
    30:14 - Докер и зачем он нужен
  • Věda a technologie

Komentáře • 123

  • @kirya522-dev
    @kirya522-dev  Před rokem +5

    Ссылка на код:
    github.com/kirya522/medium-posts/tree/main/java/interview-questions
    Telegram канал с обсуждениями, вопросами, инсайдами:
    t.me/kirya522
    Чат для зрителей канала, также туда выкладываю интересные ссылки, источники:
    t.me/kirya522_chat

  • @UnitedFeodor
    @UnitedFeodor Před rokem +8

    очень хорошие наглядные примеры. побольше бы таких видео! спасибо

  • @thewhitewolf5178
    @thewhitewolf5178 Před rokem +6

    Очень хороший и познавательный ролик, многое для себя подчерпнул, как junior-специалиста. Качество контента на уровне, жду продолжение)

  • @anjelomanoranjan
    @anjelomanoranjan Před 9 měsíci +1

    Шикарное видео! Спасибо! Жду новых видео по Java

  • @user-ov1xr1ip7i
    @user-ov1xr1ip7i Před rokem +1

    Спасибо за видос, жду следующий👍

  • @krab9512
    @krab9512 Před rokem +1

    Круто! Очень интересно, спасибо)

  • @Nickilangelo
    @Nickilangelo Před rokem +1

    Спасибо, очень полезно для подготовки. Компактно.

  • @dosodsin3624
    @dosodsin3624 Před rokem

    спасибо за такой формат. Продолжай. Да и вообще, твой канал находка. Пили еще ролики

  • @codemagic2487
    @codemagic2487 Před rokem

    Большое спасибо за видео! Качественная и полезная информация! Специально для юниоров, привет из Молдовы

  • @TheSeyfullah
    @TheSeyfullah Před 5 měsíci

    Спасибо за контент)

  • @wodnyi1
    @wodnyi1 Před rokem

    Прикольно! Интересная у тебя подача инфы

  • @Akio_F
    @Akio_F Před 27 dny

    Было интересно, спасибо за вопросы и код, чтобы поразбираться самостоятельно!

  • @theboredasfook
    @theboredasfook Před rokem

    Чувак ты просто спаситель)

  • @SuperEugeneone
    @SuperEugeneone Před 7 měsíci

    Круто, оч полезно перед собесами, спасибо

  • @MrRomanvideo
    @MrRomanvideo Před rokem +1

    Очень крутой и подробный подход! Мне трудно себя заставить во всем этом покопаться, а ты это писал - так что молодец! Успешного развития!

    • @kirya522-dev
      @kirya522-dev  Před rokem +1

      Спасибо за обратную связь

  • @vadimhlushchenko1373
    @vadimhlushchenko1373 Před 10 měsíci +4

    По собесам не ходил, через практику попал на работу и уже 4+ опыта, мидл. Сейчас возникла необходимость наверстать упущенное и походить по собесам, а контент идеально помогает закрыть все пробелы по пунктам, очень структурированно и наглядно, спасибо!

  • @azimutjava
    @azimutjava Před rokem

    Отлично!

  • @nikolaymatvienko1090
    @nikolaymatvienko1090 Před rokem

    Согласен, очень крутой формат с примерами и исходниками!

    • @kirya522-dev
      @kirya522-dev  Před rokem

      Выпустил вторую часть там также должно быть интересно

  • @abduqodirubaydullayev9120

    Очень классно получилось.

  • @serjfromsiberia6325
    @serjfromsiberia6325 Před 24 dny +1

    Примитивные стримы мне очень помогали в тестировании. Например, если нужно сэмулировать набор данных для записи в БД с времеными рядами(типа influx) или замокать такие данные

  • @user-gp6bs8xu4p
    @user-gp6bs8xu4p Před 10 měsíci

    Дуже гарне відео. Дякую

  • @user-pt6vo2kp7c
    @user-pt6vo2kp7c Před 2 měsíci

    Спасибо за шер гитхаба! Примеры отличные - чисто под вопросы!

  • @slavikshow
    @slavikshow Před rokem

    Это огонь🔥🔥🔥🔥🔥

  • @Das.Kleine.Krokodil
    @Das.Kleine.Krokodil Před rokem

    Отлично

  • @ShomaAbd1991
    @ShomaAbd1991 Před rokem

    Спасибо.

    • @kirya522-dev
      @kirya522-dev  Před rokem

      Вам спасибо за просмотр

  • @RomanAlexandrov
    @RomanAlexandrov Před rokem +1

    Тоже за последний месяц прошёл собесы в 43 компании.) С видео в основном согласен.) Все собесы разные, могут как и джун вопросы спрашивать, так и стандартные, так и глубоко копать Сеньорские вопросы, могут за собес сказать - вот тебе 6 алгоритмических задач на 1.5ч, давай решай.

  • @user-ml7bp3mf4n
    @user-ml7bp3mf4n Před 2 měsíci

    Вот ведь ты человечище!!

  • @A_G_AG
    @A_G_AG Před 7 měsíci

    ненавижу проходить интервью и вот я тут, спасибо.

  • @georginich2216
    @georginich2216 Před rokem +1

    Спасибо, подписался.
    Про Хэшмап Трегулов хорошо объясняет в "черном поясе" - как работает, почему может выродиться до линкед листа и т.д

    • @user-pq1mq8gi4p
      @user-pq1mq8gi4p Před rokem +1

      Не может выродиться до линкед листа, уже давно не может.

    • @graices4324
      @graices4324 Před 9 měsíci

      почему не может?@@user-pq1mq8gi4p

  • @valeronys
    @valeronys Před rokem

    Пока я ещё даже не Джун, но уже со словарём понимаю, что ты говоришь😂

  • @tonatoz13
    @tonatoz13 Před 3 měsíci

    Имхо, лучше один раз попробовать, чем сто раз услышать. Автор видео проделал колоссальную работу, подготовив материал в гите для самостоятельного познания на практике всех тем ролика. Спасибо!
    P.S. Не ошибается тот, кто ничего не делает.

    • @kirya522-dev
      @kirya522-dev  Před 2 měsíci

      Я хотел, чтобы было полезно, для этого надо пойти и посмотреть.
      Рад, что понимаете

  • @antNecrom
    @antNecrom Před 5 měsíci

    Афигеть, я проходила у вас интервью 😅

    • @kirya522-dev
      @kirya522-dev  Před 5 měsíci

      Надеюсь всё было хорошо

  • @java_coder
    @java_coder Před 11 měsíci

    Фрагментация в памяти)

  • @arturbarkou6347
    @arturbarkou6347 Před 7 měsíci

    Я рассказывать не буду, все можно посмотреть 👍 топ

  • @ruslansitdikov1489
    @ruslansitdikov1489 Před 5 měsíci +1

    Мне как синьору, наоборот, подача прям зашла

  • @aliakseiparamonov5602
    @aliakseiparamonov5602 Před 10 měsíci +1

    11:25 - 8 элементов и 64 бакета -- условие для красно-черного дерева

  • @user-pq1mq8gi4p
    @user-pq1mq8gi4p Před rokem

    С исключениями в Спринге положили очень качественные грабли, @Transactional по умолчанию для unchecked, как и ожидается, выполняет откат транзакции, а для checked, как совсем не ожидается, выполняет фиксацию транзакции.

    • @user-gw6df6ns7e
      @user-gw6df6ns7e Před 5 měsíci

      Ну логика в этом есть. Мы не ожидаем и на всякий случай откатили. Когда checked, то сам можешь заметить.

  • @user-hq6nm2tf6j
    @user-hq6nm2tf6j Před 2 měsíci +1

    14:10 думаю этот объект ексепшена уже заранее создан

  • @user-pf1ke6qs7c
    @user-pf1ke6qs7c Před 10 měsíci

    это вопросы уровня junior

  • @andrewpolewoy7109
    @andrewpolewoy7109 Před 8 měsíci

    Супер крутой контент!!! Так держать! Что за трэк играет на фоне?

  • @aliakseiparamonov5602
    @aliakseiparamonov5602 Před 10 měsíci

    7:26 - через entrySet() не найдём? Он пропадёт (объект)?

  • @vitaliy0192
    @vitaliy0192 Před 5 měsíci

    Мне понравился формат. Досмотрел видео целиком. И подача интересная, и хорошо, что есть код, в котором можно покопаться. Иногда как будто речь со сленгом становится "пацанской", но думаю со временем и опытом это пройдет.

  • @savelyev27
    @savelyev27 Před měsícem

    Формат супер, но хотелось бы сразу объяснение примеров, без «можно посмотреть погуглить»

  • @user-cx4nj6io8x
    @user-cx4nj6io8x Před 5 měsíci +1

    Вообще, в LinkedList есть дофига фишек, которые никто не используются, потому что не шарят в нем, ну например: его можно использовать как queue, как stack, можно использовать ListIterator, а это совсем другой функционал по сравнению с Iterator, где можно идти вперед, назад, на ходу удалять элементы или добавлять элементы во время итерации.
    Очень он полезен для алгоритмических задач, как раз из-за ListIterator, Stack, Queue, DeQueue где можно в любой момент начать по другому его использовать

    • @kirya522-dev
      @kirya522-dev  Před 5 měsíci

      Хорошее дополнение

    • @Alex-gj7mu
      @Alex-gj7mu Před měsícem

      Для queue есть отдельные классы реализации. Для stack можно использовать ArrayDeque.
      Конечно, для решения небольших алгоритмических задач можно обойтись реализацией, которая предоставляет нужные методы. Для использования в проде надо выбирать исходя из быстродействия и потребления памяти, в чем LinkedList проигрывает.

  • @user-si7dj7fj6f
    @user-si7dj7fj6f Před 10 měsíci

    Да мне джуны это все на собесах рассказывают. Ну почти все)

  • @madinakali6873
    @madinakali6873 Před 5 měsíci

    где можно прочитать, посмотреть подробнее про спринг бут, в том ключе как вы рассказываете?

  • @AnticrisisPlays
    @AnticrisisPlays Před rokem

    В primitivesByVale - перегрузки для Assertation.assertSame от int не существует - произойдёт auto boxing в объект и если заменить в первом примере значение на, пусть 128 - тест упадёт, по причине, указанной во втором тесте. =)

    • @kirya522-dev
      @kirya522-dev  Před rokem

      Действительно, спасибо за подсказку

    • @nataliaa6880
      @nataliaa6880 Před 9 měsíci

      Так при 128 он и должен упасть.

  • @RomanAlexandrov
    @RomanAlexandrov Před rokem

    Сколько ты офферов в итоге получил и на какую сумму? Кстати ты на рф рынок только собесился или европа / штаты?

    • @kirya522-dev
      @kirya522-dev  Před rokem

      13 суммарно, ага только рф

  • @AzatYulmukhametov
    @AzatYulmukhametov Před 10 měsíci

    127 - предел для ==... (-128 -> 127) пул Интов называется
    создаешь интежер в этом диапазоне, тебе просто летит ссылка на объект из пула

    • @AzatYulmukhametov
      @AzatYulmukhametov Před 10 měsíci

      погоди, OutOfMemmory же Error а не Exception

    • @kirya522-dev
      @kirya522-dev  Před 10 měsíci

      Я про это вроде бы рассказывал и размер пула флагом можно подкрутитт

    • @eugene676
      @eugene676 Před 6 měsíci

      @@kirya522-dev как понять "подкрутить" флагом? Размер пула же невозможно изменить...

  • @user-un1um2vf3y
    @user-un1um2vf3y Před rokem

    честно говоря какие то вопросы уровня джуна

    • @kirya522-dev
      @kirya522-dev  Před rokem

      В видео как раз рассказал, что всего 3 части по сложности

  • @user-dz3xb2xb5p
    @user-dz3xb2xb5p Před rokem

    Сеньор джава, господин сишарп, мистер питон, герр лисп, сударь паскаль

  • @bhaakl
    @bhaakl Před rokem

    Привет, подскажи плиз что за клавиатура у тя там, модель как называется?

    • @kirya522-dev
      @kirya522-dev  Před rokem

      Сплит клавиатура, самая дешёвая которая была Cloud Nine ErgoTKL Ergonomic... www.amazon.com/dp/B09G5L6Z53?ref=ppx_pop_mob_ap_share

  • @user-pq1mq8gi4p
    @user-pq1mq8gi4p Před rokem

    Не очень понял сравнение прохода итератором по ArrayList и LinkedList, откуда там большая разница? В ArrayList в массиве лежат только ссылки, за объектами по ссылкам все равно придется ходить.

    • @kirya522-dev
      @kirya522-dev  Před rokem

      Разница в логике аллокаций, единым куском и разбросанными объектами в куче, при итерациях это сильно играет

    • @user-pq1mq8gi4p
      @user-pq1mq8gi4p Před rokem

      @@kirya522-dev так у ArrayList тоже объекты в куче разбросаны и тоже за ними ходить нужно, я не встречал информации, что под все объекты из ArrayList выделяется непрерывный кусок памяти, где-то описано такое поведение?

    • @user-pq1mq8gi4p
      @user-pq1mq8gi4p Před rokem

      @@kirya522-dev попытался найти информацию про выделение непрерывной области памяти под объекты ArrayList ииии это невозможно, мы банально не знаем размер объекта, поэтому непрерывная область памяти выделяется только под массив ссылок, а объекты размешаются в таком же произвольном порядке как и у LinkedList. Разница конечно будет, по ArrayList нам нужно сходить только по одной ссылке за объектом на каждый элемент, у LinkedList для получения каждого элемента нужно перейти по двум ссылкам, сначала на следующую ноду, потом получить элемент, однако не думаю, что разница будет столь критична, особенно если в элементе тоже есть много не примитивов в которые нам нужно навигироваться, плюс/минус один переход по ссылке не выглядит таким уж катастрофическим.

  • @zuzu-wz9be
    @zuzu-wz9be Před rokem

    запиши видос плз, где правильная последовательность изучения спринга, чтоб стать гуру. А то у него дофига док и не упорядоченный сайт, который просто ведет к квикстарту спринг бута. Мол сначала изучили спринг бут (каким образом, что там под капотом и как точно все в совокупности поднимается/работает, либо пример со стектрейсом), потом допустим web/mvc, что там за паттерны и почему там отдельный диспатчер сервлет. И тд

    • @kirya522-dev
      @kirya522-dev  Před rokem

      Слишком узкая тема, советую почитать статьи на медиуме и оттуда понимать что и где надо

    • @user-iq9rg4te3e
      @user-iq9rg4te3e Před rokem +1

      Либо пройтись по книге Spring Boot in action

    • @xstorm9939
      @xstorm9939 Před 10 měsíci

      java ee uchi

  • @user-pq1mq8gi4p
    @user-pq1mq8gi4p Před rokem

    Хэшмапа никогда не даст O(n), попробуйте объяснить почему))

  • @user-br4gt7xu2j
    @user-br4gt7xu2j Před rokem

    хм, очень поверхностные вопросы, как будто на джуна совсем, а не на сеньора, где 90% интервью это про системный дизайн, работу в команде и какие-то более специализированные инструменты и технологии, местами уже как для профессиональных DBA и DevOps уже, а тут все очень общее и простое, хотя может это у меня уже профессиональная деформация)) но в целом очень интересно записал))
    UPD: блин начало пропустил, а ты же там сказал, что это начальный уровень)))) сорян)) надо слушать вступления)))

    • @kirya522-dev
      @kirya522-dev  Před rokem

      Ага)
      Но вообще хотел пока только жабу разобрать, в ширь от опыта зависит

    • @alenache1
      @alenache1 Před rokem +3

      многие "синьоры" плавают в базе. Тулзы, предметную область и инфраструктуру знают, а какие-то простые вещи уже забыли. Или не знали никогда)

  • @user-rl7fk8ft8s
    @user-rl7fk8ft8s Před 3 měsíci +3

    "рассказывать не буду", "можно полазить самому", "погуглите", "это очевидно и понятно"... - список выражений, которые совсем не хотелось бы встречать в подобных материалах, но в данном видео их слишком много

    • @user-ec5oj5ht8f
      @user-ec5oj5ht8f Před měsícem +1

      Ну если стремишься к сеньору, он верно говорит, уже сам всё понимаешь, можешь быстро узнать, и так видос на 3 части поделил, так что видос пушка

    • @user-rl7fk8ft8s
      @user-rl7fk8ft8s Před měsícem

      @@user-ec5oj5ht8f можно конечно же и в других местах освежить свои знания к собесам. Поэтому в чем смысл такого видео?) От таких видео все же ожидаешь, что будет кратко собрана нужная инфа, не чтобы изучить с нуля, а именно освежить знания или понять на что именно делать акцент при ответе

  • @demchuckdima
    @demchuckdima Před rokem

    дякую
    в мене трохи інші правда були

  • @MonrayRus
    @MonrayRus Před rokem

    А это точно вопросы сеньору? Просто меня на двух собесах на джуна спрашивали почти про всю эту дроч

    • @MrKlive96
      @MrKlive96 Před rokem +1

      Значит мог на сеньора сразу подавать :) Хотя дальше наверное сложнее будет

    • @kirya522-dev
      @kirya522-dev  Před rokem

      Я собесился на синьерский грейд и все это спрашивали так что)

    • @Das.Kleine.Krokodil
      @Das.Kleine.Krokodil Před rokem

      дай им ссылку на это видео
      скажи чтобы не шалили

    • @eikolyakov
      @eikolyakov Před rokem +2

      Ну а какая разница на сеньора или Джуна? Думаю, от Джуна просто не ожидают подробностей по всем темам. А так все равно спросят сначала основы:
      1. Контракт equals hashcode
      2. Коллекции, ООП
      3. Исключения, многопоточка
      Эти вопросы почти 100% спрашивают, гдето больше, где о меньше, возможно, если вы сеньор ожидают, что вы просто будете сразу отстреливать подобные темы, от Джуна наверное допустимо, что он чего-то не знает, не помнит.

    • @kirya522-dev
      @kirya522-dev  Před rokem +1

      Да, именно так и есть, по темам попрыгали как фильтр и можно за всякое поговорить

  • @user-tu6ed5vy4e
    @user-tu6ed5vy4e Před rokem +13

    При всем уважении, подача материала очень хромает. "Вот смотрите, мапа, вот замутировали ключ, вот смотрите, это не работает". Конец. Почему не работает, что происходит, не понятно. Да и слушать такие фразы очень тяжело.

    • @kirya522-dev
      @kirya522-dev  Před rokem +7

      Да, я хотел найти баланс между все рассказать и примеры или просто сказать вопрос, чтобы интересующиеся сами разобрались в теме, в следующем выпуске сделаю темы, к ним уточняющие вопросы и список источников как найти ответ.

  • @maximelmanov6719
    @maximelmanov6719 Před rokem

    видео не для помидоров, скорее джунам

    • @kirya522-dev
      @kirya522-dev  Před rokem

      Ну я сказал же что части будет три)

    • @maximelmanov6719
      @maximelmanov6719 Před rokem

      @@kirya522-dev я тебя не вынуждал использовать sinior в названии ролика. Ты так же мог Джуна вклеить

    • @kirya522-dev
      @kirya522-dev  Před rokem

      Видео про мой опыт) и это у меня тоже спрашивали, вопросы же как фильтр по нарастающей идут

    • @Nickilangelo
      @Nickilangelo Před rokem +2

      @@maximelmanov6719 душный

    • @maximelmanov6719
      @maximelmanov6719 Před rokem

      @@Nickilangelo согласен, есть такое.
      Но если автор поставит себя на мое место, то поймёт, что он по сути обманул зрителя. На утубе полно видосов с подобным контентом, но делаются они для джунов/джунов+ и названия у них соответственные

  • @user-bb5xw8bd8w
    @user-bb5xw8bd8w Před rokem

    Мапа с мапой - вас за синьора и близко не держали

    • @kirya522-dev
      @kirya522-dev  Před rokem

      Это интересный пример отмутировать ключ, вопрос про это

  • @vladimirkornev2668
    @vladimirkornev2668 Před 3 měsíci

    Вроде бы и все рассказал и ничего не рассказал

  • @KavboiHaggis
    @KavboiHaggis Před 10 měsíci

    Такими видосами ты оказываешь медвежью услугу как соискателям так нанимателям. Люди не вникая в детали теперь могут заспидранить собесы, тупо заучив ответы и не понимая реально что и как работает. И от этого в итоге проиграют все. Я против таких видосов.

    • @kirya522-dev
      @kirya522-dev  Před 10 měsíci

      Я рассказываю в деталях, кому интересно погрузятся и изучат подробности

    • @KavboiHaggis
      @KavboiHaggis Před 10 měsíci

      @@kirya522-dev херня в том кому интересно они и так все изучат, а кому нет у них цель найти решебник и .

  • @itlife8792
    @itlife8792 Před rokem

    Мы стажеров спрашиваем по ат по этим вопросам ))) кроме докера , бинов и потоков ) ну и еще вопросы по ат кидаем :) видимо мы перестарались слегка

    • @kirya522-dev
      @kirya522-dev  Před rokem

      Ну это первый выпуск и просто набор тем спросить то можно вглубь понимание)

  • @uawinwin
    @uawinwin Před rokem +1

    блин открыл видеоролик что посмотреть ответы в видео "пойдите погуглите, сами проверте, это я вам даю поделать как домашку"

    • @kirya522-dev
      @kirya522-dev  Před rokem

      Я делаю так, чтобы кому надо разобрались и углубились

  • @igormyatlyuk503
    @igormyatlyuk503 Před 4 měsíci

    07:22 Киря, насчет мутабельности ключей и сломанной мультимапы не согласен что значение потеряно навсегда
    ты не попробовал отмутировать оригинальный ключ. тогда значение можно снова достать и дупликат работает
    т.е. будет такой тест:
    // revert the original map key => working again
    originalMapKey.remove(2L);
    Long tryAgainMutated = multiMapMap.get(originalMapKey);
    Assertions.assertEquals(99L, tryAgainMutated);
    // try again with same object key => working
    Long tryAgain2 = multiMapMap.get(duplicatedMapKey);
    Assertions.assertEquals(99L, tryAgain2);

    • @kirya522-dev
      @kirya522-dev  Před 4 měsíci

      Слушай, а там же хэш должен перестроиться в дереве, чтобы найти было можно элемент

    • @igormyatlyuk503
      @igormyatlyuk503 Před 4 měsíci

      @@kirya522-dev не очень понял твой коммент. после реверта оригинального ключа все работает снова, но я пошел дальше и действительно "сломал" мапу и сделал значение недоступным. 99L - изначальное значение, а 88L добавлено с помощью duplicatedMapKey. 88L можно сделать недоступным. вот тесты:
      ```java
      // put another value with duplicated unmodified key
      multiMapMap.put(duplicatedMapKey, 88L);
      Long valueForDuplicatedKey = multiMapMap.get(duplicatedMapKey);
      Assertions.assertEquals(88L, valueForDuplicatedKey);
      // revert original object key => working again
      originalMapKey.remove(2L);
      Long tryAgainMutated = multiMapMap.get(originalMapKey);
      Assertions.assertEquals(99L, tryAgainMutated);
      // try again with duplicated object key => working again
      // but value 88L is inaccessible!!!
      Long tryAgainForDuplicatedKey = multiMapMap.get(duplicatedMapKey);
      Assertions.assertEquals(99L, tryAgainForDuplicatedKey);
      ```
      В итоге в MultiMap лежат два схожих по equals/hashcode ключа, но достать можем только 1 значение по изначальному ключу.

    • @igormyatlyuk503
      @igormyatlyuk503 Před 4 měsíci

      ​@@kirya522-dev Дело не в том, что хэш должен перестроиться. На самом деле причина по которой мы не можем достать значение по duplicatedMapKey до банального проста. Там нет никакой черной магии.
      смотри. когда мы пытаемся выполнить multiMapMap.get(duplicatedMapKey); после того как отмутировали originalMapKey, мы попадаем в нужный bucket где лежит наш originalMapKey, НО поскольку originalMapKey.equals(duplicatedMapKey) == false то значение не возвращается.
      и как только мы отмутируем originalMapKey обратно, то будет equals == true и значение вернется