Тёмный

Разбор реального собеседования | Java Middle | Микросервисы | Базы данных | Spring | Docker Jetbulb 

Jetbulb
Подписаться 21 тыс.
Просмотров 22 тыс.
50% 1

Техническое собеседование на позицию Middle Java Developer.
Иногда приходится проводить или проходить собеседование без каких-либо конкретных требований к кандидату и сведений о проекте. В таком случае выдвигается общий список требований, без учета специфики проекта или команды. Одними из таких требования являются технологии которые необходимо знать: Java, Spring, PostgreSQL, Docker, Gradle.
Такой подход вовсе не означает, что компания плохая, подозрительная или же не знает, что делать с потенциальным кандидатом. Компания просто хочет найти потенциального сотрудника и усадить его за проект, что будет актуален в момент onboarding.
Вот и у нас точна такая ситуация. Компания ищет сотрудника уровнем Middle Java Developer. Нам предстоит задать вопросы, получить на них ответы и разобраться какой шеврон можно присудить кандидату.
Погнали!
Программа
00:00 Описание компании и позиции
02:08 Нововведения последних версий Java
05:50 Java Memory Model, Heap, Stack, Object
08:00 Class Object
14:20 Коллекции, Collections Framework, Fail-fast, Concurrency
18:10 Многопоточность, Happened-before, коллекции, синхронизация
22:12 Spring Boot, стартеры, Spring BOM, валидация данных, Spring Web
30:38 Микросервисы, Docker, Monitoring, Observability
39:40 Выводы
Получи реальный опыт решения коммерческих задач в Agile команде
до 6 человек iprody.com/
Запись на обучение и собеседование:
iprody.com/interview
t.me/iPrody_Online
Мы в социальных сетях:
t.me/jetbulb
/ jetbulb

Развлечения

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

 

12 июн 2024

Поделиться:

Ссылка:

