Техническое интервью Java Developer - Дмитрий Квасников

Поділитися
Вставка
  • Опубліковано 17 лис 2024

КОМЕНТАРІ • 74

  • @moukantaharaband62
    @moukantaharaband62 2 роки тому +4

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

  • @vadimgrishenkov345
    @vadimgrishenkov345 2 роки тому +18

    Спасибо за работу авторам канала и Максу Добрынину в частности)
    Очень полезные интервью для прокачки навыка прохождения собесов, все больше и больше хочется попробовать пройти на jetbulb интервью на джуна, но страшно))
    Круто что есть такой канал

    • @Jetbulb
      @Jetbulb  2 роки тому +3

      Спасибо за такой круто фидбек))
      Будем стараться и дальше!

    • @Jetbulb
      @Jetbulb  2 роки тому +1

      Вадим, не бойся)
      Мы тебя ждём)

  • @madbad6
    @madbad6 2 роки тому +3

    Максим, спасибо тебе за видео. Благодаря, в том числе и, твоим видео я получил первый оффер.👍

  • @m0naco608
    @m0naco608 6 місяців тому +1

    Каким же счастьем будет, если в 2024 году, на реальном собеседовании на позицию джуна, будут спрашивать такие вопросы )

  • @КириллОструбин
    @КириллОструбин 2 роки тому +6

    Ребят, вы чего? Что за недовольство? Видео бесплатные, не нравится - не смотрите. Спасибо за интервью. Если меня читает интервьюющий - это всего лишь собеседование, да, публика, но не надо так забиваться. Просто представь, человек проходит собес и чертовски волнуется, что подумает собеседующий? - "Он даже не столкнулся с рабочими задачами, а уже сильный стресс". Собесов куча, ты о твоя ЦНС одна, так что релакс))

    • @TheN1ck3LShow
      @TheN1ck3LShow 2 роки тому

      Спасибо за совет, ты абсолютно прав :)

    • @maksymdobrynin
      @maksymdobrynin 2 роки тому

      Ты наверное имел ввиду "интервьюируемый", а не "интервьюющий" ?)))

  • @sovrinfo
    @sovrinfo 2 роки тому +2

    Спасибо за видео.Коммент в поддержку!

    • @maksymdobrynin
      @maksymdobrynin 2 роки тому +1

      Спасибо)))
      Будем стараться и дальше!

  • @Z417O
    @Z417O 2 роки тому +3

    Хорошее интервью, подпишусь, выписывал что ещё не знаю, вначале думал я уже на уровне джуна)) благо это быстро прошло)

  • @hagabobo88
    @hagabobo88 Рік тому +2

    Блин, ну выглядит так, будто чувак заучил свои знания :)
    А еще, такое чувство, что не нужно отвечать на то, о чем не спрашивали, много где это пролетало.

    • @tusman4ik
      @tusman4ik Рік тому

      Да, такое же чувство! Он не понимает, что такое полиморфизм. Жеесть.

  • @fastmakc3379
    @fastmakc3379 2 роки тому +4

    Максим, спасибо за труды. Если будет возможно, разбери на примере портфолио и вообще очень интересно услышать мнение о том как должно выглядеть портфолио джуна

    • @Jetbulb
      @Jetbulb  2 роки тому +2

      Спасибо большое за отзыв)
      Уже записал, будем думать как это доставить. И спасибо за хорошую идею.

  • @stanislavshilo6022
    @stanislavshilo6022 2 роки тому +2

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

  • @sergeysoprunovvv9656
    @sergeysoprunovvv9656 2 місяці тому

    53:00 - сказал бы просто, что TreeSet использует красно-черное дерево, и вопрос бы сразу бы отпал)

  • @gustawbobowski1333
    @gustawbobowski1333 2 роки тому +4

    Не первый раз замечаю как Максим утверждает что диапазон Integer: от -2^32 до 2^32
    на деле: 2^31 потому что 1 бит используется для указания знака.

    • @maksymdobrynin
      @maksymdobrynin 2 роки тому +2

      Хорошее замечание)
      Но на самом деле, это просто дефект произношения.
      Однако спасибо за замечание, в след раз буду точнее в изречениях 👍

    • @gustawbobowski1333
      @gustawbobowski1333 2 роки тому +1

      @@maksymdobrynin Вам спасибо, Максим. Удачи в дальнейшем развитии канала и коммьюнити!

    • @pashok1228
      @pashok1228 2 роки тому

      Немного дополню касательно первого бита, при установке первого бита в 1 начинается диапазон минусовых чисел (определенному двоичному представлению начинают соответствовать минусовые значения)
      0b00000011 = 3 в то время как
      0b10000011 = -125
      Собственно по этому и нужно для перевода отрицательного числа в двоичный код перевести положительное число в двоичную систему, потом поменять нули на единицы и единицы на нули, а затем прибавить к результату 1

  • @ZaWgYchannel
    @ZaWgYchannel 2 роки тому

    ВАУ КАКОЕ КРУТОЕ ИНТЕРВЬЮ ОДНОЗНАЧНО ЛАЙК!!!

  • @alexmanwell
    @alexmanwell 2 роки тому +3

    Про шаблон строитель (Builder pattern) хорошо написано в книге Effective Java Джошуа Блоха, статья 2, там в начале книги.

    • @Jetbulb
      @Jetbulb  2 роки тому

      Одобряю))
      Всем книгу эту рекомендуем к прочтению.

    • @ksyu9455
      @ksyu9455 Рік тому

      ​@@Jetbulbэту книгу как раз нельзя рекомендовать всем))) там нужно крепко базу знать с практикой(книга больше для аппа скилла)

  • @dmytromoroz4451
    @dmytromoroz4451 2 роки тому +1

    Отличный контент! Спасибо.

  • @Barsikspit
    @Barsikspit Рік тому +1

    Про сравнение ромбовидного наследования с пирамидой смерти сильно было)))

  • @dan4ikbeket0w48
    @dan4ikbeket0w48 Рік тому +1

    Дмитрий молодец, ТОБИШЬ знает достаточно как для джуна)

  • @wolwerinexxx
    @wolwerinexxx Рік тому

    еще вы не сказали, что абстрактный класс как и в принципе любой класс можно унаследовать только один. А интерфейсов может быть у класса наследника куча..

  • @withotsoul7252
    @withotsoul7252 2 роки тому +1

    Классное интервью) Спасибо!!!!!!!!!!!

  • @annamind5650
    @annamind5650 2 роки тому +3

    "будем потихоньку закругляться"
    Смотрю на тайм лайн: ещё остаётся 40 минут видео

  • @МаксМакс-ч8к
    @МаксМакс-ч8к 2 роки тому +4

    Максим, здравствуйте!
    Подскажите, пжл, хорошую литературу для изучения основ java!
    Или всё же лучше найти себе ментора?!
    Спасибо!!!

    • @stasevich741
      @stasevich741 2 роки тому

      0) Кэти Сьерра и Берт Бейтс - Изучаем Java
      1)Кей Хорстманн. Java. Библиотека профессионала. или Герберт Шилдт | Java. Полное руководство
      2)Мэтт Вайсфельд "Объектно-ориентированное мышление" (4-е изд.)
      3)Рауль-Габриэль Урма, и др. | Современный язык Java. Лямбда-выражения, потоки и функциональное программирование
      ну и дополнительно читать статьи и сайты .

    • @Jetbulb
      @Jetbulb  2 роки тому

      Привет, Макс!
      Если мы говорим про Java, то пожалуй самый лучший автор для начинающих - "Полное Руководство" Герберт Шилдт. Брать последнее издание.
      Вопрос про книгу и ментора не совсем правильный))
      Одно другому не мешает, и каждое решает разные задачи.
      Если тебе нужен человек, который будет следить за твоим продвижением, наставлять, помогать, тогда конечно нужен ментор.
      Если же просто хочется узнать, как Java выглядит и что может в основе своей, то можно и книгу полистать.
      Что же твое?))

    • @МаксМакс-ч8к
      @МаксМакс-ч8к 2 роки тому

      @@Jetbulb Хочу изучить java с целью дальнейшего трудоустройства! Кое как начал! Думаю, что основы в состоянии сам понять, чтобы с ментором не терять время зря!
      Спасибо Вам за ответ!
      Удачи в развитии канала👍

  • @ДмитрийКаськив-ы7ч
    @ДмитрийКаськив-ы7ч 2 роки тому +12

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

    • @aleksandrm.5312
      @aleksandrm.5312 2 роки тому +1

      Дима, первое, что хочется сказать, ты оч. крутой и смелый! Ты сказал: "Java... ну занимаемся месяца месяца четыре". Я подумал: "Ну нифига себе, всего 4 месяца и пошел на запись интервью". Будет точно необычно...
      Мне просто 31 (будет 32, когда все прочитают это комментарий :) С IT знаком близко, только по другую сторону - продаю то, что написали. Но всегда было интересно "а что там под капотом". Я пытаюсь понять этот "magic" самостоятельно, гугля и, решая задачи на бесплатных (до времени) ресурсах. Так уже месяцев 7 или 8. Для меня вторая часть интервью про SQL и про Spring осталась загадкой). Еще не дошел в изучении...
      Но невероятно офигенно, что ты это смог притронуться к этому за столько короткий промежуток времени, при этом отвечая "базовые" на вопросы по Java по коллекциям. Я бы поплыл... Уверен на 100%, что у тебя все получится! Желаю не останавливаться. Помнить всегда, ради чего все это затеяно, помнить про свою мечту! И, конечно, не забывать про отдых)
      Максим, большое спасибо за интересные и жизненные вопросы, за сам тон интервью, и что подобное в принципе освещается! Увидел случайно, но ни разу не пожалел, что просмотрел "от" и "до". Еще буду на репит ставить!
      p.s сейчас сам учу на hyperskill от jetbrains hyperskill.org/join/dfbdab810
      если с английским более или менее "ок", то оч. доходчиво (а если нет, то переводчик спасает, сам часто перевожу; установите приложение grammarly в chrome).В данный момент пытаюсь написать игру "Морской бой". Посмотрим, что будет...

    • @TheN1ck3LShow
      @TheN1ck3LShow 2 роки тому

      @@aleksandrm.5312 Спасибо, очень приятно было читать :) На самом деле, главное - большую часть времени уделять практике, стараться особо не заучивать материал (формулировка сама ляжет в голову со временем), пытаться всесторонне подойти к определенной задаче, и, главное - в конце пройденного материала/решённой задачи, делать вывод : с чем я столкнулся, что помогло мне это решить и что с чем взаимодействует при этом (двигаюсь именно так). Желаю и тебе успехов в этом деле, я думаю, что и у тебя все получится ! :)

    • @tereshchenkotav
      @tereshchenkotav 2 роки тому

      Чтобы тебе в рашке "не хватило мест" нужно набрать 90/300 баллов наверное, этих говно вузов как говна, другое дело что они бесполезны

  • @lesterbruke8166
    @lesterbruke8166 2 роки тому +2

    а если создать метод, который будет возвращать экземпляр класса bird, в котором использую new будем его создавать, а с помощью getter&setter изменять его поля?

    • @maksymdobrynin
      @maksymdobrynin 2 роки тому

      Привет :)
      В рамках какого момента у тебя этот вопрос\решение возник?
      Так то можно ответить "да", но не зная контекст проблемы затрудняюсь.

    • @lesterbruke8166
      @lesterbruke8166 2 роки тому +1

      @@maksymdobrynin Привет! Как только вы объяснили условия задачи(задача1 в таймкоде), первое что мне пришло на ум)

    • @ЕвгенийИльин-ф4м
      @ЕвгенийИльин-ф4м 2 роки тому

      @@lesterbruke8166 при создании инициализировать объект класса можно очень разными способами(например используя паттерн Builder или Fabrica. но самый простой способ - это через конструктор, либо создать пустой объект ( если есть конструктор по умолчанию без параметров) и сеттерами проинициализировать. в начале интервью речь шла об: у тебя есть проинициализированный объект Bird, ты создаешь еще один объект Bird и в конструктор в качестве аргументов передаешь поля, полученные из первого объекта, с помощью геттеров.

    • @lesterbruke8166
      @lesterbruke8166 2 роки тому

      @@ЕвгенийИльин-ф4м так никто и не спорит ведь) просто первое что на ум пришло

    • @lesterbruke8166
      @lesterbruke8166 2 роки тому

      @@ЕвгенийИльин-ф4м к тому же мы создаем экземпляр класса Bird, у которого уже имеется конструктор, все что он нас требуется - изменить значения полей на необходимые.

  • @aliakseibialiauski3773
    @aliakseibialiauski3773 2 роки тому +1

    по hibernate бы больше вопросов ...

  • @annamind5650
    @annamind5650 2 роки тому

    34:49 разве там не будет проблемы с полем name из-за того, что оно String (то есть, объект). Если поменяем значение name у 1го объекта, то и у второго поменяется

    • @TheN1ck3LShow
      @TheN1ck3LShow 2 роки тому

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

    • @annamind5650
      @annamind5650 2 роки тому

      @@TheN1ck3LShow аа, точно) благодарю за разъяснение

  • @Comm1ted
    @Comm1ted 2 роки тому +1

    Поработать бы над камерой, а так супер

    • @maksymdobrynin
      @maksymdobrynin 2 роки тому +1

      Хорошее замечание на самом деле.
      Но тут есть проблемы некоторые. Потеря качества будет серьезная как не крути, поскольку это проводится в онлайн режиме.
      Вероятно, имеет смысл подключить доп. камеру и протестить с ней и сравнить качество.
      Интернет ок, потому это не проблема.
      Идеала не получится, но вот улучшить полагаю реально.
      Спасибо за отзыв))

    • @Comm1ted
      @Comm1ted 2 роки тому

      @@maksymdobrynin Как минимум, у интервьюеру можно записывать камеру отдельно. О том же можно просить и респондента. И потом уже на монтаже сопоставлять звук с камерой. Не знаю насколько это реализуемо на практике, но я бы сделал так. Всё зависит от задержки сервиса на котором проводится интервью

    • @Jetbulb
      @Jetbulb  2 роки тому

      Это всегда представляется возможным. Не все интервьюируемые люди имеют такую возможность. С нашей стороны, конечно есть над чем работать, но на другой стороне могут быть с этим трудности.
      Вообще мы уже думаем, над тем как улучшить качество публичных интервью))

  • @shimmyshimmyyea
    @shimmyshimmyyea 2 роки тому +1

    28:40 здесь разве не нужно писать this.name, this.health?

    • @Jetbulb
      @Jetbulb  2 роки тому +1

      Нет.
      1. Мы находимся в своем классе
      2. Конфликта имен нет
      3. Мы находимся в стеке, он хранит ссылку на объект

  • @oleh_marchenko
    @oleh_marchenko 2 роки тому +5

    Рубрика "Интервью с джуном", как по мне, уже очень баянистая.. Нужно идти дальше и делать рубрику "Интервью с мидлом/сеньором")

    • @vitaliiboichuk8287
      @vitaliiboichuk8287 2 роки тому +2

      Мидлам/Синиорам это не интересно)

    • @oleh_marchenko
      @oleh_marchenko 2 роки тому

      @@vitaliiboichuk8287 А очень зря.. пришли бы показать как нужно проходить собеседование, ну а кто-то бы, возможно, понял, что он только думает, что на этом уровне.
      Как минимум, джуны с годом-два коммерческой разработки, могли проверить свои силы на мидла..

    • @m-krevolvo7552
      @m-krevolvo7552 2 роки тому +1

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

    • @aleksandrbeloushkin7971
      @aleksandrbeloushkin7971 2 роки тому

      @@vitaliiboichuk8287 да, проще сходить на настоящее интервью )

  • @АлександрБейтуллаев

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

    • @gustawbobowski1333
      @gustawbobowski1333 2 роки тому +3

      Я думаю на вопрос, сколь должен знать джун не будет никогда твердого ответа. Технические интервью меняются, прогрессируют, усложняются, в разных командах разные критерии. Кому-то достаточно что ты знаешь Java Core и коллекции, кому-то: что ты знаешь Spring от и до, а кому-то нужны 4 интервью на алгоритмы и структуры данных прежде чем у тебя спросят что такое JVM.
      Касательно того, КАК все это знать, думаю, нет никакого другого ответа кроме как: кодинг, практика, изучение документации в целях понять прежде всего "Зачем нужен этот метод/класс/паттерн и какую проблему он решает?"
      На тему смены профессии... Это сложно и долго и это колоссальная когнитивная нагрузка, особенно если тебе почти 30 и ты не учился в ВУЗе. Мне на это потребовалось около 1.5 года:
      Я был менеджером в одной крупной компании, специализирующейся на продаже электроники.
      Была и стабильность и перспективы роста и ОЧЕНЬ хорошая зп.
      Не было одного: навыков, которые я смог бы легко применить в другой компании если бы мне захотелось сменить сферу деятельности. Если простым языком, то очень многое из того, что я умел было нужно исключительно той компании, в которой я работал.
      А также умственного развития не было совершенно никакого, я просто становился тупее с каждым днем.
      В 29 лет (за 2 месяца до начала пандемии лол) я решил что пора что-то менять. Накопил денег и уволился. Пару месяцев шпилил в игры, которые все никак не мог начать проходить до этого, затем началась пандемия, локадауны, занялся поиском новой работы.
      Понял, что на рынке труда могу предложить очень мало, т. к. скиллы реально нишевые, а заниматься в точности тем же чем и ранее - не было никакого желания.
      Со скуки начал изучать онлайн курсы по JavaScript на CodeCademy (до этого никогда не учился самостоятельно!!! вышку тоже не окончил), было сложно и после пары месяцев я не чувствововал никакого прогресса и уже был готов полностью забить на это, по сути все что я вынес из этого периода это как настроить VSCode, как пользоваться терминалом (на ультра базовом уровне) и что JavaScript сложен, многогранен и не очень логичен.
      Случайно наткнулся на рекламный пост о Школе 21, никаких вводных я не гуглил и почти ничего не изучил о подходе к обучению помимо инфы на лендинге, но я прошел онлайн отбор и решил попытаться поступить, переехал в Казань из СПб. Прошел отборочный интенсив (тогда он назывался бассейн), и... понял что учиться мне нравится и я на самом деле это делать могу! Потом, 2 месяца ждал результатов и в конце концов вышел на "основу" в ноябре 2020 года.
      В школе 21 изучаешь исключительно С (потом, спустя около 6-8 месяцев начинается С++). Это дико сложно для того кто никогда ничего не знал о программировании. И часто думаешь что это тупо и бессмыссленно (где востребован С, в наши-то дни??).
      На третий месяц обучения в Школе решил начать изучать Java. Имея фундамент в Си получилось очень быстро въехать в тонкости языка и JVM, и вот, в августе 2021 я уже устроился на свою первую работу Java разработчиком в Сбер. (Стажировка).
      Было сложно и не каждый может себе позволить не работать 1,5 года. Но все возможно. И мой путь был бы на месяца короче если бы я приложил больше усилий или реально умел учиться с самого начала.
      P.S.: Сейчас я снова на jetbulb, готовлюсь к интервью на джуна+, тк за стажировку получил классный опыт коммерческой разрабокти и реально многому научился, при этом напрочь забыв кучу азов.

    • @itslow1k
      @itslow1k Рік тому

      @@gustawbobowski1333 Как успехи?

    • @gustawbobowski1333
      @gustawbobowski1333 Рік тому

      @@itslow1k Миддлом тружусь в зарубежной компании. Как твои?

  • @ccmadminstrator
    @ccmadminstrator Рік тому

    Учиться, учиться и еще раз учиться. Не ответил ни на один вопрос нормально. Джун это инженер после 4-5 лет профильного образования, его не нужно учить. Джун приходит, получает документацию, задачу и через неделю начинает работать так же как все прочие сотрудники. Это не уровень джуна.

    • @m0naco608
      @m0naco608 6 місяців тому

      Снизь планку ) Джун, зачастую, это человек без опыта коммерческой разработки, но с необходимыми теоретическими знаниями для этой самой коммерческой разработки ) У каждой компании свои стандарты написания кода и проектирования приложения, которые чаще всего отличаются от тех, к которым привык Джун, штампуя свои pet-проекты. Ему нужно время, чтобы настроиться на темп и привыкнуть в целом к своим обязанностям.

  • @fromthegreatunknown
    @fromthegreatunknown 2 роки тому +1

    очень невнимательный ведущий, которое видео замечаю, что он часто задаёт вопрос, на который собеседник ответил минутой ранее. Интерфейс vs. Абстрактный класс, гость сначала говорит про обязательность реализации методов интерфейса, на что через минуту получает вопрос, а в чём же разница между абстрактным классом и интерфейсом. Гость, видимо, постеснявшись как дурак повторять только что сказанное начинает дополнять свой ответ, рассказывая про множественное наследование, на что ведущий выдаёт ТО ЖЕ, что гость ранее уже говорил, что обязательность реализации методов интерфейсов. И такое у тебя почти в каждом видео

    • @Yornero
      @Yornero 2 роки тому

      Так и в абстрактном классе абстрактные методы обязательны к реализации, не?)
      А в интерфейсах есть методы по умолчанию