Техническое интервью Java Developer - Артем Таужнянский
HTML-код
- Опубликовано: 1 июн 2024
- Сегодня, к вашему вниманию долгожданный выпуск серии "Технических интервью" и в наших гостях Артем Таужнянский из далекого и теплого города Одесса :)
Артем учится в политехническом университете и увлекается программированием. Он фанат классического образования и в тоже время не игнорирует различные курсы для повышения собственной квалификации, потому настоятельно всем рекомендует время от времени их проходить.
Если говорить о технической составляющей, то Артем обладает хорошими знания Java, SQL и других языков программирования: С\С++, C#, PHP, Python.
Особенно круто, что он занимается Java уже почти год и это дает ему хорошие шансы получить первую работу.
В настоящее время, Артем готовится искать первую работу и рассчитывает, что наше интервью даст ему понимание о слабых и сильных сторонах, позволит перебороть стресс и заранее подготовиться к прохождению грядущих технических интервью.
00:00 Введение
01:37 Знакомство
10:05 Преимущества использования ООП
11:40 Отношения "Являюсь" и "Имею" в ООП
16:18 Где лучше применить Наследование и Ассоциацию?
17:56 Класс vs. Объект vs. Интерфейс
20:08 Различие примитивных и ссылочных типов данных
22:30 Класс Object и его методы
23:02 Finalize vs. Finally vs. Final
25:20 Ключевое слово final для статического метода
25:50 Контракт между методами equals и hashcode
28:10 Что лежит в основе иерархии исключений
29:15 Разница между проверяемыми и непроверяемыми исключениями
29:40 Почему throws в сигнатуре метода плохо?
31:35 Как правильно выбрасывать исключения?
32:45 Почему выбрасывать RuntimeException плохо?
34:55 InputStream и OutputStream. Как они устроены
37:43 Класс File и его устройство
41:35 Экземпляр класса File содержит только путь к файлу?
43:03 Как избежать принудительную обработку IOException?
46:15 Что такое AutoCloseable и конструкция try-with-resources?
49:37 В чем идея многопоточной среды и что она решает?
50:05 Атомарность и Консистентность
52:25 Почему Java Memory Model важно при работе с многопоточностью?
54:30 Ключевое слово volatile и связанные с ним проблемы
57:25 Synchronized vs. Lock
59:25 Интерфейс Callable. Отличие от Runnable
1:01:18 Преимущества реализаций ExecutorService
1:02:50 Проблема Hashtable и почему появился HashMap?
1:04:05 Потокобезопасные коллекции
1:06:53 Массив байтов как ключ для HashMap. В чем проблема?
1:14:10 Comparator vs. Comparable и их связь с коллекциями
1:20:53 CHAR vs. VARCHAR в SQL
1:23:07 SQL vs. NoSQL
1:27:50 Ограничения (Constraints) в SQL
1:28:45 Автоматическая инкрементация в разных БД
1:29:38 Нормализация БД
1:31:28 Транзакции в БД. Принцип ACID. Уровни изоляции
1:36:30 Уровни изоляции транзакций в БД
1:38:32 Идея фреймворка Hibernate
1:39:16 JPQL vs. HQL
1:42:04 Связи (отношения) в Hibernate. Каскадные операции
1:50:40 На чем основывается Spring Framework?
1:51:48 Как аннотации можно использовать для создания бинов?
1:53:01 Какая ценность аннотации @Bean?
1:53:40 Основные Spring Scope. Singleton и Prototype
1:56:28 Что такое BeanDefinition и зачем он нужен?
1:59:35 Как из Spring-приложения обратиться к другому сервису?
2:01:20 В чем ценность Spring Boot?
2:02:12 Стартеры в Spring Boot
2:03:20 Выводы
2:09:10 Прощание
Наш сайт: jetbulb.com/
Мы в социальных сетях:
t.me/jetbulb
/ jetbulb
/ jetbulb.it
Могу ошибаться или кого-то обидеть, но это самый сильный джун на этом канале. Я бы даже предположил, что это собес на мидла.
Было очень интересно!
Спасибо! Такие интервью с грамотными парнями реально интересно и полезно смотреть
Отличное интервью.Артем удивил хорошим знанием многопоточности,да и вообще видно как приятно собеседовать человека,который понимает о чем он говорит.
Молодец парень, можно смело идти на мидла. Практически теже самые вопросы задают на мидл
Очень полезно, спасибо!
Отличное интервью! Парень просто молодец! Спасибо за видео!
Классная идея. Делаешь ссылку на собес с Максом прямо в резюме и тебя больше компании не теребят) Присылайте сразу оффер
Интересная мысль))
А есть уже прецеденты?
Пока с такими мыслями, приходил только Артем Никулин из предыдущего интервью.
Джун-терминатор!
живая плоть на металлическом скилете
Резонно!
Артём молодец!
Очень мощный джун
В каком месте мощный? Меня за такие интервью пинка под зад давали.
Оцениваю не как эксперт, а как тот, кого за такие интервью в шею гнали.
По софт скилам - часто перебивает интервьювера. (а интервьювер притягивает за уши скилл. не имел не одного реального собеса, где бы так тянули)
Много пробелов: "чо то там, как то там"... я так тоже отвечал, бывало = 0 офферов за такую мощность.
Но может быть мне так везло, хз хз конечно.
@@kolob204 😃
@@kolob204получилось найти работу хоть?)
Макс, спасибо за супер полезное видео!!! Артему удачи в трудоустройстве!)
И тебе спасибо)
Такие комментарии очень мотивируют работать дальше над проектом)
Спасибо. Было интересно и полезно послушать.
Скоро будут новые выпуски.
Там тоже будет интересно и полезно))
@@Jetbulb Три года работаю на Java, периодически приходится менять работу / проходить интервью. Но на ряд вопросов нашел ответы только в ваших видео (скажу честно: книг почти не читал. Не "заходят". Учусь по курсам и заданиям). Стал слушать в "свободное время" (во время зарядки, поездок, прогулок и т.д.). Легко уместились в рассписание. На последних интервью стали попадаться вопросы, из ваших записей. Результаты начали расти.
Сегодня сказали что готовы сделать предложение. Почему-то не озвучили сразу и не прислали письмом. Хотят озвучить во время очередной встречи. Назначили на понедельник. Надеюсь на адекватное.
Напишу, если интересно.
@@972gmailcom1 И чем все завершилось?))
Я не понял ответ Артема на вопрос про ключевое слово final для статического метода (25.15). Максим задает вопрос "Имеет ли смысл слово final для статического метода"? Артем отвечает "Имеет, ведь статический метод относится к классу, а не к объекту, и мы не можем его переопределить". Где тут ответ?)) Ведь по рассуждению Артема, раз мы не можем переопределить статический метод, то и слово final не нужно.
P.S. Я знаю, что слово final для статического метода имеет смысл. Просто я в ответе Артема не услышал, в чем именно заключается этот смысл. Я услышал то, что статический метод нельзя переопределить. А причем здесь слово final? А Максим его ответ посчитал здоровским) Хотя может я чего-то просто недопонял)
Круто! Будучи мидлом много нового узнал) ну или скорее услышал ответы на витающие в воздухе вопросы) спасибо!) Продолжайте! Оч круто!
Спасибо))
Круто что тебе понравилось. Это лучшая награда!
Жиза. Дайте мидла этому хлопцу уже
@@gleb_0 Я вам доложу, что скоро им он станет)
Да чел хорош
Похвально, людина розбирається. Дякую, було цікаво!
Наша Людина з великої літери)
Вже працює! Хай Артемові щастить!
Привет, Макс) Спасибо! Шикарный контент для новичков) п.с. а не решаются наверно новички типа меня, с полгода учебы java, да и смысла пока не вижу, знаний объективно маловато..
Привет))
Бояться не надо, но ты прав: - «На собеседование надо ходить подготовленным.»
Иначе, просто нет никакого смысла. Удовольствия мало, разочарований много)
Мы для этого и поддерживаем канал, чтобы новичкам было проще и приблизить их к работе желанной.
Жду тебя не интервью 😉
@@maksymdobrynin Спасибо! Я стараюсь, да и с вашими видео очень многое разжевано, остается только побольше добирать практики)
@@maksymdobrynin привет, устроился на работу с тех пор?
Он спокойно может пройти собес на Мидла. Добавить еще года практики и готовый Сеньор!
А есть ли ваши интервью в виде аудиоподкастов? Чтобы слушать например, на Spotify, когда делаю какую то работу
Подписка RUclips premium решает эту проблему,ну или есть бесплатная приложуха с возможностью свернуть RUclips
RUclips vanced а ещё я слышал про newPipe
в телефонах сяоми есть встроенная возможность слушать с выключенным экраном
на ютубе есть инструция
Дуже крутий хлопець 💪💪💪
Привет, автор, ты молодец, твои видео очень ценные, продолжай в том же духе. Я джаву ещё немного получу и тоже попробую попасть к тебе))
Спасибо))
Мы тебя будем ждать!
а глубокие знания maven нужны при собеседовании на джуна или достаточно общих понятий: что это, что делает ?
Скорее не глубокие, но практичные:
- как устроена структура проекта
- подключение и настройка плагинов
- базовое управление зависимостями
@@Jetbulb, спасибо
25.30 final для статик метода, почему имеет смысл? final - значит метод нельзя переопределить, static тоже нельзя переопределить. Получается масло масляное.
метод static - можно переопределить в наследнике. метод static final в наследнике переопределить не получится (если не использовать рефлексию). попробуйте сами
@@JIeshaz Это будет не переопределение, а просто декларация нового метода, которая перекроет реализацию родительского класса
@@ZodiacH3 как угодно. С final это сделать не выйдет
Его ответы похожи на знания которые дает dmdev. У него отличные курсы.
Хотелось бы увидеть больше интервью на позицию мидла. Учитывая текущие реалии на рынке труда, вероятно, проще будет найти работу сразу на позицию мидла нежели на позицию джуна.
Не у всех мидлов и уровнем выше есть время и желание.
Но нам точно не хватает такого контента, будем что-то думать.
Ахренеть! Он джун?
это интервью на сеньора лол
говорю как человек который был на многих интервью на сеньора
Здравствуйте! Могли бы Вы скинуть ссылки на те онлайн- курсы, которые он проходил? Ну или может посоветуете хорошие?
Здравствуйте! Я проходил курсы на udemy от dmdev: www.udemy.com/course/spring-dmdev/
@@user-kg6yq1cv6r Спасибо за ссылку! Но как только перешел по ней - почему-то выдало ошибку ("банан тебе, а не курс").)) Может быть Вы неполный путь прописали в этой ссылке? Подскажите, пожалуйста, какие еще ресурсы (курсы, книги) по java на Ваш взгляд будут полезны, чтобы после них смело можно было бы претендовать на позицию junior java developer?
@@mrLukas-du4xd Лучше зайдите на ютуб-канал dmdev, там будут и курсы.
Насчет необходимых ресурсов для позиции junior java developer, на этот вопрос лучше пусть ответят опытные разработчики, т.к. я ещё не работаю разработчиком). Но я могу сказать, что я читал для джавы, это: Философия Java, Effective Java. Также есть очень много статей и видео на Ютубе.
@@user-kg6yq1cv6r ок. Спасибо!
@@user-kg6yq1cv6r +1. У Дениса очень крутой материал, сам благодаря ему уже 3 неделю пашу джуном)
По моему он сам может интервью проводить
Почему бы и нет :)
думал намекаешь на буфер в ОЗУ говоря что не сразу работаем с файлом - это не так? думал намекаешь на девайсы или сеть говоря что путь не к сущности на диске
Артём ТаУ3ж;Нский нормальный тип
Извините, это на джуна такое собеседование?
Да. Но это не означает, что такое будет в каждой компании. Может быть гораздо легче или многим проще, или еще сложнее.
Тут мы прогоняем максимально, чтобы познакомить интервьюируемого и аудиторию с вопросами и ответами.
@@Jetbulb you mean «Но это НЕ значит…»?🤔
@@John_Smith_Java Ага. Подправил. 👌
Макс, контент шикарный! Когда будет следующий набор на интервью? Можно ли мне поучаствовать? Я девушка. А то одни пацаны))) И для девушек будет дополнительная мотивация, если следующим interviewee буду я и плюс, хотелось бы, чтобы знали, что в backend-e тоже бывают девушки 😊
Привет :)
Да какие вопрос, девушка так девушка.
Я только рад буду провести интервью с хорошим человеком.
Давай всему миру покажем вместе, что девушки в ИТ тоже есть и что они могу.
Напиши мне плз в ЛС в ТГ @maksymdobrynin
Спасибо за фидбек
Парень красавчик, я по уровню мидл минус и теорию знаю хуже))
А потому что в Реале вообще все по другому, я вот тоже сижу и думаю как я все это забыл.
P.S. Не все кончено)))
Присоединюсь к забывашкам
У парня очень хорошая теория
Да слушаешь, и становится стыдно, что булучи мидлом много в каких вещах сам плаваешь, а парень это уверенно знает
@@SiMoN-hk1jf что ты имеешь ввиду, что в реале по другому?
@@Das.Kleine.Krokodil В риал лайфе вся эта теория превращается в пыль и просто забывается от ненадобности, потому что вы банально можете попасть на проект где много чего не используются, я уверен что наш архитектор не ответит на 90% этих вопрос, вот и приходим к выводу, что знание всей теории не делает вас хорошим программистом так же и в обратную сторону.
Вот мне интересно где он сейчас работает?
Пока в поисках работы.
Из-за войны, в Украине очень сильно порезались вакансии и многие просто все свернули.
Из-за перебоев с электричеством компании сворачивают проекты, где джинам можно было бы воткнуться
@@Jetbulbнадеюсь сейчас у него все хорошо, и он нашел себе работу?
Когда понимаешь 25% из того о чем они говорят )))))
🤣 Ничего, все еще будет))
Даже не сомневаюсь в тебе)
Тут уровень выше Джуна.
Интересное мнение.
Почему так считаешь? Поделишься мыслями?
@@maksymdobrynin Смотрел достаточно много интервью мидлов (реальные). И могу сказать, что этот парень отвечал не хуже (если не лучше) этих ребят. Год изучения, плюс за спиной C, python, поэтому эт не так удивительно. Плюс ниже он писал, что за курсы он проходил, я с ними знаком, и знаю, что курсы эти очень хорошие. Там автор прям глубоко темы капает. Очень глубоко. Да, для мидлов и вопросы чуть посложнее будут, согласен, но если он прошел те курсы, о которых он говорит, я думаю, что и на эти вопросы он бы ответил.
Тож так показалось. Нельзя его брать на джуна, это не гуманно :)
@@oeaoo )))
@@abuyasin2931 И это классный фидбек))
Спасибо за комментарий!!!
Но не стоит забывать, middle и senior это не только про знания Java. Там куча всего иного еще под капотом кроется и не всегда технически.
Потому и есть такие шеврончики)
Норм дев
Ну чисто моё мнение, что интервью на мидла или выше
Ведущий высыпайся :D
Даже не знаю, что и сказать)
Но пожалуйста пойду спать 😂
Последую совету)
@@maksymdobrynin как давно собеседуешь людей?
@@oeaoo На ютубе меньше года.
А на проектах несколько лет.
Парень молодец, а интервьюер не понравился. Много словесного мусора, простые вопросы запутывает так, что непонятно что имеется ввиду (тот же пример с наследованием, композицией), не слышит собеседника, что в итоге выливается в "ты ошибся"
и что не так с наследованием и композицией? обычный диалог
Инкапсуляция, наследование, полиморфизм, абстракция) Если б меня реально кто спросил про "являюсь" и "имею" на собесе, я б от смеха больше ничего ответить не смогла. Вопросы всё ни о чём, на собесах просят всё объяснять на примерах. И когда рассказываешь, тоже просят провести пример. И именно на примере понятно, ты просто выучил определение или понимаешь, что говоришь. Это не собес на видео, это какой-то обмен определениями. Только в конце что-то практическое про спринг. С кандидатом всё ок, а вот к интервьюеру вопросов много.
Привет)
Спасибо за отзыв. Давай лучше к делу и реалиям, вместо красных речей. Приходи к нам на собес и пройдемся по примерам и задачкам.
Обещаем, что ничего предвзятого не будет. Только максимальная симуляция собеседования, как будто идешь на реальную позицию в реальную компанию.
Хм..? 😏
@@Jetbulb Зачем мне это с 7-ю годами опыта? 😂 Я лучше на реальный собес схожу)) Возможно, я немного предвзята, потому что таких вопросов давно не встречала. Но, честно, у меня такое даже на джуна не спрашивали. Тем более на мидла или синьора. А сейчас рынок более конкурентный.
Нашла это видео потому что хотела по-быстрому повторить все возможные темы перед собесами, услышать какие-то интересные практические вопросы, задачи. Но испытала разочарование в итоге. Реально интересное видно с "пробным" собесом было только с jpoint'a "Техническое интервью с Евгением Борисовым".
@@fur_mur
Разве 7-лет опыта работы говорит что-либо о квалификации...? Знаешь сколько таких кодеров в мире о_О
По меньшей мере, это очень самонадеянно)))
О том то и речь, если хочешь что-либо повторить перед собесом, то это можно вполне сделать тут.
Именно потому и предлагаю, приходи к нам и пройдемся)))
Потратишь 1.5 часа серфа в интернете по различным видео или потратить эквивалентное время на мок-собеседовании с реальным человеком в реальных условиях. Разница чувствуется.
Если все-таки надумаешь, ты знаешь куда писать)
@@Jetbulb Какая мне разница, сколько таких кодеров в мире, вы о чём?) Я про 7 лет сказала в контексте того, что мне реальный собес очень легко найти, зачем мне ваш, кривой? Я потрачу время, только если вы мне очень хорошо заплатите)) Не спросили кандидата ни про гит, ни про сборку проекта, ни про синтаксис sql-запросов, ни про тестирование, ни про solid, хотя бы, ни про то, какие проекты он реализовывал в рамках учёбы. Рандомных вопросов из гугла натыкали и назвали собесом. Из этого 2-ч часового нечто невозможно оценить, сколько усилий придётся приложить для того, чтобы Артём влился в процесс разработки, и каких практических навыков ему не хватает.
В мире полным полно нормальных реальных интервьюеров, с которыми можно провести полтора часа с пользой, а не потратить) Если кому-то ваши интервью помогают, я очень рада. Но говорить, что они максимально похожи на реальные интервью, - это очень самонадеянно)
@@fur_mur Другого ответа и не ожидалось, хотя в душе верил в лучшее. Не смею более тратить ваше время. Удачи)
Как же ты душишь терминологией-_-
Беспон... лезно 😁