Скачать:

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

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 97   
@faniskhalikov9736
@faniskhalikov9736 3 месяца назад
Отличный формат! Очень ёмко и без воды. Спасибо!
@baxiskerimzade2690
@baxiskerimzade2690 4 месяца назад
Спасибо,хочется больше материала для мидлов,как и куда )
@user-gk3ep5mq9r
@user-gk3ep5mq9r 4 месяца назад
Сегодня смотрел что нового в 21. Улучшили свитч, добавили виртуальные потоки. Ещё что-то по мелочам
@twobeerornottwobeer5973
@twobeerornottwobeer5973 4 месяца назад
У нас на работе самая последняя java, вот только пишем мы не на спринг
@Implodeside
@Implodeside 4 месяца назад
Топ контент, действительно алмаз среди бисера скамеров аля, как войти в айти за 2 секунды.
@donlinoleum831
@donlinoleum831 4 месяца назад
Крутейший контент! Все по делу и интересно смотреть)
@walcermelodia
@walcermelodia 4 месяца назад
Как всегда огонь! Продолжай в том же духе)))
@user-uq9jp1wk4f
@user-uq9jp1wk4f 4 месяца назад
Классные объяснения!Спасибо!
@kolabaka6851
@kolabaka6851 4 месяца назад
Спасибо, хоть понятно мало новичку, но ваши видео невероятно полезны
@SinDat
@SinDat Месяц назад
ничего не понял, но очень интересно?)
@user-fy8vj7el5q
@user-fy8vj7el5q 2 месяца назад
Ох супер, прямо перед интервью посмотрел видос и половина этих вопросов была
@user-sm9ck7wc8c
@user-sm9ck7wc8c 4 месяца назад
благодаря Escape Analysis и скаляризации из Java 6, объекты, которые являются исключительно локальными и не возвращаются за пределы выполняемого метода, сохраняются в стеке
@zakharka3938
@zakharka3938 4 месяца назад
Скаляризация это оптимизация JIT-компилятора, которая позволяет в принципе не создавать объект при соблюдении определенных условий. А раз объект (как единое целое) не создается, то и хранить его не надо ни в стеке, ни в куче. Таким образом это работает только при соблюдении определенных условий и только при JIT-компиляции, которая запускается не для каждого метода.
@user-007-1
@user-007-1 4 месяца назад
Вроде бы не сложное собеседование, а где искать такие вакансии?
@alias_5800
@alias_5800 4 месяца назад
Про нововведения: стоит сказать про виртуальные потоки и pattern matching в свитче. Думаю, достаточно
@noki1614
@noki1614 10 дней назад
видос имба
@mastermaster293
@mastermaster293 2 месяца назад
О, яке круте відео! Можно ще таких побільше
@user-oi9yf8ve3i
@user-oi9yf8ve3i 3 месяца назад
Собеседование на мидла, выглядит как мое, когда меня на Джуна брали 😀
@user-lz2ob9vf7v
@user-lz2ob9vf7v 4 месяца назад
Макс, что думаешь на счёт faang-like подхода к собесам, когда есть тех скрин + панелька (алго + сис диз)? Последнее время прихожу к выводу, что такой подход более прагматичный, да и мир не крутится одной Java, можно и с чем-то другим поработать
@Jetbulb
@Jetbulb 4 месяца назад
Это классный подход, когда компания действительно ведет серьезную разработку продуктов, которые обслуживают в буквальном смысле слова весь мир. Например, аэронавтика, космонавтика, медицина, энергия, навигация и так далее. Поскольку решение таких задач ставят перед разработчиков требования выходящие за пределы кода. Тогда продукты будут качественными и главное безопасными. В остальных случаях, это избыточность, бахвальство и пустая трата средств компании на поиски крутых ребят для разработки одностраничников и простых CRUD
@user-lz2ob9vf7v
@user-lz2ob9vf7v 3 месяца назад
Крутой ответ, спасибо. Да, и правда, зависит от компании и её нужд
@user-gl1kd2ds4g
@user-gl1kd2ds4g 2 месяца назад
Где то читал про менеджера в FAANG, который говорил что они специально придумывают такие сложные интервью, чтобы сотрудники были привязаны к их конторе. FAANG не предоставляют лучших зарплатных/рабочих условий, так что давят "элитарностью" и привязанностью сотрудников через сложный процесс приема
@user-tk7nh1jw3y
@user-tk7nh1jw3y 2 месяца назад
​@@user-gl1kd2ds4g Наверное ещё играет роль то что в FAANG шанс попасть на интересный/сложный проект значительно выше чем в большинстве других контор. Всё-таки не все программисты хотят всю жизнь катать спринговые бины между фронтендом и базой данных хоть и за бОльшие деньги. К тому же строчка в резюме что ты успешно проработал в FAANG продолжительное время очень благотворно влияет при смене работодателя.
@user-mz9oz1oc3l
@user-mz9oz1oc3l 4 месяца назад
Максим, спасибо большое. Интревью на мидла меньше всего в интернете: на джуна дофига, на синьера тоже есть а мидл ну извините))
@artemivanchikov
@artemivanchikov 3 месяца назад
Как все это запомнить и держать в голове есть совет? Вроде несколько раз прочитал, разобрался, прошло время и уже не можешь ответить на этот вопрос. Несколько раз начинал учить с 0 потому что понимаю что знания базы очень - не очень.
@Jetbulb
@Jetbulb 3 месяца назад
Надо применять. Просто читать и\или учить не имеет смысла. Практика лучшая память, поскольку она заставляет нас претерпевать боль и думать, как ее избегать
@vitamin2845
@vitamin2845 4 месяца назад
Привет, Макс. Реально ли устроится куда-то зарубеж без дрочева на алгоритмы, а собеседоваться на то, что реально используется в проекте?
@Jetbulb
@Jetbulb 4 месяца назад
Привет! Конечно реально. Я тому живое подтверждение. Собеседование в компанию при релокации, именно таким и было. Вопросы были по сути проекта
@user-bt9hx3ik6e
@user-bt9hx3ik6e 4 месяца назад
спасибо большое за видео, как всегда лаконично и подробно. можно ли какой-то познавательный видос по вебсокетам(спринговым и не спринговым) и grpc? интересно было бы узнать, с какими технологияим лучше работать в случае с вебсокетами
@Jetbulb
@Jetbulb 3 месяца назад
Спасибо за идею и то, что смотришь нас. Обязательно рассмотрим и что-то придумаем.
@viktor.florinskiy
@viktor.florinskiy 21 день назад
спасибо за видео. Есть вопрос, а зачем вообще нужен класс object? зачем нам нужен дефолтный потомок у всех классов? какая проблема была что решили его создать?
@Jetbulb
@Jetbulb 17 дней назад
Абстракция
@user-jp5cs1mj7k
@user-jp5cs1mj7k 6 дней назад
Максим не думали сделать видео прохождения реального собеседования вами в какой то англояз компании? Я думаю будет полезно многим в текущих реалиях.
@Jetbulb
@Jetbulb 5 дней назад
Речь идет о живой записи? Если да, то это скорее всего невозможно из-за ограничений GDPR. Разве что, снимать только себя и свой голос.
@user-jp5cs1mj7k
@user-jp5cs1mj7k 3 дня назад
@@Jetbulb Так я це і мав на увазі, а що навіть голос інтервювера не можна буде записати?(Якщо він дасть дозвіл) Був би дуже корисний контент.
@alexandr6055
@alexandr6055 3 месяца назад
Ты немного затронул реактивщину. Как считаешь, есть ли смысл начинать изучать её, если в джава 21 проект лум по сути ставит целью отказаться от реактивного программирования с помощью легковесных вирт. потоков?
@Jetbulb
@Jetbulb 3 месяца назад
Пока Virtual Thread не отполировали, я бы не списывал реактивщину. Однако, есть у меня соображения что Project Loom все-таки может ее нагнуть. Но как и любой технарь скажу, что надо все смотреть в сравнении. Очень рекомендую почитать приложенную статья. Там четко показывается, что Project Loom не панацея и реактивщине есть место. Но также, что всему есть свое место и применение. dzone.com/articles/demystifying-virtual-thread-performance-unveiling
@cucu2212
@cucu2212 2 месяца назад
на каком сайте такие обявления искать?
@JohnJohn31595
@JohnJohn31595 2 месяца назад
thank you!
@igormyatlyuk503
@igormyatlyuk503 4 месяца назад
Макс, классные и стильные очёзы ;D где такие приобрести?
@Jetbulb
@Jetbulb 4 месяца назад
Приезжай в Прагу, тут не проблема найти)
@vasylmoshun8241
@vasylmoshun8241 3 месяца назад
Hello Max, Can you give a link where you explore positions your blog ???
@Jetbulb
@Jetbulb 3 месяца назад
Hi, for instance www.jobs.cz/ www.glassdoor.com/
@SlevySoddik
@SlevySoddik 2 месяца назад
странно что в вопросе о JMM ни разу не спросили про связь happens before и байткод
@petrivanov1565
@petrivanov1565 4 месяца назад
Как то однобоко выглядят собесы. Расскажи то, что можно загуглить за 5-10 сек. Имхо, не менее важной дисциплиной является "Решать нерешаемое" и посмотреть за алгоритмом мышления человека. - к вам пришли с back 2 back интеграции с 401 ошибкой. Ваши действия. - у вас есть X джоб, которые ранаются N раз каждый час, все бегают на одной бд. Джобы падают в рандомных местах. Ваши действия. - у вас в бд появилось 3 млн записей апдейта для сущностей, которых у вас нет. Ваши действия. - у вас лагает бд. Ваши действия. - вы столкнулись с проблемой, на которую не можете найти готового решения, ваши дейтсвия.
@user-tk7nh1jw3y
@user-tk7nh1jw3y 2 месяца назад
На всё один ответ - гугулить
@user-jp6dk4lx9y
@user-jp6dk4lx9y 18 дней назад
У email аннотации по дефолту регулярка ".*", то есть ни на какой имейл паттерн она не проверяет, а лишь на отсутстыие нала
@fnmby
@fnmby 2 месяца назад
отдельный лайк за картинку на заднем плане
@user-mb1dj3pk2d
@user-mb1dj3pk2d 4 месяца назад
Это собеседование больше на мидл-, мидл или мидл+?
@Jetbulb
@Jetbulb 4 месяца назад
Скорее что-то между начинающим мидлом и устоявшимся. Но это все субъективно и очень зависит от компании, проекта и собеседущего
@user-se4gg9sk4b
@user-se4gg9sk4b 4 месяца назад
Спасибо
@user-gt4ps4ph6b
@user-gt4ps4ph6b 4 месяца назад
а надо рассказывать про инкубатор фичи, когда спрашивают про «что нового в java?», то есть structured concurrency его вроде пока как бы нет в java? ну то есть оно может откатиться в теории и код перестанет компилиться.. и вообще немного не понимаю насколько хороший тон использовать такие фичи в проекте. объясните плиз кто понимает)
@Jetbulb
@Jetbulb 4 месяца назад
На собеседовании можно говорить и рассказывать все что хочется в рамках контекста вопроса. Отметить заинтересованность и познания в «инкубаторе», лишним не будет. В продакшене надо использовать только stable released feature
@prayer4675
@prayer4675 2 месяца назад
COPY и ADD в Dockerfile отличаются ещё и тем, что ADD распаковывает архивы, то есть не просто копирует.
@PetrKomarov
@PetrKomarov 4 месяца назад
В чём преимущество использования var? Просто экономить две секунды на запись интерфейса/класса? Но при этом когда читаешь код нужно смотреть что там тебе метод вернёт, не понимаю в чём профит
@user-xz7ps7hn1g
@user-xz7ps7hn1g 4 месяца назад
Если для понимания кода нужно иметь запись Map map = fillMap(clientIds); то код написан не очень, можно переименовать метод, который возвращает значение, можно переименовать переменную. var itemsByClient = fillItemsMap(clientIds); В большинстве случаев var экономит время и не добавляет дополнительной когитивной нагрузки
@limbo11111
@limbo11111 4 месяца назад
херня это всё, вкусовщина, вместо того чтобы сразу увидеть тип ты будешь прыгать по методам, где не сразу будет очевидно, что возвращается, всё нужно использовать с умом@@user-xz7ps7hn1g
@petrivanov1565
@petrivanov1565 4 месяца назад
если у тебя есть класс с именем в 100 символов, то проще написать var при объявлении переменной. IDEA в реалтайме тебе рядом заботливо напишет, что за тип у этого var.
@zakharka3938
@zakharka3938 4 месяца назад
@@user-xz7ps7hn1g Вы привели хороший пример того как не надо делать. Имена fillMap и fillItemsMap подразумевают что надо заполнить имеющийся объект типа Map. Таким образом вызов fillMap(clientIds) читается как заполнить мапу clientIds, но при этом совершенно неочевидно чем заполнить и что может вернуться в качестве результата, т.е. var тут только затрудняет чтение и так непонятного кода. А вот в таком контексте: var map = createMap(clientIds) или var map = createItemsMap(clientIds), использование var уже уместно т.к. не затрудняет чтение.
@zakharka3938
@zakharka3938 4 месяца назад
Если из контекста неясно какого типа результат, то использовать var не стоит. Например, хороший пример использования: var arr = new ArrayList() или var userList = loadUserList() потому что здесь из контекста ясно c какими типами имеем дело (хотя во втором случае есть шанс ошибиться).
@a.egorov85
@a.egorov85 3 месяца назад
Это реально вопросы на позицию мидла? Я в основной массе могу на это ответить. Но как попасть на собеседование если нет опыта?!
@neketavorotnikov6743
@neketavorotnikov6743 3 месяца назад
Нарисовать
@TheJabberwahh
@TheJabberwahh 4 месяца назад
Только и'теребл :) ударение на первый слог. Так же как в нулэбл например.
@bratatatata
@bratatatata 4 месяца назад
👍👍👍👍👍👍
@ivan_xalie
@ivan_xalie 2 месяца назад
33:24 Уточнение: имеется в виду не команды docker, переданные контейнеру, а команды в Dockerfile
@tomskiy1700
@tomskiy1700 4 месяца назад
Мне кажется, сейчас любой ката-самозванец легко порвет подобный собес, расскажет про сборщик мусора столько, сколько не каждый сеньор знает. Такие вопросы на зп в 4,5 кБакса. Видимо собес был старый.
@kirillkamelyazev9559
@kirillkamelyazev9559 4 месяца назад
это же вопросы для джуна нет?)
@maksgalik8376
@maksgalik8376 3 месяца назад
Добрый день, можно пройти собеседование на эту вакансию? )
@Jetbulb
@Jetbulb 3 месяца назад
Привет! Можно)) Приезжай в 🇪🇺 с правом на работу и врывайся 😎
@maksgalik8376
@maksgalik8376 3 месяца назад
@@Jetbulb уже в eu )
@Jetbulb
@Jetbulb 3 месяца назад
@@maksgalik8376 Все ближе и ближе, от общего к деталям)) Тогда, тебе необходимо перебраться в Прагу. Как с этим обстоят дела?))
@maksgalik8376
@maksgalik8376 3 месяца назад
@@Jetbulb ​ @Jetbulb был в праге 25 декабря и город показался дорогим, возможно потому что был как турист, особых проблем нету, нужно просто понимать что за проект )
@Jetbulb
@Jetbulb 3 месяца назад
@@maksgalik8376 Город дорогой только в недвижимости. В остальном, Восточная Европа. Еда, вещи и досуг недорогие)
@svetlanafedorova654
@svetlanafedorova654 Месяц назад
Хоть бы раз такие легкие вопросы задали на собесе, чаще всё начинается какой-нибудь Кафкой, базовую базу вообще не спрашивают на мидла
@prayer4675
@prayer4675 2 месяца назад
StructuredTaskScope - конечно интересная фича, но она находится в preview даже в недавно вышедшей Java 22. То, что человек нахватался базвородов новых фич не говорит о его способностях к саморазвитию почти ничего. Довольно часто такие люди не знают некоторые базовые вещи. Например о контракте метода equals()
@hugayda
@hugayda 2 месяца назад
Послушал и понял, что занимая должность синьора я еле еле джуниор.
@walcermelodia
@walcermelodia 4 месяца назад
Первый!
@dgvgfg
@dgvgfg 4 месяца назад
почему такие простые вопросы, в реальном собесе чуть не то ответил уже по ведущему собес видно, что он тебя выше джуна не оценивает и в дальнейшем идёт отказ( щас на миддла спрашивают и чуть ли как кубернетес на домашнем компе развернуть и как спринг под капотом работает с этими фабриками, которые реально не думаю что где то часто используются. И нельзя просто сказать что это прокси ну потребуется и запилим логику какую надо.
@user-gl1kd2ds4g
@user-gl1kd2ds4g 2 месяца назад
Ну как поднять кубер локально - довольно же простой вопрос и для джуна. Если есть докер - делается одним кликом) А насчет внутреннего устройства спринга - аналогично про устройство памяти в джаве. Знать как работает инструмент изнутри. Вот только знания про устройство памяти в джаве вряд ли когда либо будут полезны, а сделать парочку своих аннотаций в спринге иногда может потребоваться. Чтобы разбираться в этом достаточно изучить доклад "Спринг-потрошитель"
@Implodeside
@Implodeside 3 месяца назад
Проблема почему этот несмотря на свою годность, имеет небольшие охватывался просмотрам. Макс рассказывает интересно сложные темы, которые непонятны для массы которое на ютьюбе(а это зачастую даже не junior lvl), а те кто сталкивается с этими задачами вряд ли ищут ответы на ютьюбе(middle = stackoverflow) возможно этот канал будет первопроходцев ру сегменте, который проложит дорогу действительно качественному контенту, а не то что сейчас наблюдается, тысячное видео какой язык выбрать, как за час стать тем,
@iKorvik
@iKorvik Месяц назад
Если на любом интервью кроме джуна спрашивают методы класса Object, можно ничего хорошего от интервью не ждать, с торой стороны какой-то задрот теории, неоднократно убеждался в этом. Собеседуют на сеньорскую позицию и спрашивают такие вопросы...
@levvv1000
@levvv1000 4 месяца назад
Объект может и не аллоцироваться в хип при определенных условиях, см. scalar replacement оптимизацию, можно почитать в блоге у Шипелева. Так что до ответа «все, что связано с объектом хранится в хипе» душный интервьюер может и докапаться
@user-jk4lh4gw6x
@user-jk4lh4gw6x 2 месяца назад
И это и есть мидл? Походу мне сразу на мидла надо 😂😂
@user-zg5cu7ij9f
@user-zg5cu7ij9f 3 месяца назад
открыл пересмотреть на компе, только сейчас заметил картинку на заднем плане с кораблём😁👍
@alenache1
@alenache1 4 месяца назад
есть ощущение, что половина мидлов и часть синьоров в России такие собесы бы не прошли. До сих пор есть много разрабов, которые так и не умеют в микросервисы и докер. Реально сам видел в чатах как люди с 5-8 летним опытом жалуются, что если нет опыта в м/с и CI хрюши скипают их.
@zakharka3938
@zakharka3938 4 месяца назад
Потому что Java это не только микросервисы. И даже если вы работаете над продуктом с микросервисной архитектурой, далеко не факт что вы будете напрямую работать с архитектурой.
@alenache1
@alenache1 4 месяца назад
@@zakharka3938 1) понятно, что проекты разные, речь о том, что сейчас тренд на микросервисы, при этом на рыночке не умеющих в м/с БОЛЬШЕ, чем умеющих, поэтому при прочих равных скилах выбор делается в пользу умеющих 2) мы говорим о синьорских и лидовских грейдах, поэтому предполагается, что если она работали на проектах с м/с, то были в курсе что и как там работает 🙂
@alias_5800
@alias_5800 4 месяца назад
​@@zakharka3938думаю за 5-8 лет не прочитать ни одной книжечки по мс архитектуре это не профпригодно
@tomskiy1700
@tomskiy1700 4 месяца назад
не верю, что сеньор с 5-8 летним опытом не сможет осилить базу по микрам и докеру. тут же вопрос про самообучаемость скорее. если не может, то нафиг он такой нужен. поэтому, все честно, мне кажется.
@user-hr2dk6jy1k
@user-hr2dk6jy1k 4 месяца назад
лучше не уметь в микросервисы, но уметь в модули, чем наоборот
@user-hh1ez8mh9v
@user-hh1ez8mh9v 3 месяца назад
Говорите помедленнее
@user-ub5yg5sf6z
@user-ub5yg5sf6z 2 месяца назад
Много неточностей в деталях и часто ведущий думает одно, но говорит другое....
@donpedro2125
@donpedro2125 Месяц назад
var без причины - признак дурачины
@fromthegreatunknown
@fromthegreatunknown 3 месяца назад
Картинка на заднем фоне отличная, респект!!!
Далее
WHO DO I LOVE MOST?
00:22
Просмотров 5 млн
One brother and sister story #shorts by Secret Vlog
00:14
Про микросервисы за 8 минут
8:01
СНЕЖКИ ЛЕТОМ?? #shorts
0:30
Просмотров 3,6 млн
Попил😂инст: sarkison7
0:45
Просмотров 2,4 млн