Тёмный

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

Kirill Grishchuk - Software Engineer
Подписаться 3,8 тыс.
Просмотров 33 тыс.
50% 1

Опубликовано:

 

1 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 133   
@kirya522-dev
@kirya522-dev Год назад
Ссылка на код: github.com/kirya522/medium-posts/tree/main/java/interview-questions Telegram канал с обсуждениями, вопросами, инсайдами: t.me/kirya522 Чат для зрителей канала, также туда выкладываю интересные ссылки, источники: t.me/kirya522_chat
@ДарьяПанкова-н3г
@ДарьяПанкова-н3г 6 месяцев назад
"рассказывать не буду", "можно полазить самому", "погуглите", "это очевидно и понятно"... - список выражений, которые совсем не хотелось бы встречать в подобных материалах, но в данном видео их слишком много
@ивановроман-я5ц
@ивановроман-я5ц 3 месяца назад
Ну если стремишься к сеньору, он верно говорит, уже сам всё понимаешь, можешь быстро узнать, и так видос на 3 части поделил, так что видос пушка
@ДарьяПанкова-н3г
@ДарьяПанкова-н3г 3 месяца назад
@@ивановроман-я5ц можно конечно же и в других местах освежить свои знания к собесам. Поэтому в чем смысл такого видео?) От таких видео все же ожидаешь, что будет кратко собрана нужная инфа, не чтобы изучить с нуля, а именно освежить знания или понять на что именно делать акцент при ответе
@thewhitewolf5178
@thewhitewolf5178 Год назад
Очень хороший и познавательный ролик, многое для себя подчерпнул, как junior-специалиста. Качество контента на уровне, жду продолжение)
@vadimhlushchenko1373
@vadimhlushchenko1373 Год назад
По собесам не ходил, через практику попал на работу и уже 4+ опыта, мидл. Сейчас возникла необходимость наверстать упущенное и походить по собесам, а контент идеально помогает закрыть все пробелы по пунктам, очень структурированно и наглядно, спасибо!
@IlyaKorchinskiy
@IlyaKorchinskiy Год назад
При всем уважении, подача материала очень хромает. "Вот смотрите, мапа, вот замутировали ключ, вот смотрите, это не работает". Конец. Почему не работает, что происходит, не понятно. Да и слушать такие фразы очень тяжело.
@kirya522-dev
@kirya522-dev Год назад
Да, я хотел найти баланс между все рассказать и примеры или просто сказать вопрос, чтобы интересующиеся сами разобрались в теме, в следующем выпуске сделаю темы, к ним уточняющие вопросы и список источников как найти ответ.
@aliakseiparamonov5602
@aliakseiparamonov5602 Год назад
11:25 - 8 элементов и 64 бакета -- условие для красно-черного дерева
@ВасилийГоловко-д9и
@ВасилийГоловко-д9и 4 месяца назад
14:10 думаю этот объект ексепшена уже заранее создан
@serjfromsiberia6325
@serjfromsiberia6325 3 месяца назад
Примитивные стримы мне очень помогали в тестировании. Например, если нужно сэмулировать набор данных для записи в БД с времеными рядами(типа influx) или замокать такие данные
@dreamer_vi905
@dreamer_vi905 Месяц назад
Спасибо за контент. И за код, который можно помять.
@ruslansitdikov1489
@ruslansitdikov1489 7 месяцев назад
Мне как синьору, наоборот, подача прям зашла
@RomanAlexandrov
@RomanAlexandrov Год назад
Тоже за последний месяц прошёл собесы в 43 компании.) С видео в основном согласен.) Все собесы разные, могут как и джун вопросы спрашивать, так и стандартные, так и глубоко копать Сеньорские вопросы, могут за собес сказать - вот тебе 6 алгоритмических задач на 1.5ч, давай решай.
@Павел-у7ф2е
@Павел-у7ф2е 8 месяцев назад
Вообще, в LinkedList есть дофига фишек, которые никто не используются, потому что не шарят в нем, ну например: его можно использовать как queue, как stack, можно использовать ListIterator, а это совсем другой функционал по сравнению с Iterator, где можно идти вперед, назад, на ходу удалять элементы или добавлять элементы во время итерации. Очень он полезен для алгоритмических задач, как раз из-за ListIterator, Stack, Queue, DeQueue где можно в любой момент начать по другому его использовать
@kirya522-dev
@kirya522-dev 8 месяцев назад
Хорошее дополнение
@Alex-gj7mu
@Alex-gj7mu 4 месяца назад
Для queue есть отдельные классы реализации. Для stack можно использовать ArrayDeque. Конечно, для решения небольших алгоритмических задач можно обойтись реализацией, которая предоставляет нужные методы. Для использования в проде надо выбирать исходя из быстродействия и потребления памяти, в чем LinkedList проигрывает.
@kengerfil
@kengerfil 21 день назад
а это точно Senior уровня вопросы, а не джуниор/middle ?
@vb7038
@vb7038 10 дней назад
Всё верно. Это на джуна вопросы
@UnitedFeodor
@UnitedFeodor Год назад
очень хорошие наглядные примеры. побольше бы таких видео! спасибо
@savelyev27
@savelyev27 4 месяца назад
Формат супер, но хотелось бы сразу объяснение примеров, без «можно посмотреть погуглить»
@madinakali6873
@madinakali6873 7 месяцев назад
где можно прочитать, посмотреть подробнее про спринг бут, в том ключе как вы рассказываете?
@anjelomanoranjan
@anjelomanoranjan Год назад
Шикарное видео! Спасибо! Жду новых видео по Java
@Nickilangelo
@Nickilangelo Год назад
Спасибо, очень полезно для подготовки. Компактно.
@СергейШилин-ф8щ
@СергейШилин-ф8щ 5 месяцев назад
Спасибо за шер гитхаба! Примеры отличные - чисто под вопросы!
@aliakseiparamonov5602
@aliakseiparamonov5602 Год назад
7:26 - через entrySet() не найдём? Он пропадёт (объект)?
@MrRomanvideo
@MrRomanvideo Год назад
Очень крутой и подробный подход! Мне трудно себя заставить во всем этом покопаться, а ты это писал - так что молодец! Успешного развития!
@kirya522-dev
@kirya522-dev Год назад
Спасибо за обратную связь
@Akio_F
@Akio_F 3 месяца назад
Было интересно, спасибо за вопросы и код, чтобы поразбираться самостоятельно!
@georginich2216
@georginich2216 Год назад
Спасибо, подписался. Про Хэшмап Трегулов хорошо объясняет в "черном поясе" - как работает, почему может выродиться до линкед листа и т.д
@DenisNovysh
@DenisNovysh Год назад
Не может выродиться до линкед листа, уже давно не может.
@graices4324
@graices4324 Год назад
почему не может?@@DenisNovysh
@Денис-ы6ъ5г
@Денис-ы6ъ5г Год назад
Спасибо за видос, жду следующий👍
@СергейФедоров-э3д
Да мне джуны это все на собесах рассказывают. Ну почти все)
@tonatoz13
@tonatoz13 6 месяцев назад
Имхо, лучше один раз попробовать, чем сто раз услышать. Автор видео проделал колоссальную работу, подготовив материал в гите для самостоятельного познания на практике всех тем ролика. Спасибо! P.S. Не ошибается тот, кто ничего не делает.
@kirya522-dev
@kirya522-dev 5 месяцев назад
Я хотел, чтобы было полезно, для этого надо пойти и посмотреть. Рад, что понимаете
@krab9512
@krab9512 Год назад
Круто! Очень интересно, спасибо)
@vitaliy0192
@vitaliy0192 8 месяцев назад
Мне понравился формат. Досмотрел видео целиком. И подача интересная, и хорошо, что есть код, в котором можно покопаться. Иногда как будто речь со сленгом становится "пацанской", но думаю со временем и опытом это пройдет.
@kirya522-dev
@kirya522-dev 8 месяцев назад
Корни выдают)
@arturbarkou6347
@arturbarkou6347 10 месяцев назад
Я рассказывать не буду, все можно посмотреть 👍 топ
@RomanAlexandrov
@RomanAlexandrov Год назад
Сколько ты офферов в итоге получил и на какую сумму? Кстати ты на рф рынок только собесился или европа / штаты?
@kirya522-dev
@kirya522-dev Год назад
13 суммарно, ага только рф
@andrewpolewoy7109
@andrewpolewoy7109 11 месяцев назад
Супер крутой контент!!! Так держать! Что за трэк играет на фоне?
@uawinwin
@uawinwin Год назад
блин открыл видеоролик что посмотреть ответы в видео "пойдите погуглите, сами проверте, это я вам даю поделать как домашку"
@kirya522-dev
@kirya522-dev Год назад
Я делаю так, чтобы кому надо разобрались и углубились
@DenisNovysh
@DenisNovysh Год назад
С исключениями в Спринге положили очень качественные грабли, @Transactional по умолчанию для unchecked, как и ожидается, выполняет откат транзакции, а для checked, как совсем не ожидается, выполняет фиксацию транзакции.
@владимирсенцов-р1ю
@владимирсенцов-р1ю 7 месяцев назад
Ну логика в этом есть. Мы не ожидаем и на всякий случай откатили. Когда checked, то сам можешь заметить.
@valeronys
@valeronys Год назад
Пока я ещё даже не Джун, но уже со словарём понимаю, что ты говоришь😂
@A_G_AG
@A_G_AG 10 месяцев назад
ненавижу проходить интервью и вот я тут, спасибо.
@codemagic2487
@codemagic2487 Год назад
Большое спасибо за видео! Качественная и полезная информация! Специально для юниоров, привет из Молдовы
@bhaakl
@bhaakl Год назад
Привет, подскажи плиз что за клавиатура у тя там, модель как называется?
@kirya522-dev
@kirya522-dev Год назад
Сплит клавиатура, самая дешёвая которая была Cloud Nine ErgoTKL Ergonomic... www.amazon.com/dp/B09G5L6Z53?ref=ppx_pop_mob_ap_share
@uladzimirdrazdou1563
@uladzimirdrazdou1563 2 месяца назад
Спасибо, очень полезно!
@DenisNovysh
@DenisNovysh Год назад
Хэшмапа никогда не даст O(n), попробуйте объяснить почему))
@vb7038
@vb7038 10 дней назад
Если все элементы будут попадать в один бакет, то получишь своё O(n)
@АндрейБашук-ч3э
Дуже гарне відео. Дякую
@Николай-ь6и8ч
@Николай-ь6и8ч 4 месяца назад
Вот ведь ты человечище!!
@dosodsin3624
@dosodsin3624 Год назад
спасибо за такой формат. Продолжай. Да и вообще, твой канал находка. Пили еще ролики
@igormyatlyuk503
@igormyatlyuk503 7 месяцев назад
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 7 месяцев назад
Слушай, а там же хэш должен перестроиться в дереве, чтобы найти было можно элемент
@igormyatlyuk503
@igormyatlyuk503 7 месяцев назад
@@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 7 месяцев назад
​@@kirya522-dev Дело не в том, что хэш должен перестроиться. На самом деле причина по которой мы не можем достать значение по duplicatedMapKey до банального проста. Там нет никакой черной магии. смотри. когда мы пытаемся выполнить multiMapMap.get(duplicatedMapKey); после того как отмутировали originalMapKey, мы попадаем в нужный bucket где лежит наш originalMapKey, НО поскольку originalMapKey.equals(duplicatedMapKey) == false то значение не возвращается. и как только мы отмутируем originalMapKey обратно, то будет equals == true и значение вернется
@antNecrom
@antNecrom 7 месяцев назад
Афигеть, я проходила у вас интервью 😅
@kirya522-dev
@kirya522-dev 7 месяцев назад
Надеюсь всё было хорошо
@ВиталийЛавшук
@ВиталийЛавшук Год назад
это вопросы уровня junior
@wodnyi1
@wodnyi1 Год назад
Прикольно! Интересная у тебя подача инфы
@SuperEugeneone
@SuperEugeneone 9 месяцев назад
Круто, оч полезно перед собесами, спасибо
@AnticrisisPlays
@AnticrisisPlays Год назад
В primitivesByVale - перегрузки для Assertation.assertSame от int не существует - произойдёт auto boxing в объект и если заменить в первом примере значение на, пусть 128 - тест упадёт, по причине, указанной во втором тесте. =)
@kirya522-dev
@kirya522-dev Год назад
Действительно, спасибо за подсказку
@nataliaa6880
@nataliaa6880 11 месяцев назад
Так при 128 он и должен упасть.
@AlexSmile-y2x
@AlexSmile-y2x Год назад
хм, очень поверхностные вопросы, как будто на джуна совсем, а не на сеньора, где 90% интервью это про системный дизайн, работу в команде и какие-то более специализированные инструменты и технологии, местами уже как для профессиональных DBA и DevOps уже, а тут все очень общее и простое, хотя может это у меня уже профессиональная деформация)) но в целом очень интересно записал)) UPD: блин начало пропустил, а ты же там сказал, что это начальный уровень)))) сорян)) надо слушать вступления)))
@kirya522-dev
@kirya522-dev Год назад
Ага) Но вообще хотел пока только жабу разобрать, в ширь от опыта зависит
@alenache1
@alenache1 Год назад
многие "синьоры" плавают в базе. Тулзы, предметную область и инфраструктуру знают, а какие-то простые вещи уже забыли. Или не знали никогда)
@АлексейКамлай
@АлексейКамлай Год назад
Сеньор джава, господин сишарп, мистер питон, герр лисп, сударь паскаль
@kirya522-dev
@kirya522-dev Год назад
Пожилой боров
@DenisNovysh
@DenisNovysh Год назад
Не очень понял сравнение прохода итератором по ArrayList и LinkedList, откуда там большая разница? В ArrayList в массиве лежат только ссылки, за объектами по ссылкам все равно придется ходить.
@kirya522-dev
@kirya522-dev Год назад
Разница в логике аллокаций, единым куском и разбросанными объектами в куче, при итерациях это сильно играет
@DenisNovysh
@DenisNovysh Год назад
@@kirya522-dev так у ArrayList тоже объекты в куче разбросаны и тоже за ними ходить нужно, я не встречал информации, что под все объекты из ArrayList выделяется непрерывный кусок памяти, где-то описано такое поведение?
@DenisNovysh
@DenisNovysh Год назад
@@kirya522-dev попытался найти информацию про выделение непрерывной области памяти под объекты ArrayList ииии это невозможно, мы банально не знаем размер объекта, поэтому непрерывная область памяти выделяется только под массив ссылок, а объекты размешаются в таком же произвольном порядке как и у LinkedList. Разница конечно будет, по ArrayList нам нужно сходить только по одной ссылке за объектом на каждый элемент, у LinkedList для получения каждого элемента нужно перейти по двум ссылкам, сначала на следующую ноду, потом получить элемент, однако не думаю, что разница будет столь критична, особенно если в элементе тоже есть много не примитивов в которые нам нужно навигироваться, плюс/минус один переход по ссылке не выглядит таким уж катастрофическим.
@AzatYulmukhametov
@AzatYulmukhametov Год назад
127 - предел для ==... (-128 -> 127) пул Интов называется создаешь интежер в этом диапазоне, тебе просто летит ссылка на объект из пула
@AzatYulmukhametov
@AzatYulmukhametov Год назад
погоди, OutOfMemmory же Error а не Exception
@kirya522-dev
@kirya522-dev Год назад
Я про это вроде бы рассказывал и размер пула флагом можно подкрутитт
@eugene676
@eugene676 8 месяцев назад
@@kirya522-dev как понять "подкрутить" флагом? Размер пула же невозможно изменить...
@theboredasfook
@theboredasfook Год назад
Чувак ты просто спаситель)
@TheSeyfullah
@TheSeyfullah 7 месяцев назад
Спасибо за контент)
@azimutjava
@azimutjava Год назад
Отлично!
@nikolaymatvienko1090
@nikolaymatvienko1090 Год назад
Согласен, очень крутой формат с примерами и исходниками!
@kirya522-dev
@kirya522-dev Год назад
Выпустил вторую часть там также должно быть интересно
@abduqodirubaydullayev9120
@abduqodirubaydullayev9120 Год назад
Очень классно получилось.
@SarkhanTakhirov
@SarkhanTakhirov Год назад
честно говоря какие то вопросы уровня джуна
@kirya522-dev
@kirya522-dev Год назад
В видео как раз рассказал, что всего 3 части по сложности
@zuzu-wz9be
@zuzu-wz9be Год назад
запиши видос плз, где правильная последовательность изучения спринга, чтоб стать гуру. А то у него дофига док и не упорядоченный сайт, который просто ведет к квикстарту спринг бута. Мол сначала изучили спринг бут (каким образом, что там под капотом и как точно все в совокупности поднимается/работает, либо пример со стектрейсом), потом допустим web/mvc, что там за паттерны и почему там отдельный диспатчер сервлет. И тд
@kirya522-dev
@kirya522-dev Год назад
Слишком узкая тема, советую почитать статьи на медиуме и оттуда понимать что и где надо
@РоманБезштанько-к8у
Либо пройтись по книге Spring Boot in action
@xstorm9939
@xstorm9939 Год назад
java ee uchi
@vladimirkornev2668
@vladimirkornev2668 6 месяцев назад
Вроде бы и все рассказал и ничего не рассказал
@Das.Kleine.Krokodil
@Das.Kleine.Krokodil Год назад
Отлично
@java_coder
@java_coder Год назад
Фрагментация в памяти)
@kirya522-dev
@kirya522-dev Год назад
Бывает)
@MonrayRus
@MonrayRus Год назад
А это точно вопросы сеньору? Просто меня на двух собесах на джуна спрашивали почти про всю эту дроч
@MrKlive96
@MrKlive96 Год назад
Значит мог на сеньора сразу подавать :) Хотя дальше наверное сложнее будет
@kirya522-dev
@kirya522-dev Год назад
Я собесился на синьерский грейд и все это спрашивали так что)
@Das.Kleine.Krokodil
@Das.Kleine.Krokodil Год назад
дай им ссылку на это видео скажи чтобы не шалили
@eikolyakov
@eikolyakov Год назад
Ну а какая разница на сеньора или Джуна? Думаю, от Джуна просто не ожидают подробностей по всем темам. А так все равно спросят сначала основы: 1. Контракт equals hashcode 2. Коллекции, ООП 3. Исключения, многопоточка Эти вопросы почти 100% спрашивают, гдето больше, где о меньше, возможно, если вы сеньор ожидают, что вы просто будете сразу отстреливать подобные темы, от Джуна наверное допустимо, что он чего-то не знает, не помнит.
@kirya522-dev
@kirya522-dev Год назад
Да, именно так и есть, по темам попрыгали как фильтр и можно за всякое поговорить
@slavikshow
@slavikshow Год назад
Это огонь🔥🔥🔥🔥🔥
@kirya522-dev
@kirya522-dev Год назад
Ну стараюсь
@ShomaAbd1991
@ShomaAbd1991 Год назад
Спасибо.
@kirya522-dev
@kirya522-dev Год назад
Вам спасибо за просмотр
@KavboiHaggis
@KavboiHaggis Год назад
Такими видосами ты оказываешь медвежью услугу как соискателям так нанимателям. Люди не вникая в детали теперь могут заспидранить собесы, тупо заучив ответы и не понимая реально что и как работает. И от этого в итоге проиграют все. Я против таких видосов.
@kirya522-dev
@kirya522-dev Год назад
Я рассказываю в деталях, кому интересно погрузятся и изучат подробности
@KavboiHaggis
@KavboiHaggis Год назад
@@kirya522-dev херня в том кому интересно они и так все изучат, а кому нет у них цель найти решебник и .
@vb7038
@vb7038 10 дней назад
@@KavboiHaggis Какая разница между теорией в видеоформате и теорией в письменном формате?
@KavboiHaggis
@KavboiHaggis 10 дней назад
@@vb7038 тут смысл не в теории, а в том что сливаются вопросы, а люди тупо зубрят и не понимают сути. И у людей появляется ложное ощущение что они все знают и кааак устроится сейчас в айтишку, но всё не так то и просто на деле оказывается.
@demchuckdima
@demchuckdima Год назад
дякую в мене трохи інші правда були
@maximelmanov6719
@maximelmanov6719 Год назад
видео не для помидоров, скорее джунам
@kirya522-dev
@kirya522-dev Год назад
Ну я сказал же что части будет три)
@maximelmanov6719
@maximelmanov6719 Год назад
@@kirya522-dev я тебя не вынуждал использовать sinior в названии ролика. Ты так же мог Джуна вклеить
@kirya522-dev
@kirya522-dev Год назад
Видео про мой опыт) и это у меня тоже спрашивали, вопросы же как фильтр по нарастающей идут
@Nickilangelo
@Nickilangelo Год назад
@@maximelmanov6719 душный
@maximelmanov6719
@maximelmanov6719 Год назад
@@Nickilangelo согласен, есть такое. Но если автор поставит себя на мое место, то поймёт, что он по сути обманул зрителя. На утубе полно видосов с подобным контентом, но делаются они для джунов/джунов+ и названия у них соответственные
@СергейИванов-ы7ч5ы
Мапа с мапой - вас за синьора и близко не держали
@kirya522-dev
@kirya522-dev Год назад
Это интересный пример отмутировать ключ, вопрос про это
@itlife8792
@itlife8792 Год назад
Мы стажеров спрашиваем по ат по этим вопросам ))) кроме докера , бинов и потоков ) ну и еще вопросы по ат кидаем :) видимо мы перестарались слегка
@kirya522-dev
@kirya522-dev Год назад
Ну это первый выпуск и просто набор тем спросить то можно вглубь понимание)
Далее
Вопросы с senior java интервью [2/3]
26:21
5 советов на System Design Interview [SD]
17:10
Neo4j - Полный Курс
2:39:27
Просмотров 130
Java middle+ mock interview
58:52
Просмотров 3,4 тыс.