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

  Рет қаралды 81,999

Mad Brains

Mad Brains

2 жыл бұрын

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

Пікірлер: 100
@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 Совет по собеседованиям
@khatangatao
@khatangatao 24 күн бұрын
Очень хорошее видео для подготовки к собеседованиям. Мне сейчас отлично помогло вспомнить множество моментов, которые я подзабыл
@ivanstrelka3448
@ivanstrelka3448 7 ай бұрын
Огромное спасибо автору за такой большой объём полезной информации
@maraeluf-brown9296
@maraeluf-brown9296 2 жыл бұрын
Огромное спасибо автору за такой большой объём полезной информации в таком, казалось бы, небольшом промежутке времени! Невероятно! Успехов вам в карьере)
@iliapetrov1743
@iliapetrov1743 Жыл бұрын
Круто, отличный доклад!)
@sergiytychkin
@sergiytychkin Жыл бұрын
Жаль, что не могу поставить несколько лайков. Коротко и по делу. Спасибо!
@sheermoon2012
@sheermoon2012 11 ай бұрын
привет я работал програмистом уже, мне это видео помогло все вспомнить для собеседования
@hatipov1986
@hatipov1986 2 жыл бұрын
Супер видео, очень познавательно
@antNecrom
@antNecrom 2 жыл бұрын
В описании стрима пример с стримом, внутри которого по каждой записи обращаются в БД, а потом фильтруют по зарплате. Не делайте так в реальных проектах. Сделайте один запрос к БД со списком айди и сразу в запросе отберите по нужной зарплате
@alex0destroyer
@alex0destroyer 11 ай бұрын
что бы не выбирать лишнее и сразу отсеять ненужное на этапе выборки из бд?
@antNecrom
@antNecrom 11 ай бұрын
@@alex0destroyer да, просто такой запрос сделать чтобы сразу отобрать из БД только то что нужно. Вообще надо аккуратнее с обращением в бд из стрима, можно заспамить базу. Мы так однажды положили проект, потому что были вложенные стримы, и получилось около миллиарда запросов при открытии страницы 😅
@Vladimir-vd2im
@Vladimir-vd2im Жыл бұрын
Крутое видое! Все по делу.
@user-fj7on8le9g
@user-fj7on8le9g 2 жыл бұрын
ВООООООООООООот крутое видео, вот именно так надо отвечать, создается впечатление, что человек не зазубрил, а реально понимает о чем говорит
@user-fj7on8le9g
@user-fj7on8le9g 2 жыл бұрын
Потому что если ты будешь отвечать очень быстро и типа как из пулемета, то понятно что заучил. А так видно что человек говорит спокойно без спешки
@aww8609
@aww8609 2 жыл бұрын
А зачем создавать впечатление и тянуть время, если можно быстро и ясно сказать
@1986sunlight
@1986sunlight Жыл бұрын
@@aww8609 потому что мы живём в мире лицемерия и лжи, где главное не суть, а обёртка :)
@i7bro
@i7bro 2 жыл бұрын
Супер, дал подписку
@shum1635
@shum1635 2 жыл бұрын
спасибо за видео
@linargal7842
@linargal7842 2 жыл бұрын
PermGen уже нет в памяти, есть Metaspace
@AndreiVvedenskii
@AndreiVvedenskii 2 жыл бұрын
Мы на проекте заменили cms на g1. У нас много маленьких короткоживущих объектов.
@avpmk
@avpmk Жыл бұрын
27:10 Нет, задачи начинают исполняться сразу после вызова submit
@PitPRG
@PitPRG 2 жыл бұрын
на 11:16 комментарий. ХэшМап не превратится в связанный список, когда в корзине будет 8 элементов, список в корзине преобразуется в дерево. А все деревья в джаве (собственно дерево там одно, а TreeMap обертка над этим деревом), так вот, все деревья в джаве самобалансирующиеся (то есть черно-красные)
@Eeeeeeeegor
@Eeeeeeeegor 2 жыл бұрын
Зависит от версии java. До 8 там действительно был список
@alexandr6055
@alexandr6055 7 ай бұрын
Вы оба не правы. Она превратится в красно чёрное дерево, только при заполненных 8 бакетах, это ты сказал, но при этом количество корзин должно быть 32! Если их 16 и заднего в одной 8 нод, то кч дерево не появится
@Qnoize
@Qnoize 2 жыл бұрын
какой порядок итерирования в ЛинкСете?) Вообще-то порядок добавления.
@insurg
@insurg Жыл бұрын
возникло ощущение, что автор сам плавает в темах, которые разбирает. и если б кто-то задавал ему дополнительные вопросы, то он тут же посыпался бы
@cathello2900
@cathello2900 2 жыл бұрын
"Мидл и выше" Мидлы и выше всем нужны!!!!!
@MRoose
@MRoose Жыл бұрын
Спасибо
@romanzaripov3481
@romanzaripov3481 7 ай бұрын
Shutdown используется не для того, чтобы стартануть потоки, а чтобы их кильнуть по завершению.
@kulabuha
@kulabuha 2 жыл бұрын
Про то что бывает с вырожденным списком в хэшмапе не рассказал и про то как настроить размер мапы
@user-jd4rl7im6d
@user-jd4rl7im6d Жыл бұрын
Тут сами почитаете, а это не спросят, а здесь ммммм.. ээээ.. ааааа И ошибок куча
@java_couch
@java_couch 2 жыл бұрын
автор ,промежуточные стрим операции не модифицируют стрим, а возвращают новый - это очень важный аспект
@TonySup
@TonySup 9 ай бұрын
HashSet нужно итерироваться?
@vladpronin5033
@vladpronin5033 2 жыл бұрын
По-моему, автор допустил ошибку насчет многопоточки. Метод shutdown закрывает треды, которые выполнили свою таску. А submit как раз и вызывает метод Run, который оверрайдется через имплементации интерфейсов. Если не прав, поправьте, пожалуйста.
@MadBrains
@MadBrains 2 жыл бұрын
Да, вы правы, ошиблись, спасибо за конструктивное замечание! :) В при вызове submit() мы передаем задачу в очередь на исполнение (и она исполняется по мере освобождения работников), а после метода shutdown() начинается прерывание простаиваемых работников, и возможности подтвердить новую задачу уже нет. Также можно добавить, что без вызова shutdown() программа в примере не завершится до тех пор, пока не пройдет время, указанное в методе awaitTermination(). Но если мы выполним shutdown() и не вызовем awaitTermination(), то программа завершится сразу после выполнения всей работы. Если же метод awaitTermination() указан, а работа выполнилась раньше (и мы вызвали shutdown()), то программа так же успешно завершится по окончанию выполнения тасков.
@vladpronin5033
@vladpronin5033 2 жыл бұрын
Спасибо за детальное объяснение!
@avpmk
@avpmk Жыл бұрын
Но только не активных, а всех засабмиченных.
@shadrunov
@shadrunov 3 ай бұрын
Я опытный, но стараюсь не говорить Не знаю. Наводящие вопросы обычно приводят к правильному ответу.
@Yeuppi
@Yeuppi 2 жыл бұрын
Макар макаром а макароны по расписанию)))
@LobanovSpace
@LobanovSpace Жыл бұрын
Оч сумбурно
@precisionist8568
@precisionist8568 2 жыл бұрын
java 8 release 2014! Да функциональные интерфейсы относительно недавно:)
@user-rq1yp9ix8s
@user-rq1yp9ix8s 2 жыл бұрын
Качество записи оставляет желать лучшего)) но за видео спасибо)
@TonySup
@TonySup 9 ай бұрын
В HashSet нужно итерироваться??
@user-cb9gk3oc5w
@user-cb9gk3oc5w 2 жыл бұрын
В принципе всё более-менее так. Но один вопрос упустил. ИСКЛЮЧЕНИЯ. Что это, зачем мы обрабатываем исключения, типы, иерархия, вопросы нехватки памяти на обработку и т.д. В целом... материал полезен, НО. С одним большим НО. Он полезен для тех, кто уже что-то смыслит во всех этих вопросах. Выучить вопросы по этому видео нереально. Если попадется вопрос, о котором ты не слышал (для меня это оказались прокси и Programmatic TM) то ничего не понятно от слова совсем. Но как вариант для прогонки перед собесом - вполне себе нормас. Как ориентир служит неплохо. Всем советую.
@1986sunlight
@1986sunlight Жыл бұрын
Сейчас прохожу собеседования, за последнюю неделю было четыре, и ни на одном из них про исключения не спрашивали. По поводу выучить вопросы по видео... Такие видео скорее для людей, которым нужно обратить внимание на темы, которые следует освежить перед подготовкой к интервью и держать в памяти "в особой готовности". Т.е. понимание этих тем как бы подразумевается.
@Silver-Parallaxis
@Silver-Parallaxis Жыл бұрын
@@1986sunlight как успехи на собеседованиях? взяли на работу?
@1986sunlight
@1986sunlight Жыл бұрын
@@Silver-Parallaxis нет, из 7 собеседований 0 офферов 🙂
@Silver-Parallaxis
@Silver-Parallaxis Жыл бұрын
@@1986sunlight, жаль(( но все будет норм)
@1986sunlight
@1986sunlight Жыл бұрын
@@Silver-Parallaxis да я особо не спешу )
@caffeinejavacode1475
@caffeinejavacode1475 11 ай бұрын
2:42 серьезно оборачивает, может даже укутывает, нужно единственое сказать что есть статисеские масивы и динамичские и расказать в чес разница
@Poriks
@Poriks 9 ай бұрын
По хешмапе еще, если хеши совпали, то перед эквалс сначала ключи на == проверяются, если на == ключи сопали, то смысла нет запускать прожорливый эквалс.
@MrRomanvideo
@MrRomanvideo Күн бұрын
Открою секрет правильный икввлз как раз сначала проверяет по ==
@svetlanafedorova654
@svetlanafedorova654 2 жыл бұрын
C java8 Perm Gen заменен на Metaspace, если я не ошибаюсь
@sergeistarodubov2534
@sergeistarodubov2534 Жыл бұрын
не ошибаешься)
@nataly2163
@nataly2163 10 ай бұрын
Речь про стримы и джава 8, а потом внезапно permgen и привет 7я?
@johnconstantine6331
@johnconstantine6331 Жыл бұрын
Вектор это деприкейтед класс
@zakharka3938
@zakharka3938 Жыл бұрын
Зуб даете что деприкейтед?
@xWarTeX
@xWarTeX Жыл бұрын
perm gen заменили давно уже на metaspace
@avpmk
@avpmk Жыл бұрын
20:31 MetaSpace с 8 джавы
@nazarhlukhaniuk2686
@nazarhlukhaniuk2686 2 жыл бұрын
Много затупов от автора, такое чувство, что читает с листа бумаги, где написано от руки... и постоянно - таким макаром)
@MadBrains
@MadBrains 2 жыл бұрын
Спасибо за отзыв! Будем исправляться
@Edvard-Aliev
@Edvard-Aliev 2 жыл бұрын
С Чего это ArrayList медленнее ?
@MadBrains
@MadBrains 2 жыл бұрын
Это, скорее, синтетический вопрос, который могут задать на собеседованиях для выяснения понимания работы коллекции ArrayList под капотом. Так как ArrayList является классом, внутри экземпляра которого хранится обыкновенный массив Object[], то доступ к коллекции через метод get() добавляет в стек вызовов еще несколько методов, прежде чем получится объект по индексу из внутреннего массива, что ТЕОРЕТИЧЕСКИ накладывает доп расходы на процессорное время. + Обычные массивы, хранящие примитивные типы, хранят значения в памяти последовательно, в то время как ArrayList оперирует только со ссылками на объекты (включая обертки над примитивами).
@user-ur7bn1kd1p
@user-ur7bn1kd1p 5 ай бұрын
Качество звуковой дорожки ниже всякой критики
@Pan-ux3bq
@Pan-ux3bq Жыл бұрын
12:36 функциональные интерфейсы появились в жаве относительно недавно ) народ массово переходит на java 17 в проде. А для кого-то java 8 это "недавно"
@ODuoBatteries
@ODuoBatteries 4 ай бұрын
А что не на 21? Отстаете однако. Java существует очень-очень давно. Еще до твоего рождения. и прикинь с 8 по 21 версию весь этот гиперпрыжок произошел за последние 8-10 лет. Каждый год новая версия. Пока пишется один проект (а для ентерпрайз это 5 лет легко), выходит с десяток версий java.
@avpmk
@avpmk Жыл бұрын
2:26 Что-то сильно сомневаюсь что будет вообще какая-то разница. А если и будет, то на какие-нибудь тысячные доли процента и то будет пропадать когда jit заинлайнит вызовы методов ArrayList'а. Крч надо мерить. Чаще разницу можно будет увидеть на массивах с примитивами и и коллекциях, там да, там боксинг. Но опять-таки возможно jit на столько умён, чтобы выбросить массив объектов и заменить него примитивным.
@avpmk
@avpmk Жыл бұрын
А вообще переходите на скалу)) Там можно инстанцировать массив generic типа и если наша самопальная коллекция будет специфицирована Int'ом, то мы получим прям реально jvm'ный int[]. Но вообще, конечно, этим на скале никто не занимается.
@TheJabberwahh
@TheJabberwahh 2 жыл бұрын
Макар макаров
@Gorkiy751
@Gorkiy751 2 жыл бұрын
Каждый раз когда кто-то пытается мне на ютубе рассказать с умным видом, то что уже было разжевано до него "эээкая и ааакая через слово" В мире грустит один грамма-котэ. >.
@eugenstadnik1923
@eugenstadnik1923 7 ай бұрын
Квалификация разработчика НЕ определяется на техническом собеседовании. Когда я бьіл мидлом у меня в менторинге бьіл один конь, которьій бьіл синиором. Уже стремно, не правда ли? Он без смазки на полированном легке прошел собеседование (если что - собеседование проводил не я) лишь только потому что преподавал всю єту премудрость в какой-то платной школе it-альянских технологий. Даже после окончания испьітательного срока он не смог толком закрьіть ни одну таску без посторонней помощи. И ушел (ок его поросили уйти, кароч его ушли) с проекта через месяц после окончания испьітательного срока. Если что - єто не мой гєп: другие миддл и джун чуваки после того как я вводил их в курс дела прикладной области без проблем решали проектньіе задачи на 3-й месяц работьі в тиме. После того как заказчик решил вьіпендрится и устроил рамп-даун - вся тима разбежалась, разбежался и я. Я подсмотрел вопросьі на собеседование для синиоров в сети и прошел собеседование в другую компанию на синиора лишь только потому, что знал ответьі на те вопросьі. Я уже четвертьій год работаю синиором в єтой компании, хотя по сути им не являюсь.
@iamdozerq
@iamdozerq 6 ай бұрын
Прошел собес + выполняешь таски = похеру всем кем ты себя считаешь, а кем нет. Маржа с тебя просто космическая. Я в своей конторе знаю сколько стоят мои рабочие часы - я будучи никем с зп 60к заработал конторе порядка ляма чистыми, с учетом моей зп и налогов за примерно полгода. Мое обучение и все прочее окупилось за 2 года работы 10+ раз. Не знаю какие затраты на все остальное у них, но как минимум 2 раза моя зп точно окупается, даже когда моя зп уже не 60к совсем. В этой области из воздуха берется польза. Даже если тебе переплачивают на 30-40% это не мешает им окупать тебя 2-3-5 раз, в зависимости от прикладной области.
@alexbivz
@alexbivz 2 жыл бұрын
аэаэа эааэаа ааааэаэаэ
@katerinak5997
@katerinak5997 2 жыл бұрын
А почему о паттернах то не поговорили
@MadBrains
@MadBrains 2 жыл бұрын
Не совсем к Java относится, можно отдельно обговаривать касательно всех языков. Возьмем на заметку в будущих видео
@user-zi7ge2uf6q
@user-zi7ge2uf6q Жыл бұрын
Вы не понимаете, как устроен hashmap, то что вы рассказываете - неправильно.
@avpmk
@avpmk Жыл бұрын
Для 7 джавы всё верно. В чём он ошибся?
@tubenoidi
@tubenoidi 2 жыл бұрын
очень раздражает мычание "ааа", "мммм"
@n1k1ta73
@n1k1ta73 5 ай бұрын
Довольно слабо. Не хватает глубины изложения материала. Автор либо владеет материалом не достаточно глубоко, либо просто не подготовился хорошо для записи данного видео.
@user-qo9kh2iq5p
@user-qo9kh2iq5p Жыл бұрын
Материал полезный, но как же ты заколебал мычать, чвяркать и кряхтеть. Прописывай сценарий себе заранее, чтобы каждые 5 секунд не слушать "ааа" "ммм"
@aks964
@aks964 2 жыл бұрын
Я извиняюсь. Но формирование высказываний настолько кривое и не полное, что смысла в ролике нет.
@user-rk3ic3qz3h
@user-rk3ic3qz3h Жыл бұрын
Все равно польза есть. Можно использовать как план вопросов. Где пробелы, заполнять из других источников. Рассчитывать на такие видео, как полноценный источник информации не стоит. Это же не лекция, а в первую очередь пример вопросов и потом уже пример ответов.
Omega Boy Past 3 #funny #viral #comedy
00:22
CRAZY GREAPA
Рет қаралды 15 МЛН
it takes two to tango 💃🏻🕺🏻
00:18
Zach King
Рет қаралды 26 МЛН
La final estuvo difícil
00:34
Juan De Dios Pantoja
Рет қаралды 26 МЛН
DispatchQueue Interview Question | Swift Coding Problem | Most Confusing Problem
5:10
Евгений Борисов - Spring Patterns
56:38
TechTrain
Рет қаралды 126 М.
Что такое Hibernate для Java-разработчика?
14:39
Sergey Nemchinskiy
Рет қаралды 11 М.
Собеседование на позицию Java Dev
1:51:55
HeadBridge
Рет қаралды 2,7 М.
Omega Boy Past 3 #funny #viral #comedy
00:22
CRAZY GREAPA
Рет қаралды 15 МЛН