Интервьюер: почему ты выбрал именно Java? Интервьюируемый: ну, если говорить о выборе языка программирования, то я бы хотел начать с истории программирования в целом. История программирования - это увлекательная тема. В самом начале, когда компьютеры только начали развиваться, программирование было целым искусством. Первые языки программирования были весьма примитивными и не имели той гибкости, которую мы имеем сегодня. Можно вспомнить такие языки, как Assembly, который был крайне сложным и требовал значительных усилий для написания даже самых простых программ. Перейдем к языкам высокого уровня, и мы увидим, как они стали более удобными для разработчиков. Один из таких этапов - создание языков, которые поддерживают объектно-ориентированное программирование. Это был важный шаг, который позволил создавать более масштабируемые и поддерживаемые системы. Также стоит отметить, что каждый язык программирования имеет свои уникальные особенности и предназначение. Например, C++, который я лично считаю очень интересным, был разработан для улучшения возможностей языка C, и он значительно расширил возможности разработки системного программного обеспечения. Но C++ имеет свои сложности, особенно когда речь идет о управлении памятью, что в свою очередь привело к необходимости разработки новых языков. Теперь, если мы обратим внимание на развитие операционных систем, то стоит упомянуть о том, как важна поддержка программирования на уровне операционной системы. Например, Windows и Linux имеют свои особенности в обработке программного кода и управлении ресурсами. Эта поддержка влияет на выбор инструментов и языков программирования, так как некоторые языки лучше интегрируются с определенными системами. Ещё одной важной темой является веб-разработка. Когда мы говорим о веб-приложениях, то здесь мы сталкиваемся с языками, которые позволяют создавать эффективные и удобные веб-сайты. Это приводит нас к рассмотрению языков, таких как JavaScript, который стал очень популярным благодаря своей способности работать непосредственно в браузере. Но интересен и вопрос эволюции веб-технологий, как, например, развитие HTML и CSS, которые играют свою роль в создании современного веба. И говоря о веб-разработке, нельзя не упомянуть про важность систем управления базами данных, таких как MySQL, PostgreSQL и их использование в различных проектах. Эти системы базы данных позволяют эффективно управлять данными и интегрироваться с различными языками программирования.
А какие задачи чаще всего дают на собеседованиях для Junior Java разработчиков? Лично я выбирал курсы по IT, чтобы сменить профессию после работы преподавателем по вокалу. Рассматривал разные компании, но в итоге остановился на Skypro, где наставник помог мне не только пройти обучение, но и найти первого заказчика))
это собеседование однозначно меня убедило, что не только проходить интервью - невероятно трудная задачка, но и проводить их иногда может быть пыткой...
@@romanmiller4232слишком много углублений, на собесах на уровне мидла и даже джуна, надо объяснять все кратко без лишних примеров, если не просят кнш. Просто могут завалить на вопросах, если сказанешь что-то лишнее и в конце можешь не вывезти. Но, тянуть иногда время тоже надо, если нету лайфкодинга кнш, там тебе не выгодно время резать
@@kittensandanimation7222 да, тут полностью согласен) Этот момент я уяснил) Просто я в принципе много говорю, вот и тут, как то, одно за другое, и как сказал Макс - "Сам вопрос задал - сам на него ответил")) Что далеко не всегда хорошо на собеседованиях
1:39:00 еще б добавил, java-config еще используют, если есть какое-то условие для создание бина и еще мы хотим создать много разных бинов одного класса, с разными настройками
Максим, спасибо за очередной собес) Если можно вопрос, и одно предложение. Вопрос - на сколько данное собеседование соответствует реальному на позицию джуна? И если возможно, можешь указать на своё видео, которое, по твоему мнению, наиболее соответствует вопросам с реального собеседования? И предложение для контента - не хочешь провести сам себе идеальное собеседование?) Т.е к примеру взять все вопросы что ты задавал на всех видео, свалить их в кучу, и дать на них эталонный ответ. Я думаю было бы интересно, и очень информативно. В некоторых видео люди ходят вокруг да около, и ты ответ более менее принимаешь, но четкого ответа на поставленный вопрос так и нет.
@@romanmiller4232 я думаю, ты понимаешь, как что работает, как применить это в задачах. а как словами это описать лаконично и вообще объяснить простыми словами вслух - другое дело. всё получится :))
@@irinaecht9732 Спасибо :) Это собеседование, явно подсветило мою проблему с грамотным и лаконичным донесением информации (о чем Макс и сказал в первую очередь, за что на самом деле огроменное спасибо, потому что я мог бы проходить собеседования, получать отказы и вообще не понимать, в чем, собстно, дело, ведь вроде нормально на все отвечал). В общем, буду над этим работать)
Хорошее интервью, спасибо! Рассказ о себе обязательно как следует доработать, пока звучит как "я тут просто рядом курил, что-то делал по мелочи" - не очень убедительно. И не спешить так с речью, а говорить спокойно, уверенно.
Благодарю) Но Роман уже не первый десяток лет живет с гитарами и обслуживает их, так что о таких нюансах в курсе) На лето, батареи отключены, а гитары кочуют по квартире, в зависимости от сезона)
Если ничего не понимать, то может показаться, что кандидат сильный, просто потому что постоянно говорит. Любой +- разбирающийся в деталях человек поймёт, что к половине интервью ни на один вопрос он нормально не ответил, все перепутано, как будто бы лишь бы что-то сказать
Роман, без обид, немного сумбурно, тяжеловато заходит. За то думаю отличный опыт для тебя и маркеры где надо подтянуть знания. Думаю сказалось волнение. Удачи в будущем. В целом спасибо Макс и Роман как всегда полезно.
Да, это по факту второе мое техническое собеседование по Java и т.к. я целился в мидла и ожидал сложных вопросов, волнение присутствовало) Первый ответ про контракт вообще слушать невозможно)) Дальше вроде получше. Но в целом слабые моменты подсветил) И над подачей точно надо работать)
А кто может подсказать, почему везде пишут, что алгоритмическая сложность удаления элемента из LinkedList константное О(1), если надо сделать итерацию по списку пока мы не найдем элемент. Или поиск для удаления не считается, а считается сам процесс удаления?
Поиск до середины в linkedList считай O(n) дойти до середины и у нужного элемента меняем поинтер (удаляем связку с ненужным элементом) В начале О1 очевидно, мы с корня начинаем В конце тоже O(n), ибо до последнего элемента надо дойти (это не список, где можно конец переопределить)
Честно говоря, двоякие ощущения при просмотре - очень много воды и лишних слов. - На вопрос "о себе и ожиданиях" я бы отвечал коротко: "Такой-то такой-то, с таким-то опытом в такой-то сфере, работал с тем-то, стремлюсь туда-то" - информативно, без белого шума, имеет потенциальную ценность для интервьюера. Где и в каком году заинтересовался и прочие детали - имхо, это личное дело, которое не несёт никакой смысловой нагрузки. - JavaRush я бы вообще упоминать стремался - дикий ресурс, где играют в "удовлетвори валидатор". - По разнице между ArrayList и LinkedList можно более обобщённо: а. Структура данных ArrayList хранит в себе массив элементов, LinkedList - набор последовательно связанных между собой нод. Отсюда вытекает следующее: б. При сохранении. ArrayList: , LinkedList: , при удалении , при поиске . в. Потребление памяти: ArrayList: , здесь же упомянул про loadFactor, LinkedList: , упомянул про очередь. В основном: увереннее быть, конкретики побольше и воды поменьше. Имхо, конечно.
Согласен. + отвечать на поставленный вопрос и не говорить "Ой, а ещё к этому вопросу такой задают, но я просто него ничего не знаю". Спросили конкретно, конкретно ответил - если опыт есть работы с технологией - подсвечиваешь тонкости.
Мой лайк Вам. )))) Хотелось бы услышать беседу со специалистом инженерного уровня, не техника. Интересно послушать людей, которые решают какие то сложные логические проблемы, какие ни бывают, как часто встречаются и т.п..... Как подключить розетку к проводам - дело полезное конечно, но это делают многие... Не примите за хейт.... Жду нового контента. )))
3,14здец, на любой вопрос отвечать - ну знаете, я родился в год калькулятора, а папа в год черепахи потому то и встретил маму, что родилась в год бульдозера бл@ть и родили сестру бетономешалку А вопрос был : сколько было яблок у ёжика если он купил 2 штуки и стало 3
Ну так, потому, что разница между годом калькулятора и годом черепахи составляет 2 года, в то время, как год бульдозера и рождённая сестра бетономешалка, с редким недугом писать матерные слова, частично заменяя в них символы, олицетворяет стремление к числу 3. Именно поэтому ёжик с самого рождения, чувствовал в душе некую пустоту и однажды таки решился заполнить ее купив два новых яблока! Что непонятного то?) П.с. ёжик счастлив)
раньше и трава зеленее была. Раньше меньше было технологий и знаний необходимых. Сейчас у джунов больше спрашивают, чем в 2003. Сам начинал работать с нулевых. И требований было намного меньше.
Интервьюер: почему ты выбрал именно Java?
Интервьюируемый: ну, если говорить о выборе языка программирования, то я бы хотел начать с истории программирования в целом. История программирования - это увлекательная тема. В самом начале, когда компьютеры только начали развиваться, программирование было целым искусством. Первые языки программирования были весьма примитивными и не имели той гибкости, которую мы имеем сегодня.
Можно вспомнить такие языки, как Assembly, который был крайне сложным и требовал значительных усилий для написания даже самых простых программ. Перейдем к языкам высокого уровня, и мы увидим, как они стали более удобными для разработчиков. Один из таких этапов - создание языков, которые поддерживают объектно-ориентированное программирование. Это был важный шаг, который позволил создавать более масштабируемые и поддерживаемые системы.
Также стоит отметить, что каждый язык программирования имеет свои уникальные особенности и предназначение. Например, C++, который я лично считаю очень интересным, был разработан для улучшения возможностей языка C, и он значительно расширил возможности разработки системного программного обеспечения. Но C++ имеет свои сложности, особенно когда речь идет о управлении памятью, что в свою очередь привело к необходимости разработки новых языков.
Теперь, если мы обратим внимание на развитие операционных систем, то стоит упомянуть о том, как важна поддержка программирования на уровне операционной системы. Например, Windows и Linux имеют свои особенности в обработке программного кода и управлении ресурсами. Эта поддержка влияет на выбор инструментов и языков программирования, так как некоторые языки лучше интегрируются с определенными системами.
Ещё одной важной темой является веб-разработка. Когда мы говорим о веб-приложениях, то здесь мы сталкиваемся с языками, которые позволяют создавать эффективные и удобные веб-сайты. Это приводит нас к рассмотрению языков, таких как JavaScript, который стал очень популярным благодаря своей способности работать непосредственно в браузере. Но интересен и вопрос эволюции веб-технологий, как, например, развитие HTML и CSS, которые играют свою роль в создании современного веба.
И говоря о веб-разработке, нельзя не упомянуть про важность систем управления базами данных, таких как MySQL, PostgreSQL и их использование в различных проектах. Эти системы базы данных позволяют эффективно управлять данными и интегрироваться с различными языками программирования.
Хахахаха точно
Спасибо, готовится по вашим собесам к собеседованиям, залетел, щас работаю уже 2 месяца, скоро испыталка подойдет к концу
А какие задачи чаще всего дают на собеседованиях для Junior Java разработчиков? Лично я выбирал курсы по IT, чтобы сменить профессию после работы преподавателем по вокалу. Рассматривал разные компании, но в итоге остановился на Skypro, где наставник помог мне не только пройти обучение, но и найти первого заказчика))
Найти заказчик на джуна это как выйти в космос без скафандра 😂
@@Galaktionov это ты боту отвечаешь) чисто реклама
Спасибо за такой контент ,очень полезно
Интервью отличное! Роман молодец, шо тут сказать :) Хорошо шарит во многих вещах при таком небольшом опыте работы. Чел, не сдавайся, ты могешь.
Благодарю:)
Благодарю за видео. Смотрю так как сам готовлюсь к собеседованиям. Как всегда все интересно, жаль, что кандидата не очень приятно было слушать
это собеседование однозначно меня убедило, что не только проходить интервью - невероятно трудная задачка, но и проводить их иногда может быть пыткой...
А мне показалось, отлично пообщались) Ну либо надо забрать Оскар у Ди Каприо и отдать его Максу за лучшую актерскую игру)
@@romanmiller4232 мне так нравится ваш настрой))
@@romanmiller4232слишком много углублений, на собесах на уровне мидла и даже джуна, надо объяснять все кратко без лишних примеров, если не просят кнш. Просто могут завалить на вопросах, если сказанешь что-то лишнее и в конце можешь не вывезти. Но, тянуть иногда время тоже надо, если нету лайфкодинга кнш, там тебе не выгодно время резать
@@kittensandanimation7222 да, тут полностью согласен) Этот момент я уяснил) Просто я в принципе много говорю, вот и тут, как то, одно за другое, и как сказал Макс - "Сам вопрос задал - сам на него ответил")) Что далеко не всегда хорошо на собеседованиях
А можно после каждого вопрос-ответ еще добавлять ответ специалиста? Не просто «ага, да, молодец»
1:39:00 еще б добавил, java-config еще используют, если есть какое-то условие для создание бина и еще мы хотим создать много разных бинов одного класса, с разными настройками
Максим, спасибо за очередной собес) Если можно вопрос, и одно предложение. Вопрос - на сколько данное собеседование соответствует реальному на позицию джуна? И если возможно, можешь указать на своё видео, которое, по твоему мнению, наиболее соответствует вопросам с реального собеседования? И предложение для контента - не хочешь провести сам себе идеальное собеседование?) Т.е к примеру взять все вопросы что ты задавал на всех видео, свалить их в кучу, и дать на них эталонный ответ. Я думаю было бы интересно, и очень информативно. В некоторых видео люди ходят вокруг да около, и ты ответ более менее принимаешь, но четкого ответа на поставленный вопрос так и нет.
1:43:20 парень все верно сказал, спринг создает, но управление lifetime уже ложиться на программиста - например удаление его
Тяжело слушать товарища этого 😢
Ох, мне тоже)
@@romanmiller4232 я думаю, ты понимаешь, как что работает, как применить это в задачах. а как словами это описать лаконично и вообще объяснить простыми словами вслух - другое дело. всё получится :))
@@irinaecht9732 Спасибо :)
Это собеседование, явно подсветило мою проблему с грамотным и лаконичным донесением информации (о чем Макс и сказал в первую очередь, за что на самом деле огроменное спасибо, потому что я мог бы проходить собеседования, получать отказы и вообще не понимать, в чем, собстно, дело, ведь вроде нормально на все отвечал). В общем, буду над этим работать)
Начало поменялось 👍👍
Шикарный контент, спасибо большое!
о, вижу Макса Добрынина и собес, ставлю лайк :)
ай как про докер хорошооо
спасибо ♥
Хорошее интервью, спасибо!
Рассказ о себе обязательно как следует доработать, пока звучит как "я тут просто рядом курил, что-то делал по мелочи" - не очень убедительно.
И не спешить так с речью, а говорить спокойно, уверенно.
Тоже возьму на заметку, спасибо)
Передайте Роману чтобы не держал гитары возле батарей, лады повылезают все)
Благодарю)
Но Роман уже не первый десяток лет живет с гитарами и обслуживает их, так что о таких нюансах в курсе)
На лето, батареи отключены, а гитары кочуют по квартире, в зависимости от сезона)
Если ничего не понимать, то может показаться, что кандидат сильный, просто потому что постоянно говорит. Любой +- разбирающийся в деталях человек поймёт, что к половине интервью ни на один вопрос он нормально не ответил, все перепутано, как будто бы лишь бы что-то сказать
Точное описание. Меня хватило ненадолго...
Экает, бекает, слушать невозможно, речь несвязная... соответственно, соответственно, соответственно...
Непонимание ответа не делает ответ неправильным)
Если бы не болтал, возможно успели бы еще алгоритмическую задачку решить
В ответах воды много сути мало.
в каком это месте ReadWriteLocks это оптимист локинг...
Роман, без обид, немного сумбурно, тяжеловато заходит. За то думаю отличный опыт для тебя и маркеры где надо подтянуть знания. Думаю сказалось волнение. Удачи в будущем. В целом спасибо Макс и Роман как всегда полезно.
Да, это по факту второе мое техническое собеседование по Java и т.к. я целился в мидла и ожидал сложных вопросов, волнение присутствовало) Первый ответ про контракт вообще слушать невозможно)) Дальше вроде получше. Но в целом слабые моменты подсветил) И над подачей точно надо работать)
@@romanmiller4232это же вопросы для Джуна
А кто может подсказать, почему везде пишут, что алгоритмическая сложность удаления элемента из LinkedList константное О(1), если надо сделать итерацию по списку пока мы не найдем элемент. Или поиск для удаления не считается, а считается сам процесс удаления?
O(n) везде пишут
Удаление в начале и конце это О(1)
@@botsynth вначале и в конце это да. Это пишут типа лучшее время?
Поиск до середины в linkedList считай O(n) дойти до середины и у нужного элемента меняем поинтер (удаляем связку с ненужным элементом)
В начале О1 очевидно, мы с корня начинаем
В конце тоже O(n), ибо до последнего элемента надо дойти (это не список, где можно конец переопределить)
Честно говоря, двоякие ощущения при просмотре - очень много воды и лишних слов.
- На вопрос "о себе и ожиданиях" я бы отвечал коротко: "Такой-то такой-то, с таким-то опытом в такой-то сфере, работал с тем-то, стремлюсь туда-то" - информативно, без белого шума, имеет потенциальную ценность для интервьюера. Где и в каком году заинтересовался и прочие детали - имхо, это личное дело, которое не несёт никакой смысловой нагрузки.
- JavaRush я бы вообще упоминать стремался - дикий ресурс, где играют в "удовлетвори валидатор".
- По разнице между ArrayList и LinkedList можно более обобщённо:
а. Структура данных ArrayList хранит в себе массив элементов, LinkedList - набор последовательно связанных между собой нод. Отсюда вытекает следующее:
б. При сохранении. ArrayList: , LinkedList: , при удалении , при поиске .
в. Потребление памяти: ArrayList: , здесь же упомянул про loadFactor, LinkedList: , упомянул про очередь.
В основном: увереннее быть, конкретики побольше и воды поменьше. Имхо, конечно.
Полностью согласен
Согласен. + отвечать на поставленный вопрос и не говорить "Ой, а ещё к этому вопросу такой задают, но я просто него ничего не знаю". Спросили конкретно, конкретно ответил - если опыт есть работы с технологией - подсвечиваешь тонкости.
30:20 не будет в хэшмапе вставки с линейной сложностью.
согласен, если LinkedList - элемент всегда становится первым, а в дереве там логарифмическая сложность
Сложность вставки в Linked List O(n), так что она будет линейной в худшем варианте
Интересно
Я видимо себя недооцениваю. разработчик с опытом на базовые вопросы по спрингу толком ответить не может. А я зная ответы на джуна собеседоваться боюсь
А мне всего пару вопросов по кору задали)
Внутри бакета однонаправленный список.
в Java 8 там уже по-другому
48:05 упссс))
Собственно соответственно
Сделай мне минимальный микросервис малыш 😂
Пхах))
Мой лайк Вам. )))) Хотелось бы услышать беседу со специалистом инженерного уровня, не техника. Интересно послушать людей, которые решают какие то сложные логические проблемы, какие ни бывают, как часто встречаются и т.п..... Как подключить розетку к проводам - дело полезное конечно, но это делают многие... Не примите за хейт.... Жду нового контента. )))
У него гитары на батареи стоят, я бы уже не взял 😅
Батареи летом отключены, сюрпрайз-сюрпрайз)
@@romanmiller4232думаю это их стандартное место🤦♂️
@@vladimir8718 вместо того, чтобы думать над вопросами и ответами собеседования)
3,14здец, на любой вопрос отвечать - ну знаете, я родился в год калькулятора, а папа в год черепахи потому то и встретил маму, что родилась в год бульдозера бл@ть и родили сестру бетономешалку
А вопрос был : сколько было яблок у ёжика если он купил 2 штуки и стало 3
Ну так, потому, что разница между годом калькулятора и годом черепахи составляет 2 года, в то время, как год бульдозера и рождённая сестра бетономешалка, с редким недугом писать матерные слова, частично заменяя в них символы, олицетворяет стремление к числу 3. Именно поэтому ёжик с самого рождения, чувствовал в душе некую пустоту и однажды таки решился заполнить ее купив два новых яблока!
Что непонятного то?)
П.с. ёжик счастлив)
"В лесу родилась ёлочка! А кто её родил? Четыре пьяных ёжика и пьяный крокодил!"
Слишком много воды мало по сути….
Нудный тип, мямлит непонятно и запутанно. Он ничего толком не знает
«Я знаю только то, что ничего не знаю, но другие не знают и этого»
Душный, а не нудный)
@@romanmiller4232ну другие могут и вообще ни чего не знать. Может ты и знаешь, но не мешало бы четче излагать свою мысль без воды
Знания есть, просто нужно более четко формулировать свои мысли и будет супер
@@MrAnhahaспасибо 😊
В 2003-м это был бы дохлый номер. Тогдашние джуны были задротами как современные сеньеры.
раньше и трава зеленее была. Раньше меньше было технологий и знаний необходимых. Сейчас у джунов больше спрашивают, чем в 2003. Сам начинал работать с нулевых. И требований было намного меньше.