Собеседование Java Junior | Проверяем себя перед реальным собеседованием | Jetbulb

แชร์
ฝัง
  • เผยแพร่เมื่อ 29 มิ.ย. 2024
  • Техническое собеседование на позицию Junior Java Developer.
    Сегодня у нас в гостях Михаил. Учится на 3-м курсе технического университета города Днепр, Украина, на специальности "Компьютерные науки". Программированием увлекается уже более года и пытается искать первое место работы или стажировки.
    В настоящее время, Михаил пишет проект на тему “Симулятор заказа билетов“, там он применяет самый широкий спектр возможных приемов и технологий для реализации enterprise-решений. Туда можно отнести: JDK17-21, Spring Framework, Spring Boot, RESTful architecture, JPA и Hibernate, Postgres, Docker, Maven\Gradle и др.
    У Михаила есть друг, который занимается менторством в сфере ИТ. Именно он, подтолкнул его начать путь поиска работы через подготовку к первым реальным собеседованиям. Поскольку он верит, что чем раньше начать где-то себе пробовать как командный игрок на реальном проекте, тем выше потенциал и больше шансов стать экспертом в мире программирования.
    Именно поэтому, Михаил пришел сегодня на мок-собеседование вместе с Максом Добрыниным на канале Jetbulb, чтобы проверить свои знания, оценить свои возможности и быть на шаг впереди, когда наступит пора проходить реальные собеседования для получения своей высокооплачиваемой работы мечты.
    Что же, пожелаем Михаилу удачи и окунемся в это мок-собеседование вместе!
    Погнали!
    Программа
    00:00 Знакомство с кандидатом
    03:45 ООП, Архитектура и Дизайн
    37:06 Класс Object, Сравнение объектов, Коллизии, Immutable class, и др. в Java
    54:30 Коллекции в Java
    1:02:35 Spring Framework
    1:26:00 SQL и базы данных
    1:35:08 Задача
    2:04:00 Выводы
    Получи реальный опыт решения коммерческих задач в Agile команде
    до 6 человек iprody.com/
    Запись на обучение и собеседование:
    iprody.com/interview
    t.me/iPrody_Online
    Мы в социальных сетях:
    t.me/jetbulb
    / jetbulb
  • บันเทิง

