Собеседование Java Junior | Артем М. vs. Максим Добрынин | Jetbulb
Вставка
- Опубліковано 28 чер 2024
- Техническое собеседование на позицию Junior Java Developer.
Сегодня у нас в гостях Артем М. Он успел получить техническое образование, но не в сфере информационных технологий. Отработав какое-то время по специальности, Артем решил попробовать ИТ. Тут Java его и зацепила.
Артем хорошо учился, не стеснялся презентовать свои pet-проекты и в конечном итоге его заметили. На одной из презентаций во время обучения, Артем приглянулся нескольким компаниям и в конечном итоге получил от них приглашения на собеседования. На минуточку, таких приглашения было три. Да! Именно три и это не ошибка.
В настоящее время, Артем уже выполнил первостепенную задачу "Войти в ИТ". Но это его не останавливает и он обучается дальше.
Конечно же как любой человек думающий о своем будущем, Артем хочет получать обратную связь о своих знаний и о том, что еще предстоит выучить. Именно это его привело к нам. Получить обратную связь, понять где он крут, а где еще необходимо подтянуть знания. И конечно же зарядиться драйвом собеседования, чтобы не плошать когда дойдет до следующего настоящего собеседования для получения нового места работы или получения нового шеврона.
Погнали!
Программа
00:00 Знакомство с кандидатом
2:27 Про ООП и Дизайн
7:42 Про нашу тренинговую платформу iPrody
11:38 Разбор принципов SOLID
19:50 Тонкости работы с объектами в Java
24:40 Про Collection API
27:52 Про многопоточность
42:08 Про Spring Framework
59:36 Задача
1:12:38 Разбор задачи
1:22:51 Выводы
Получи реальный опыт решения коммерческих задач в Agile команде
до 6 человек iprody.com/
Запись на обучение и собеседование:
iprody.com/interview
t.me/iPrody_Online
Мы в социальных сетях:
t.me/jetbulb
/ jetbulb
Почти год работаю на позиции дев, сейчас наткнулся на это видео и вспомнил то, что хотел сказать год назад: спасибо тебе большое за видео, именно благодаря твоим стараниям я прошел тех собес и устроился на первую работу, я просмотрел каждое видео, ставил на паузу и отвечал вперед собеседуемого, что помогло найти пробелы и закрыть их, еще раз спасибо тебе большое, уверен твоя работа помогла очень многим!
Дружище, скажи пожалуйста, ты указывал опыт в резюме, когда искал? Если несложно, можешь пожалуйста сказать..
@@user-lb7py9nn4i в графу опыт у тебя должно идти описание твоих проектов, либо проекта, если он один но здоровый. Желательно со ссылочкой на гитхаб и готовностью его защитить в случае чего, как с дипломом) И ни в коем случае не пиши, что это пет-проект. Просто описываешь назначение и технологии, это должно занять пару предложений не больше
Да, в последнее время какое видео ни посмотрю, - что по алгоритмам, что по другим задачам и вопросам, под ними куча комментариев, что сейчас с такими знаниями/скоростью/ответами никуда не возьмут. Я прям радуюсь, какие все вокруг спецы) надеюсь, не только в критике)))
Отлично сказано 👍
Спасибо большое каналу JetBulb, много его смотрел. В итоге устроился на работу.🙏🙏🙏
Спасибо большое за видео! Помогает многое освежить в памяти и конечно то, на что следует обратить внимание. Удачи!!!
Артем, красава, очень смело. Большинство комментаторов в жизни не осмелятся даже продемонстрировать свои знания публично
О да, это очень страшно. Никто больше такое провернуть не осмелиться 100%
@@user-mz7bj9kb6q вперед на собеседование, смельчак
Очень классный видос! Понравились и вопросы и размышления собеседуемого
Спасибо за видео, очень полезно
Ну в целом же молодец парень. Размышлял, примеры старался привести.
Случайно наткнулся на видео и очень повеселили комментарии по типу «слабый кандидат, как его взяли на работу» и тд и тп.
Это какой-то акт самоутверждения за счет других? Ну взяли его и взяли. Это же джун, понятно, что он многое не знает. Я больше смеюсь с тех, кто тянет на требования мидла, зато все еще не имеет коммерческого опыта и сидит в дырявых штанах приходя на джуновые интервью, зато потом такие же самоутверждалки скажут - да, кандидат достойный…
Вы считаете, что это уровень джуна? Когда человек с огромным трудом решает элементарную задачу и плавает в теории?
Он может обижаться, вы можете улыбаться, но факта что его текущий уровень знаний очень низок это не отменяет.
@@veniol6966 сугубо личное субъективное мнение. По поводу вашего вопроса касаемо уровней: все градации которые мы знаем на сегодняшний день - трейни/джун/мидл и тд., это все абстрактное понятие у которого нет унифицированного способа проверки. Это бизнес. И бизнес работает таким образом, что бы люди с каждым годом знали больше, но получали меньше. И тенденция эта растет. И дело ведь не только в конкуренции, а в людях, которые постоянно завышают зачем-то требования. Как бы данного кандидата не называли в компании - джун или не джун, это не имеет значения. Я уверен, что с такими знаниями он не получает много денег за свою работу, ведь его надо учить работать по большей части. Если же мы говорим о том, что он занимает место более сильного кандидата…ну, человек смог себя продать, другой же человек с более сильными навыками не смог. Это все тоже часть игры.
@@m-krevolvo7552 Я раньше думал, что обязательно возьмут того, кто имеет больше знаний - но нет. Берут тех, кого найдут, в первую очередь, а во вторую тех , кто себя продаст. Из этого можно сделать 2 вывода, нужно светиться в инфополе и уметь себя продавать. Софт скилы тоже многое решают и это не про то , что ты не будешь обзывать людей, а будешь милым, это вообще про другое. Тебе нужно уметь продвигать свои решения в массы , защищать его, уметь делиться знаниями, работать в команде и многое другое.
@@user-lk2lt4ym2s Полностью согласен. Софт скиллы важны даже не только как инструмент «уметь продать себя», а так же как способ коммуникации в больших компаниях где тебе нужно сходить за информацией в команду А,Б,В и так далее, уметь донести эту информацию до людей, обсудить. Таким образом выстраивается сеть коммуникаций, налаживание человеческий отношений и ускоренное решение любой проблемы. Софт скилы так же важны, как и технические. Если у меня будет 2 кандидата на выбор, один будет технический очень сильный для своего уровня с опытом скажем полтора года но он будет сидеть на интервью с каменным лицом, умничать или еще чего, а другой будет с таким же опытом, с более слабыми тех. скилами, но с ним будет приятно вести беседу, то я выберу его. Потому что с этим человек мне работать в будущем и тесно контактировать. Все просто.
@@m-krevolvo7552 я прекрасно понимаю, что у каждого грейда свои задачи и не нужно требовать от джуна в одиночку вершить судьбы. Но я не могу придумать задачу, которую можно ему поручить с таким уровнем знаний.
А тенденция роста запросов бизнеса не может продолжаться бесконечно. Входной порог в разработку сейчас уже очень приличный относительно других сфер. Если требовать от людей еще больше, то ситуация только ухидшится. Кандидатов станет еще меньше, потому что мало кто сможет себе позволить так долго учиться и при этом ничего не получать. В итоге имеющиеся специалисты станут еще дороже и появится смысла хоть за какие-то деньги но брать новичков и учить их, чтобы хоть как-то закрывать дырки с рутинной и простой работой джунами.
Вполне себе готовый джун. Достаточно хорошо держался. Тестовое задание не идеально сделал конечно, но в в целом молодец 👍🏻
Не знаю какие претензии к этому парню, я вот тоже работаю 4 месяца разработчиком, позабывал кучу вещей. Мне бы сейчас вспомнить расшифровку SOLID принципов и т.д. Многое забыл из того что не использую, хотя до этого смотрел 100500 интервью и мог ответить абсолютно на любой вопрос, знал хорошо многопоточку (я её тоже не использую в работе). Сфера на самом деле большая, всё это забывается и нужно постоянно повторять. Не удивительно , почему опытные люди готовятся к собеседованиям и тратят на это пару недель
а на собеседование подобные вопросы были?
@@mihman-jf3ig да, это классика, на самом деле если подготовится, можно хорошо показать себя на интервью. Главное писать какие то конспекты, что бы можно было быстро вспомнить темы
Это не является хорошо что забыл
@@maks10110 Да, это не хорошо, но такова природа человеческого мозга
@@maks10110 человек может их использовать на подсознательном уровне.
Немного подушу:
Data race это всё же не частный случай race condition, и из названия data race далеко не так очевидно, что он означает.
Data race в JMM - об одновременном доступе к одному и тому же участку памяти, где хотя бы один из этих доступов - запись, причём они не дожны находиться в happens-before order и содержать какой-либо синхронизации(то есть это не volatile филд, и он не синхронизирован какими-либо другими механизмами, типа synchronized).
Race condition вообще не упоминается в JMM, насколько я знаю, но вообще грубо говоря он о том, что какой-то порядок операций приведёт к разному результату в зависимости от того, какой тред сможет первым зафиксировать результат, и успеет ли второй тред его увидеть. Тут операции могут иметь так называемые synchronization actions, тогда race condition будет вести к одному из нескольких возможных synchronization order'ов.
Как пример, мы можем иметь volatile int a = 0 и в одном треде попробовать записать 1, а во втором вывести на экран значение a, и запустить оба треда одновременно, тут не будет data race, потому что тут есть synchronization actions(volatile read и write идут вместе с read/write барьерами), но тут есть race condition, потому что второй тред может вывести как 0, так и 1. Пофиксить race condition можно, например, сделав перед выводом в консоль какой-нибудь while(a == 0);. В этом же примере мы можем добиться data race, если уберём volatile у филда, а если при этом мы оставим while(a==0);, то мы даже избавимся от race condition(результат вывода в консоль может быть только 1), но при этом оставим data race (потенциально, мы можем никогда не увидеть записанное в a значение единицы, т.к. тред может читать из своего локального кеша и из-за отсутствия каких-либо synchronization actions никогда не узнает, что значение поменялось)
Почему у многих годных людей так мало подписчиков? Думаю тогда бы каждый устраивался на работу с первого раза)
Да нормально парень отвечал. Не понимаю, что на него накинулись в комментах.
А это точно на джуна? Два года работаю и не малую часть сказанного не использовал даже. Что-то сейчас жестят на собесах.
@ЧиДаГевара Я не знаю где Вы работаете что у вас программисты деградируют, но досконально допрашивать новичка, который скорее всего будет проходить курс по используемым в компании инструментам и работать за копейки это жестоко.
Такая же история. Тож 2г работаю и тоже много че не юзал из собеса. Особенно доставляет, как на него накинулись в комментах, мамкины сеньоры))
Two Types of Race Conditions:
Read-modify-write
Check-then-act
Здравствуйте, есть вопрос про задачу физзбазз. Где можно подобных разных задач найти ? Если ату погулять у физзбазз есть разные description, где-то просто стринг вернуть, а где-то последовательность. Хотелось больше попрактиковаться.
Например, тут leetcode.com/problemset/
что тут некоторые так возбудились что мол он не тянет на джуна, а я типа такой молодец. по мне вполне нормально отвечал
Золотые слова 👍
От зависти, ноют что не могут устроится, но харахорятся в комментах, повышая градус собесов, а потом снова ноют, что на джуна надо теперь знать как на сеньора))
Молодец🎉
А где обучение проходил?
касательно тестовой задачи:
как по мне, решение Артема имеет больше плюсов, чем решение Максима.
а именно:
- оно более читаемо. в том плане, что любом у программисту даже с начальным уровнем понятно что там происходит.
- оно менее требовательно к памяти. из-за того, что не участвует новый объект StringBuilder.
- оно гибче. потому как, если требования к возвращаемым значениям изменятся, то поправить будет легче.
с другой стороны решение Артема короче и красивее.
одним словом, вопрос спорный чье решение лучше
а какой итог данного собеседования? Пройдено или нет ?
StringBuilder и два условия - первое что пришло в голову. К этому и свелось 😂 Почему разрабы такие предсказуемые?
😆
А че за картинка на стене там?
Картинка "О кораблике который не смог, поскольку переоценил свои силы"
А что джуны еще где-то нужны ???
Действительно, зачем нужны джуны, когда есть псевдо-мидлы с нарисованным опытом.
Парень хорошо отвечал, видно что просто занервничал на задании.
ему ОЧЕНЬ повезло, что его взяли на работу с его уровнем знаний на мой взгляд, при сегодняшних требованиях к джунам. Но молодец,что пошёл на интервью,не постеснялся,чтобы стать лучше старается,за это респект
Для джуниора у него вполне достаточно знаний
Большое заблуждение равнять паттерн синглтон и бин скоуп синглтон
Отвечал парень конечно неплохо, хоть и сравнения с автомобилем при рассказе про ООП очень странно, как будто только что head first java прочитал. Я думаю не тянет он на джуне именно из-за решения задачи, видно же, что человек вообще не понимает, что делает :)
Справедливости ради ))
Много джунов знают что делают? 😅
Просто парень разволновался. А пробелы бывают у всех, от мала до велика
@@Jetbulb Ни в коем случае не осуждаю, человек не побоялся прийти и узнать про свои пробелы в знаниях, если начнет их закрывать, то многого добьется :)
@ЧиДаГевара джун это чаще всего человек с минимальным опытом, обычно меньше 3-х лет, а в компании он может быть "ведущим разработчиком", так что не душни:)
@@mika2557 Да как правило джун это от 3 лет опыта вроде
18:45 Нет, уважаемый автор видео.. предметная область это не есть доменная модель, как вы сказали "не важно"... очень даже важно. Как же вы джунов собеседуете с такими промахами?
А что же такое предметная область? По смыслу звучит как одно и то же, и гугл по Domain model и Предметная область выдаёт аналогичные определения
@@sigmoidmet предметная область (domain) и модель предметной области (domain model) - разные понятия же :)
Вот бы меня про транзитивность/рефлексивность спросили на собесе, я бы разъебал потому что по факту там некоторые дополнения к стандартному математическому отношению эквивалентности, ничего более.
Опять понравилось Ваше видео... СПС, Макс... Но задачка явно не для инженера, это задачка для школьника 5-6 класса школы., который изучает начала арифметики.... Не примите за хейт..... Но такие задачки решают детки...... )))))))))))))))))))) Жду следующего Вашего видео
а вы смогли бы так?на камеру?
@@markmorev4600 Даже не знаю чего Вам и сказать..... Публичности никогда не боялся. Имею некоторый опыт... Но задачка то действительно очень простая.... Впрочем, здесь большое значение имеет навык их решения. Он приходит со временем..... "Суха теория, мой Друг.... Но древо жизни вечно зеленеет" (Гете.) Здесь как у врачей.... Терапевт все знает , но ничего не умеет... Хирург - все умеет, но ничего не знает... Патологоанатом - все знает и умеет, но уже поздно........))))))))))))))) Надо просто тренироваться их решать разными способами и т.д. Алгоритм - это следствие нашего решения задачи. В основе должно лежать само решение... Алгоритм - это просто отображние этого решения в коде, или еще как-нибудь. В общем, этот формат видео мне очень нравится. Парень - молодец. Но теория - это только небольшая часть помощи в практике...... ))))))))
@@JavaDevOld больше всего в жизни меня раздражали такие люди как вы, которые сами когда то что то не знали, и потом всем тыкают "да как ты можешь этого не знать, это же легко", дело в том что вам хватает невежества, и не соответственно не хватает рассудительности чтобы понять что этот человек еще просто учится, иначе вашего комментария здесь не было.
@@markmorev4600 Думаю, что Вы очень молоды. Я тоже был когда то молод. Тоже был безаппеляционен... и самоуверен... Вы не переживайте... Все у Вас получится....
@@JavaDevOld ну вот видишь как ты сразу переобулся
Я категорически не понимаю, как его могли взять на работу. Более того, я вообще не понимаю, какой проект он мог написать, если FuzzBuzz у него вызвал такие затруднения. Пусть у него все будет в порядке и он вырастет в толкового разработчика, ну а я пойду поплачу в душе.
К Артёму претензий нет- что имеем то имеем. Но какого хрена Ведущий кричит «круто мне нравится» когда Артём явно не понимает какой то принцип работы, вываливает все подряд, словесный понос, ведущий из этого поноса выбирает что то, добавляет что то от себя и восторгается. Это какая та Лада. Тол ко путает
Нормальный кандидат. В процессе работы все подтянет. Тем более в работе ,зачастую многие технологии,по которым гоняют на собеседовании, не используются особо в реальной работе. Главное соображает,а не клоун ,как 90% комментаторов.
Поддерживаю, всё верно написал!
К сожалению, предложенный вами код не решает поставленную задачу полностью. Ваш код проверяет только одно число на кратность 3 или 5 и возвращает соответствующую строку "Fizz" или "Buzz". Однако, задача требует формирования массива байтов для всех чисел от 1 до заданного значения, в соответствии с правилами задачи.
Вот исправленный код, который решает поставленную задачу:
public class FizzBuzzTestInterview {
private static final byte FIZZ = 1;
private static final byte BUZZ = 2;
private static final byte FIZZBUZZ = 3;
public byte[] fizzbuzztest(int value) {
if (value
Слабенький кандидат