Тёмный

Собеседование Java Spring - Разбор вопросов с собеседований на Java Developer 

Mad Brains
Подписаться 11 тыс.
Просмотров 88 тыс.
50% 1

Собрали самые интересные вопросы с собеседований на Java-разработчика. В видео две части. В первой рассказываем про Java: Коллекции, Hash Code & Equals Contract, Functional interfaces, Stream API, Garbage collector, устройство памяти, heap, concurrency.
Во второй - про Spring: Spring Beans, Spring Data Repository, Аннотации, Programmatic TM, Spring MVC
Анонсы роликов, полезные статьи и ссылки - t.me/mads_team
Как разработать успешный ИТ-продукт - t.me/mad_digital
Комьюнити для Flutter-разработчиков - t.me/flutter_m...
Стать частью нашей команды - madbrains.ru/c...
Техно - это внутренний еженедельный митап Mad Brains, на котором мы делимся опытом, знакомимся с актуальными технологиями и темами в мобильной разработке и не только.

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

 

12 сен 2024

Поделиться:

Ссылка:

Скачать:

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

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 102   
@Das.Kleine.Krokodil
@Das.Kleine.Krokodil Год назад
Spring framework 28:00 Зачем нужен Spring 29:13 Компоненты Spring 31:26 скоупы бина: синглтон, прототайп 32:40 Цикл жизни бинов 35:18 Spring Data 39:39 Отличия компонентных аннотаций: @Component, @Service и т.д. 41:52 @Transactional 43:14 @Transactional Propagation 46:11 @Transactional проксирование 49:28 Транзакциями можно управлять и программно 50:18 Spring MVC 51:06 Отличия @Controller и @RestController 51:54 Spring Boot vs Spring 54:40 Совет по собеседованиям
@userresus
@userresus Месяц назад
Респект
@khatangatao
@khatangatao 4 месяца назад
Очень хорошее видео для подготовки к собеседованиям. Мне сейчас отлично помогло вспомнить множество моментов, которые я подзабыл
@maraeluf-brown9296
@maraeluf-brown9296 2 года назад
Огромное спасибо автору за такой большой объём полезной информации в таком, казалось бы, небольшом промежутке времени! Невероятно! Успехов вам в карьере)
@ivanstrelka3448
@ivanstrelka3448 10 месяцев назад
Огромное спасибо автору за такой большой объём полезной информации
@ИльяШапорто
@ИльяШапорто 2 года назад
ВООООООООООООот крутое видео, вот именно так надо отвечать, создается впечатление, что человек не зазубрил, а реально понимает о чем говорит
@ИльяШапорто
@ИльяШапорто 2 года назад
Потому что если ты будешь отвечать очень быстро и типа как из пулемета, то понятно что заучил. А так видно что человек говорит спокойно без спешки
@aww8609
@aww8609 2 года назад
А зачем создавать впечатление и тянуть время, если можно быстро и ясно сказать
@1986sunlight
@1986sunlight 2 года назад
@@aww8609 потому что мы живём в мире лицемерия и лжи, где главное не суть, а обёртка :)
@antNecrom
@antNecrom 2 года назад
В описании стрима пример с стримом, внутри которого по каждой записи обращаются в БД, а потом фильтруют по зарплате. Не делайте так в реальных проектах. Сделайте один запрос к БД со списком айди и сразу в запросе отберите по нужной зарплате
@alex0destroyer
@alex0destroyer Год назад
что бы не выбирать лишнее и сразу отсеять ненужное на этапе выборки из бд?
@antNecrom
@antNecrom Год назад
@@alex0destroyer да, просто такой запрос сделать чтобы сразу отобрать из БД только то что нужно. Вообще надо аккуратнее с обращением в бд из стрима, можно заспамить базу. Мы так однажды положили проект, потому что были вложенные стримы, и получилось около миллиарда запросов при открытии страницы 😅
@user-uc5nl9vr4o
@user-uc5nl9vr4o Месяц назад
Спасибо за видео! 0:32 неточность: class LinkedList implements не только List, но и Deque и public class LinkedHashMap идёт непосредственно extends HashMap
@linargal7842
@linargal7842 3 года назад
PermGen уже нет в памяти, есть Metaspace
@sheermoon2012
@sheermoon2012 Год назад
привет я работал програмистом уже, мне это видео помогло все вспомнить для собеседования
@vladpronin5033
@vladpronin5033 3 года назад
По-моему, автор допустил ошибку насчет многопоточки. Метод shutdown закрывает треды, которые выполнили свою таску. А submit как раз и вызывает метод Run, который оверрайдется через имплементации интерфейсов. Если не прав, поправьте, пожалуйста.
@MadBrains
@MadBrains 3 года назад
Да, вы правы, ошиблись, спасибо за конструктивное замечание! :) В при вызове submit() мы передаем задачу в очередь на исполнение (и она исполняется по мере освобождения работников), а после метода shutdown() начинается прерывание простаиваемых работников, и возможности подтвердить новую задачу уже нет. Также можно добавить, что без вызова shutdown() программа в примере не завершится до тех пор, пока не пройдет время, указанное в методе awaitTermination(). Но если мы выполним shutdown() и не вызовем awaitTermination(), то программа завершится сразу после выполнения всей работы. Если же метод awaitTermination() указан, а работа выполнилась раньше (и мы вызвали shutdown()), то программа так же успешно завершится по окончанию выполнения тасков.
@vladpronin5033
@vladpronin5033 3 года назад
Спасибо за детальное объяснение!
@avpmk
@avpmk Год назад
Но только не активных, а всех засабмиченных.
@user-jd4rl7im6d
@user-jd4rl7im6d Год назад
Тут сами почитаете, а это не спросят, а здесь ммммм.. ээээ.. ааааа И ошибок куча
@avpmk
@avpmk Год назад
27:10 Нет, задачи начинают исполняться сразу после вызова submit
@Yeuppi
@Yeuppi 3 года назад
Макар макаром а макароны по расписанию)))
@insurg
@insurg 2 года назад
возникло ощущение, что автор сам плавает в темах, которые разбирает. и если б кто-то задавал ему дополнительные вопросы, то он тут же посыпался бы
@andrey3311
@andrey3311 Месяц назад
Спасибо за вопросы для подготовки. К сожалению нужно искать ответы самостоятельно, так как в видео ощущается неуверенность автора в своих словах и достаточно поверхностные объяснения по некоторых из тем. А вопросы актуальны, за это спасибо
@user-cb9gk3oc5w
@user-cb9gk3oc5w 2 года назад
В принципе всё более-менее так. Но один вопрос упустил. ИСКЛЮЧЕНИЯ. Что это, зачем мы обрабатываем исключения, типы, иерархия, вопросы нехватки памяти на обработку и т.д. В целом... материал полезен, НО. С одним большим НО. Он полезен для тех, кто уже что-то смыслит во всех этих вопросах. Выучить вопросы по этому видео нереально. Если попадется вопрос, о котором ты не слышал (для меня это оказались прокси и Programmatic TM) то ничего не понятно от слова совсем. Но как вариант для прогонки перед собесом - вполне себе нормас. Как ориентир служит неплохо. Всем советую.
@1986sunlight
@1986sunlight 2 года назад
Сейчас прохожу собеседования, за последнюю неделю было четыре, и ни на одном из них про исключения не спрашивали. По поводу выучить вопросы по видео... Такие видео скорее для людей, которым нужно обратить внимание на темы, которые следует освежить перед подготовкой к интервью и держать в памяти "в особой готовности". Т.е. понимание этих тем как бы подразумевается.
@Silver-Parallaxis
@Silver-Parallaxis 2 года назад
@@1986sunlight как успехи на собеседованиях? взяли на работу?
@1986sunlight
@1986sunlight 2 года назад
@@Silver-Parallaxis нет, из 7 собеседований 0 офферов 🙂
@Silver-Parallaxis
@Silver-Parallaxis 2 года назад
@@1986sunlight, жаль(( но все будет норм)
@1986sunlight
@1986sunlight 2 года назад
@@Silver-Parallaxis да я особо не спешу )
@sergiytychkin
@sergiytychkin 2 года назад
Жаль, что не могу поставить несколько лайков. Коротко и по делу. Спасибо!
@romanzaripov3481
@romanzaripov3481 10 месяцев назад
Shutdown используется не для того, чтобы стартануть потоки, а чтобы их кильнуть по завершению.
@Qnoize
@Qnoize 2 года назад
какой порядок итерирования в ЛинкСете?) Вообще-то порядок добавления.
@iliapetrov1743
@iliapetrov1743 Год назад
Круто, отличный доклад!)
@user-rq1yp9ix8s
@user-rq1yp9ix8s 2 года назад
Качество записи оставляет желать лучшего)) но за видео спасибо)
@hatipov1986
@hatipov1986 3 года назад
Супер видео, очень познавательно
@nazarhlukhaniuk2686
@nazarhlukhaniuk2686 3 года назад
Много затупов от автора, такое чувство, что читает с листа бумаги, где написано от руки... и постоянно - таким макаром)
@MadBrains
@MadBrains 3 года назад
Спасибо за отзыв! Будем исправляться
@cathello2900
@cathello2900 2 года назад
"Мидл и выше" Мидлы и выше всем нужны!!!!!
@user-pt2lq1ik7i
@user-pt2lq1ik7i 3 месяца назад
11:08 HashMap не превратится в один большой связанный список, если количество элементов в корзине достигает определенного порога (обычно 8), то корзина преобразуется из списка в дерево
@i7bro
@i7bro 3 года назад
Супер, дал подписку
@xWarTeX
@xWarTeX Год назад
perm gen заменили давно уже на metaspace
@Vladimir-vd2im
@Vladimir-vd2im 2 года назад
Крутое видое! Все по делу.
@nataly2163
@nataly2163 Год назад
Речь про стримы и джава 8, а потом внезапно permgen и привет 7я?
@Poriks
@Poriks Год назад
По хешмапе еще, если хеши совпали, то перед эквалс сначала ключи на == проверяются, если на == ключи сопали, то смысла нет запускать прожорливый эквалс.
@MrRomanvideo
@MrRomanvideo 3 месяца назад
Открою секрет правильный икввлз как раз сначала проверяет по ==
@johnconstantine6331
@johnconstantine6331 2 года назад
Вектор это деприкейтед класс
@zakharka3938
@zakharka3938 Год назад
Зуб даете что деприкейтед?
@kulabuha
@kulabuha 2 года назад
Про то что бывает с вырожденным списком в хэшмапе не рассказал и про то как настроить размер мапы
@shadrunov
@shadrunov 7 месяцев назад
Я опытный, но стараюсь не говорить Не знаю. Наводящие вопросы обычно приводят к правильному ответу.
@caffeinejavacode1475
@caffeinejavacode1475 Год назад
2:42 серьезно оборачивает, может даже укутывает, нужно единственое сказать что есть статисеские масивы и динамичские и расказать в чес разница
@Edvard-Aliev
@Edvard-Aliev 3 года назад
С Чего это ArrayList медленнее ?
@MadBrains
@MadBrains 3 года назад
Это, скорее, синтетический вопрос, который могут задать на собеседованиях для выяснения понимания работы коллекции ArrayList под капотом. Так как ArrayList является классом, внутри экземпляра которого хранится обыкновенный массив Object[], то доступ к коллекции через метод get() добавляет в стек вызовов еще несколько методов, прежде чем получится объект по индексу из внутреннего массива, что ТЕОРЕТИЧЕСКИ накладывает доп расходы на процессорное время. + Обычные массивы, хранящие примитивные типы, хранят значения в памяти последовательно, в то время как ArrayList оперирует только со ссылками на объекты (включая обертки над примитивами).
@shum1635
@shum1635 2 года назад
спасибо за видео
@LobanovSpace
@LobanovSpace 2 года назад
Оч сумбурно
@TonySup
@TonySup Год назад
HashSet нужно итерироваться?
@AndreiVvedenskii
@AndreiVvedenskii 2 года назад
Мы на проекте заменили cms на g1. У нас много маленьких короткоживущих объектов.
@TonySup
@TonySup Год назад
В HashSet нужно итерироваться??
@svetlanafedorova654
@svetlanafedorova654 2 года назад
C java8 Perm Gen заменен на Metaspace, если я не ошибаюсь
@sergeistarodubov2534
@sergeistarodubov2534 Год назад
не ошибаешься)
@unjnown333
@unjnown333 2 месяца назад
Пишите сценарий. Слушать невозможно
@MRoose
@MRoose 2 года назад
Спасибо
@ЕвгенийИльин-ф4м
@ЕвгенийИльин-ф4м 2 года назад
Вы не понимаете, как устроен hashmap, то что вы рассказываете - неправильно.
@avpmk
@avpmk Год назад
Для 7 джавы всё верно. В чём он ошибся?
@avpmk
@avpmk Год назад
20:31 MetaSpace с 8 джавы
@Pan-ux3bq
@Pan-ux3bq Год назад
12:36 функциональные интерфейсы появились в жаве относительно недавно ) народ массово переходит на java 17 в проде. А для кого-то java 8 это "недавно"
@ODuoBatteries
@ODuoBatteries 8 месяцев назад
А что не на 21? Отстаете однако. Java существует очень-очень давно. Еще до твоего рождения. и прикинь с 8 по 21 версию весь этот гиперпрыжок произошел за последние 8-10 лет. Каждый год новая версия. Пока пишется один проект (а для ентерпрайз это 5 лет легко), выходит с десяток версий java.
@eugenstadnik1923
@eugenstadnik1923 11 месяцев назад
Квалификация разработчика НЕ определяется на техническом собеседовании. Когда я бьіл мидлом у меня в менторинге бьіл один конь, которьій бьіл синиором. Уже стремно, не правда ли? Он без смазки на полированном легке прошел собеседование (если что - собеседование проводил не я) лишь только потому что преподавал всю єту премудрость в какой-то платной школе it-альянских технологий. Даже после окончания испьітательного срока он не смог толком закрьіть ни одну таску без посторонней помощи. И ушел (ок его поросили уйти, кароч его ушли) с проекта через месяц после окончания испьітательного срока. Если что - єто не мой гєп: другие миддл и джун чуваки после того как я вводил их в курс дела прикладной области без проблем решали проектньіе задачи на 3-й месяц работьі в тиме. После того как заказчик решил вьіпендрится и устроил рамп-даун - вся тима разбежалась, разбежался и я. Я подсмотрел вопросьі на собеседование для синиоров в сети и прошел собеседование в другую компанию на синиора лишь только потому, что знал ответьі на те вопросьі. Я уже четвертьій год работаю синиором в єтой компании, хотя по сути им не являюсь.
@iamdozerq
@iamdozerq 9 месяцев назад
Прошел собес + выполняешь таски = похеру всем кем ты себя считаешь, а кем нет. Маржа с тебя просто космическая. Я в своей конторе знаю сколько стоят мои рабочие часы - я будучи никем с зп 60к заработал конторе порядка ляма чистыми, с учетом моей зп и налогов за примерно полгода. Мое обучение и все прочее окупилось за 2 года работы 10+ раз. Не знаю какие затраты на все остальное у них, но как минимум 2 раза моя зп точно окупается, даже когда моя зп уже не 60к совсем. В этой области из воздуха берется польза. Даже если тебе переплачивают на 30-40% это не мешает им окупать тебя 2-3-5 раз, в зависимости от прикладной области.
@precisionist8568
@precisionist8568 2 года назад
java 8 release 2014! Да функциональные интерфейсы относительно недавно:)
@user-ur7bn1kd1p
@user-ur7bn1kd1p 9 месяцев назад
Качество звуковой дорожки ниже всякой критики
@avpmk
@avpmk Год назад
2:26 Что-то сильно сомневаюсь что будет вообще какая-то разница. А если и будет, то на какие-нибудь тысячные доли процента и то будет пропадать когда jit заинлайнит вызовы методов ArrayList'а. Крч надо мерить. Чаще разницу можно будет увидеть на массивах с примитивами и и коллекциях, там да, там боксинг. Но опять-таки возможно jit на столько умён, чтобы выбросить массив объектов и заменить него примитивным.
@avpmk
@avpmk Год назад
А вообще переходите на скалу)) Там можно инстанцировать массив generic типа и если наша самопальная коллекция будет специфицирована Int'ом, то мы получим прям реально jvm'ный int[]. Но вообще, конечно, этим на скале никто не занимается.
@TheJabberwahh
@TheJabberwahh 3 года назад
Макар макаров
@tubenoidi
@tubenoidi 2 года назад
очень раздражает мычание "ааа", "мммм"
@alexbivz
@alexbivz 2 года назад
аэаэа эааэаа ааааэаэаэ
@n1k1ta73
@n1k1ta73 9 месяцев назад
Довольно слабо. Не хватает глубины изложения материала. Автор либо владеет материалом не достаточно глубоко, либо просто не подготовился хорошо для записи данного видео.
@Gorkiy751
@Gorkiy751 2 года назад
Каждый раз когда кто-то пытается мне на ютубе рассказать с умным видом, то что уже было разжевано до него "эээкая и ааакая через слово" В мире грустит один грамма-котэ. >.
@aks964
@aks964 2 года назад
Я извиняюсь. Но формирование высказываний настолько кривое и не полное, что смысла в ролике нет.
@user-rk3ic3qz3h
@user-rk3ic3qz3h Год назад
Все равно польза есть. Можно использовать как план вопросов. Где пробелы, заполнять из других источников. Рассчитывать на такие видео, как полноценный источник информации не стоит. Это же не лекция, а в первую очередь пример вопросов и потом уже пример ответов.
@user-qo9kh2iq5p
@user-qo9kh2iq5p Год назад
Материал полезный, но как же ты заколебал мычать, чвяркать и кряхтеть. Прописывай сценарий себе заранее, чтобы каждые 5 секунд не слушать "ааа" "ммм"
@katerinak5997
@katerinak5997 3 года назад
А почему о паттернах то не поговорили
@MadBrains
@MadBrains 3 года назад
Не совсем к Java относится, можно отдельно обговаривать касательно всех языков. Возьмем на заметку в будущих видео
@user-pb3xr4ri2c
@user-pb3xr4ri2c 3 дня назад
Невозможно слушать, из за аааа ээээ мммм ааааа, очень грязная речь, нужно над этим работать
Далее
iPhone 16 для НИЩЕБРОДОВ!
00:51
Просмотров 2,1 млн
Аушев, Путин, «пощечина»
00:56
Просмотров 803 тыс.
Евгений Борисов - Spring Patterns
56:38
Просмотров 132 тыс.
Про Kafka (основы)
49:23
Просмотров 393 тыс.
iPhone 16 для НИЩЕБРОДОВ!
00:51
Просмотров 2,1 млн