ความคิดเห็น • 96

  • @namelessclawfan1919
    @namelessclawfan1919 6 หลายเดือนก่อน +10

    Самый крутой канал по джаве! Желаю всем встречать на собесах только таких доброжелательных интервьюеров как Макс :) Спасибо за видео!

  • @kremlin_ru
    @kremlin_ru 6 หลายเดือนก่อน +6

    Макс,ты лучший,спасибо ! Как раз на этапе собесов и твой канал очень помогает и поддерживает ! С наступающим Новым Годом,пусть все мечты сбываются,цели строятся и достигаются,аудитория канала растет и здоровье с богатством никогда не покидают твой дом !

    • @user-zo6qk3cy3w
      @user-zo6qk3cy3w 2 หลายเดือนก่อน

      собесы это ужас

  • @user-ox3df8kv2k
    @user-ox3df8kv2k 5 หลายเดือนก่อน +30

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

    • @soodhell8281
      @soodhell8281 3 หลายเดือนก่อน +3

      странно, такого не заметил

    • @user-ns1su8ds1m
      @user-ns1su8ds1m 3 หลายเดือนก่อน +1

      Тоже не заметил))

  • @Mr_Cats
    @Mr_Cats 5 หลายเดือนก่อน +7

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

  • @user-mz9oz1oc3l
    @user-mz9oz1oc3l 5 หลายเดือนก่อน +5

    Макс красавчик всегда на позитиве и даже когда кандидат ошибается говорит не расстраивайся и находит хорлшие в жтом стороны❤❤

  • @user-lz2ob9vf7v
    @user-lz2ob9vf7v 6 หลายเดือนก่อน +1

    Спасибо, Максим. Спасибо, Миша

  • @vels2956
    @vels2956 5 หลายเดือนก่อน +2

    для филолога, огонь)
    досмотрел до задания - рука-лицо) надо конечно ещё по практиковаться

  • @user-qw1wh4dl2m
    @user-qw1wh4dl2m 6 หลายเดือนก่อน +10

    Уровень интервьюера как всегда на уровне, Михаил же пока сильно плавает , что-то слышал , что-то видел , но пока еще в самом начале пути, успехов!

  • @sergeydubovik
    @sergeydubovik 6 หลายเดือนก่อน +5

    Спасибо за видео, с таким интервьюером не отпадает желание учиться)

  • @dmaberlin
    @dmaberlin 5 หลายเดือนก่อน +3

    Хороший формат

    • @Jetbulb
      @Jetbulb  5 หลายเดือนก่อน

      Спасибо за комментарий 🙏🏻

  • @kirillnovikov7925
    @kirillnovikov7925 3 หลายเดือนก่อน

    Братан рановато пришёл конечно. Первый раз за все интервью Макса, когда реально подучиться нужно... и нехило так.😊

  • @user-qr4zl1er2h
    @user-qr4zl1er2h 6 หลายเดือนก่อน +18

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

    • @alevadnaya
      @alevadnaya 5 หลายเดือนก่อน

      Ну все ж умнее (в своей фантазии) , а тут джун😂

  • @irinaresetnicova4583
    @irinaresetnicova4583 4 หลายเดือนก่อน +3

    Максим, вначале проверяется hashCode а потом equals(), только если hasCode одинаковый!

  • @user-gw2xs4zm4r
    @user-gw2xs4zm4r 6 หลายเดือนก่อน +8

    Сейчас собес на джуна - это редкий собес, на который ты попал, потому что уже имеешь коммерческий опыт. И тебя половину собеса спрашивают именно про опыт на проекте. И как минимум в 3 из 10 собесах за этот год я отвечал превосходно и меня не взяли за небольшую сложность выполняемых задач на работе - то есть явно нужен был джун+/мидл.

    • @sergenine
      @sergenine 6 หลายเดือนก่อน +1

      Если бы отвечал превосходно, взяли бы тебя на джуна+/мидла, не?

    • @user-gw2xs4zm4r
      @user-gw2xs4zm4r 6 หลายเดือนก่อน +5

      @@sergenine Нет. Есть часть теоретическая, джунские вопросы - отвечаю на всё. Часть по функциям на проекте - ну если у меня опыт к примеру полгода и соответствующие выполняемые функции, то я это и говорю "это делал, это то-то, это щупал в таком-то объёме". Меня могут как минимум: а) перебить по знаниям какой-то мидл или джун с 1,5 годами б) перебить по бабкам какой-нить талантливый студент, живущий у родителей.

    • @alexei9821
      @alexei9821 4 หลายเดือนก่อน +1

      @@sergenine а на собеседовании можно отвечать превосходно?)

  • @user-ns1su8ds1m
    @user-ns1su8ds1m 3 หลายเดือนก่อน +1

    По моему все хорошо) на половину вопросов ответил, направление решения задачи было верным. Подучить Спринг и коллекции и будет норм. Это часов 20 обучение

  • @user-gv7nv5qb3b
    @user-gv7nv5qb3b 4 หลายเดือนก่อน +2

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

  • @ALEKCander86
    @ALEKCander86 6 หลายเดือนก่อน +1

    вступление записано с петличкой и норм звук, а само интервью на встроенный мик мака или почему такая разница?

  • @hint1k
    @hint1k 4 หลายเดือนก่อน

    В продолжении вашего обсуждения - забавная ситуация сложилась в моем пет-проекте, когда в качестве ключа hashmap у меня используется mutable класс, который я по идее должен сделать final и соответственно immutable, но этот класс одновренно является @entity сущностью хайбернета, и по требованиям хайбернета не может быть final.

    • @user-us1ds7wh1p
      @user-us1ds7wh1p 4 หลายเดือนก่อน +1

      В таком случае надо переопределить метод hashCode() так, чтобы изменяемые поля не участвовали в генерации хэшкода. Как минимум, поле, помеченное аннотацией @Id, у вас неизменно и, скорее всего, оно генерируется у вас автоматически, не забудьте убрать на него сеттер.

  • @vels2956
    @vels2956 5 หลายเดือนก่อน +4

    мне б такого препода в универе, Я б всё вообще на отлично слал)))

  • @kozhuhovIvan
    @kozhuhovIvan 2 หลายเดือนก่อน +2

    Интервьюер отличный! Всем бы таких. А то разные интервьюеры бывают.... А респондента можно брать на любую должность! Дополню. На какую позицию было собеседование?

    • @Jetbulb
      @Jetbulb  2 หลายเดือนก่อน +1

      Intern/Junior Dev

    • @kozhuhovIvan
      @kozhuhovIvan 2 หลายเดือนก่อน +1

      @@Jetbulb можно на мидла сразу брать

  • @A11exe
    @A11exe 5 หลายเดือนก่อน +2

    Мне кажется по SOLID все перепутали. Говорили про LSP а описывали D - Depend upon abstractions, [not] concretes

    • @Serge86210
      @Serge86210 4 หลายเดือนก่อน

      Ну в примере уже реализован dependency inversion: модули взаимодействуют через интерфейсы. В вопросе прозвучало три интерфейса и два поля - это задача на обобщение поведения. То есть предлагается создать контракт, который обобщает все три интерфейса, и типизировать поля по нему. Если мы говорим про контракт, то это Лисков.

  • @twobeerornottwobeer5973
    @twobeerornottwobeer5973 6 หลายเดือนก่อน +1

    Единственное я пока не понимаю. Вот у нас есть Бин синглтон, его класс должен быть потокобезопасный? Я так понимаю в спринге есть паттерн запрос на поток

    • @wonderman9027
      @wonderman9027 6 หลายเดือนก่อน +1

      Должен, так как несколько потоков при параллельных запросах могут взаимодействовать с 1 синглтоном

  • @yaroslav2751
    @yaroslav2751 6 หลายเดือนก่อน +2

    Я с тестов не могу, мне глаза прям резало, когда он сравнивал, то значение, которое получил с тем значением, которое заапендил в стрингбилдер, вообще не понимаю, почему использовал StringBuilder, можно было просто String и обошлись бы без каста к стрингу, но я думаю, что человек просто волновался. Также странно, что вопросов про многопоточность не было или я где-то пропустил

  • @user-ib7vx3yc4i
    @user-ib7vx3yc4i 5 หลายเดือนก่อน +1

    59:23
    "Доступа иерархии ветки"
    У парня наивысший уровень абстрагирования

  • @arseniy77
    @arseniy77 5 หลายเดือนก่อน +3

    Такой вопрос, в других мок-интервью на джуна вопросы обычно сложнее, иногда значительно, часто требуется знание тонкостей в работе. Да и область вопросов обычно шире, могут спросить про git, maven. Это у вас простые интервью или там сложные? :)

    • @Jetbulb
      @Jetbulb  5 หลายเดือนก่อน +2

      Нет сложных или простых интервью. Есть люди, которые знают или не знают ответы)))
      Любое порядочное интервью драйвится от потенциала и возможностей кандидата. Рекомендую посмотреть различные интервью с нашего канала. Там сложности и легкости хоть отбавляй))

    • @Mr_Cats
      @Mr_Cats 5 หลายเดือนก่อน +2

      @@Jetbulb Кстати, Макс, по поводу сложности, сейчас заканчиваю обучение на трейни, но никогда не видел в собесах вопросы про Кафку, Спринг Секьюрити, Докер, и другие сопутствующие сервисы. Или это я уже слишком глубоко копаю и джунам эти технологии пока не нужны?

    • @Jetbulb
      @Jetbulb  5 หลายเดือนก่อน +1

      @@Mr_Cats Хороший вопрос)
      - Как по мне вопросы по докеру нужны, это то с чем регулярно работаем
      - Spring Security опционально, поскольку там нечего делать и любой без опыта с задачей разберется за неделю.
      - Кафка, разве что общие вопрос (гарантии доставки, принцип работы, альтернативные решения, причины применения, масштабирование)

    • @Serge86210
      @Serge86210 4 หลายเดือนก่อน +1

      @@Jetbulb а докер не любой за неделю осилит?🤔

    • @Jetbulb
      @Jetbulb  4 หลายเดือนก่อน +1

      @@Serge86210
      На базовом уровне вполне возможно. Это вопрос очень относительный )

  • @user-kf9wj8cn7w
    @user-kf9wj8cn7w 5 หลายเดือนก่อน +1

    Вопрос есть у java библиотеки или фреймворк позволяющий не использовать JS и его библиотеки и фреймворки для fronted

    • @Jetbulb
      @Jetbulb  5 หลายเดือนก่อน +2

      Посмотри Vaadin. Вероятно то, что ты ищешь

  • @Rogov_Oleg
    @Rogov_Oleg 3 หลายเดือนก่อน

    Главная проблема при тесте была не в незнании java, а в слабом понимании прикладной составляющей. В трёх соснах запутался в конце 😮

  • @VooDoo-Gal
    @VooDoo-Gal 3 หลายเดือนก่อน

    - Сколько раз в видео было сказано "ОКЭЙ"
    - ОКЭЙ

    • @LuneAgent
      @LuneAgent 3 หลายเดือนก่อน

      1:32:08

  • @luckytima2315
    @luckytima2315 4 หลายเดือนก่อน

    есть протокольно ориентированное программирование

  • @maximboychenko462
    @maximboychenko462 3 หลายเดือนก่อน

    Принцип Барбары Лисков не про то, что нужно зависеть от интерфейсов, а не конкретных реализаций

  • @_1nMyM1nD_
    @_1nMyM1nD_ หลายเดือนก่อน

    Если я когда-нибудь попаду к вам на ревью, прошу не быть со мной таким лояльным :D

  • @Андрюха_айтишник
    @Андрюха_айтишник 6 หลายเดือนก่อน

    Почему груви вдруг стал прцедурным? А как же груви классы и интерфейсы?

    • @kensaitakeso
      @kensaitakeso 6 หลายเดือนก่อน +1

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

  • @maksymz6695
    @maksymz6695 2 หลายเดือนก่อน

    Бро совсем на задаче потерялся. Я бы рекомендовал сначала написать как знаешь, лишь бы работало. А потом уже можно и рефактор (но зачем :D) Функция три ифа а чел ретерны на рандоме засовывает ( тоесть мысыль поетрял и делает уже сам не понимает что). Тут лучше выдохнуть и еще раз прочитать задание

  • @SVA88
    @SVA88 5 หลายเดือนก่อน +1

    а как к вам можно попасть на тестовый собес?)

    • @Jetbulb
      @Jetbulb  5 หลายเดือนก่อน +2

      Напиши мне в ЛС @maksymdobrynin

  • @channel-yg2xc
    @channel-yg2xc 4 หลายเดือนก่อน

    Как будто современная java ни разу не про парадигму ООП, если не рассматривать DDD и прочий оверинжениринг. Среднестатистический java-проект как раз и представляет из себя классы-хранилища процедур, обрабатывающие данные, и всё, что в них(классах) инкапсулируется - это такие же классы процедур и адаптеры доступа к внешним интеграциям, хранилищам данных и т.д. Состояния не то, чтобы нет, - оно статично, неизменяемо. А данные у нас лежат в отдельных классах-моделях, которые редко имеют логику, потому что для реализации самых примитивных операций, даже между объектами-моделями одного типа, java-разработчики взяли привычку писать отдельную процедуру или целый класс, содержащий набор таких процедур, тем самым нарушая information expert, low coupling, high cohasion и т.д. ООП во всей красе.

  • @user-nl2em4jm3e
    @user-nl2em4jm3e 6 หลายเดือนก่อน

    Здравствуйте. Для чего нужен Котлин? Он идёт вместе в джава сейчас в комплекте?

    • @dmitriizapalatovskii2658
      @dmitriizapalatovskii2658 5 หลายเดือนก่อน

      Kotlin - java здорового человека

    • @alias_5800
      @alias_5800 4 หลายเดือนก่อน

      Работать лучше на Котлине, но собесят на Java.

  • @alexei9821
    @alexei9821 4 หลายเดือนก่อน

    Очень сложно...

  • @twobeerornottwobeer5973
    @twobeerornottwobeer5973 6 หลายเดือนก่อน +2

    В скорости 1,5 норм кста

    • @Jetbulb
      @Jetbulb  6 หลายเดือนก่อน +5

      Сам смотрю на х2 😅

  • @mrpikls124
    @mrpikls124 6 หลายเดือนก่อน +8

    Чел к собесу явно не готов, мягко говоря...

    • @stalker200368
      @stalker200368 6 หลายเดือนก่อน +1

      Да, иногда ловил испанский стыд, особенно на этапе написания кода

    • @Serge86210
      @Serge86210 4 หลายเดือนก่อน

      Готов, не готов - а оффер может получить на больше золота, чем получают некоторые мидлы😆

    • @mrpikls124
      @mrpikls124 4 หลายเดือนก่อน +1

      @@Serge86210 это врятли)

    • @Serge86210
      @Serge86210 4 หลายเดือนก่อน

      @@mrpikls124 некоторые люди очень инертны) Можно сидеть годами на одном месте и не знать, что уровень зп на рынке уже совсем другой. А джуны более-менее жадные и знают рынок)

  • @alexei9821
    @alexei9821 4 หลายเดือนก่อน

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

  • @alexei9821
    @alexei9821 4 หลายเดือนก่อน

    На джуна...это очень сложно

    • @Good8479
      @Good8479 หลายเดือนก่อน

      На джуна это очень просто

  • @alias_5800
    @alias_5800 4 หลายเดือนก่อน

    Ближе к середине поплыл паренек

  • @virus8727
    @virus8727 17 วันที่ผ่านมา

    это точно на джуна???? как человек который сам по себе учит джаву - ради учит джаву (цели у самурая нет), очень удивлен что дал 90% правильных ответов и еще и задачку решил минут за 10... мне кажется что тут да же не стажер.

  • @TheJabberwahh
    @TheJabberwahh 6 หลายเดือนก่อน

    Никогда не понимал юнит-тесты. Вы меня хоть убейте. Говорят, что пока ты не напишешь тестики - ты не уверен, что всё работает правильно. ДжЮнит использую только чтобы запустить данные в метод и там уже дебагером прохожу и смотрю что происходит. Потому что если написать тут правильно логику и тестики эти сраные - всё равно нельзя сказать, что всё работает. ну вот банальные пример: мы ассёртим отправляя туда число 3 - всё ок. Но если написать в условие, там где (value % 3 == 0 && value != 9) тестик же пройдёт. Но в коде явная ошибка. Короче опять-таки - что с меня взять со свитчера с 1С, но юниты - это просто какое-то успокоение для самого себя и самообман. Ладно ещё интеграционные - там есть смысл. Но юнит - чисто чтобы было что затрекать в джиру. Типа целый день писал тестики. Итого делаешь работу и ещё тестики под неё подгоняешь. А потом, когда изменяется логика метода - ещё и переделываешь их. Всё при деле. Бабки в конце месяца на счёт упали. Наверняка я не прав, но пример выше даёт мне повод сомневаться.

    • @fkord9278
      @fkord9278 6 หลายเดือนก่อน

      Для меня тесты полезные, чтобы ничего не забыть. Т.е. в начале пишешь тесты под метод, а потом реализуешь. Но опять же, если забыл в методе проверку, то забыл и в тестах)
      Особенно если не уметь писать тесты, то очень просто сделать, чтобы они все прошли.

    • @user-zo5gt9ck9b
      @user-zo5gt9ck9b 6 หลายเดือนก่อน

      Есть же такое понятие, как процент покрытия тестами. в Вашем примере он будет критически низкий. Этот показатель так же можно проверить в IDE. IDE даже выделит Вам цветом те участки кода, которые не были задействованы в проверке. Доведите тест до 99% покрытия и будет Вам счастье понимания :)
      И, конечно, всегда проверки на крайние и нулевые, пустые случаи.

    • @TheJabberwahh
      @TheJabberwahh 5 หลายเดือนก่อน

      @@user-zo5gt9ck9b Наверное это вы не поняли что я имею в виду. В конкретном коде процент покрытия будет 100%. Он затронет и проверку деления на 15 и на 5 и на 3 и исключение. И проверка на крайние нулевые вам не поможет если в первом условии есть логическая ошибка срабатывающая в каком-то отдельном случае.

    • @twobeerornottwobeer5973
      @twobeerornottwobeer5973 5 หลายเดือนก่อน

      Я вижу следующим образом. Взглянув на тесты, можно сразу сказать как работает класс или программа, то есть не обязательно лезти и разбираться в чужом коде. Тесты также позволяют проверить всевозможные варианты передачи параметров. Например написан метод, логика которого завязана с работой только с положительным числами, а что будет если передать отрицательное? Тесты полезны как для коллег, так и для себя смотрящего этот код через год.

    • @TheJabberwahh
      @TheJabberwahh 5 หลายเดือนก่อน

      @@twobeerornottwobeer5973 вот это самая дельная мысль

  • @radzhaGames
    @radzhaGames 5 หลายเดือนก่อน

    поплыл пацан

  • @ovsyannikovo
    @ovsyannikovo หลายเดือนก่อน

    А что это там одинакового у мэйла и фимейла? Вообще ничего общего нету! Дети не умеют ходить? Пойду проверю вроде мои бегают быстрее меня.

  • @hesoyammm
    @hesoyammm 5 หลายเดือนก่อน

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

    • @serchg_george
      @serchg_george 4 หลายเดือนก่อน

      Для того, чтобы вы с этими коллегами на данной вакансии ХОТЯ-БЫ на одном языке говорили, и ты понимал процентов 60-70, о чём они там разговаривают. + Очевидно, что если ты знаешь - ты знаешь, и вряд-ли будешь сильно против того, чтобы у тебя уточнили лишний раз)

    • @alias_5800
      @alias_5800 4 หลายเดือนก่อน +2

      Вы из советского союза что-ли?
      Не знаю как сейчас в Украине и других странах совка, но по личному опыту могу сказать, что никогда бы не нашёл работу, если бы получал знания только из программы российского вуза. Да и оценка знаний это такая себе, тк большинству преподов пофиг и лишь бы закрыть семестр

  • @cuntcrusher2120
    @cuntcrusher2120 2 หลายเดือนก่อน +1

    Про проксю было бы неплохо добавить, что она должно именно менять логику поведения класса. Например, отменять вызов какого-то метода проксируемого класса, если пользователю меньше 18 (условно). А то иначе это уже не прокси, а декоратор, который просто навешивает доп. логику (например, логирование), а саму логику класса не меняет (то есть, если вызвать определенный метод у класса-декоратора, то мы уверенно можем сказать, что вызвался такой же метод с такими же аргументами у класса, который мы декорируем)

  • @shanewalsch
    @shanewalsch 2 หลายเดือนก่อน

    Дэм над физбазом тупить это сильно