Тестовое собеседование Java разработчика #13 - Артемий Ржевский

Sdílet
Vložit
  • čas přidán 15. 07. 2024

Komentáře • 208

  • @Artemey94
    @Artemey94 Před 3 lety +31

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

    • @robmoor7992
      @robmoor7992 Před 3 lety

      Удачи тебе, есть над чем поработать, но все в твоих руках!) Главное их(руки) не опускать)

    • @Artemey94
      @Artemey94 Před 3 lety

      @@robmoor7992 Спасибо!

    • @user-uf1gt9ys4r
      @user-uf1gt9ys4r Před 3 lety +1

      А как ты так дошел до 25 ур в JR и так мало знаешь про полиморфизм? Ты не читал параллельно литературу? Все задачи решал?

    • @Artemey94
      @Artemey94 Před 3 lety

      @@user-uf1gt9ys4r Уровень на JR никогда не являлся прямо пропорциональным знаниям учащихся там. Литературу читал,задачи решал, проходил я его в 2018. Если у тебя есть годная статья или другой ответ, скинь. А так, что это один из принципов ООП, и реализуется с помощью интерфейсов, ну и перегрузок - это основное что везде и пишут.

    • @justedlev
      @justedlev Před 3 lety

      молодец, так держать!!!

  • @testopal
    @testopal Před 3 lety +38

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

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před 3 lety +8

      Спасибо за отзыв :)

    • @samnihao6943
      @samnihao6943 Před 3 lety +1

      Я записываю вопросы которые не знаю, и потом гуглю сразу все, делая конспект. CAP теорема, идемпотентный метод впервые услышал.

    • @user-fq3nn3ql3g
      @user-fq3nn3ql3g Před 3 lety

      Тоже поставил на паузу и быстро набросал функцию sqrt на Python, чтобы убедиться, что задача не сложная для меня.

  • @user-oc7py1vy6s
    @user-oc7py1vy6s Před 3 lety +5

    Спасибо что исправили монтаж. Намного приятней смотреть, когда видеоряд и звук не прерывается объявлением подтемы собеседования.

  • @maitreeee
    @maitreeee Před 3 lety +2

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

  • @slevinkelebra3738
    @slevinkelebra3738 Před 3 lety +2

    Спасибо за видео! Хорошая задачка была дана, показалась сначала сложной, но немного подумав решил.

  • @mira_the_dog2305
    @mira_the_dog2305 Před 3 lety +2

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

  • @user-cp1nm3yj4q
    @user-cp1nm3yj4q Před 3 lety

    Очень круто. И для тех,кто начинает собеседовать,что бы вспомнить что было бы слишком жёстким. Отличный формат)

  • @monarch8188
    @monarch8188 Před 3 lety +28

    return (int) Math.sqrt(n)
    Не нужно усложнять)

    • @dooskrit
      @dooskrit Před 3 lety +1

      Тоже сразу об этом подумал))) и имхо на собеседовании это будет правильным решением)))

    • @monarch8188
      @monarch8188 Před 3 lety

      @@dooskrit самое простое решение, при прочих равных, является лучшим

    • @podsvinokSatani
      @podsvinokSatani Před 3 lety

      Ну тут за тебя уже реализован метод sqrt и если ты так решишь, то это будет говорить о том что ты знаешь такой метод и все. А если решишь как в видео то скорее оффер именно тебе кинут

    • @monarch8188
      @monarch8188 Před 3 lety

      @@podsvinokSatani ну если очень хочется выделится можно сказать что знаешь 2 способа)

    • @podsvinokSatani
      @podsvinokSatani Před 3 lety

      @@monarch8188 ну а если не знаешь, то лучше не выделяться)

  • @VladHaigarden
    @VladHaigarden Před 3 lety +4

    Спасибо огромное за такой полезный и интересный контент! Несмотря на то, что работаю java разработчиком около года, в каждом интервью подмечаю для себя важные моменты, которые со временем забылись.

  • @johannesbrown8853
    @johannesbrown8853 Před 3 lety +1

    Женя, спасибо за выпуск, как всегда супер!!! Через неделю открываю резюме для поиска работы Java Junior и твои видео как раз кстати)) СПАСИБО ОГРОМНОЕ!

  • @GoPetr
    @GoPetr Před 3 lety +4

    Спасибо за труд! Видео так и прут.
    Видимо заявок очень много =) Спасибо за отзывчивость!

  • @user-tg3wl8yj3i
    @user-tg3wl8yj3i Před 3 lety

    Спасибо за труд. Интересные вопросы...

  • @alevadnaya
    @alevadnaya Před 2 lety

    Евгений, спасибо вам за ваш труд и этот контент

  • @Artem-lk9ru
    @Artem-lk9ru Před 3 lety +1

    супер. побольше таких выпусков делайте.

  • @asdasd-fu4ow
    @asdasd-fu4ow Před 3 lety

    Спасибо! Очень полезно!

  • @fredor2844
    @fredor2844 Před 3 lety +7

    За все 13 эпизодов этого захватывающего сериала, уже и самому захотелось попасть на кастинг актеров и сдебютировать на голобом экране ютуба)))

  • @knoppix20
    @knoppix20 Před 3 lety +19

    Спасибо тебе чувак из Питера что взял весь позор на себя при всех. Это достойно уважения.

    • @alevadnaya
      @alevadnaya Před 2 lety

      А в чем позор то? Пробелы есть, но держится бойко, это важно. Да и в принципе - если не пытаться, то ничего и не достичь

  • @JohnDoe-km7ch
    @JohnDoe-km7ch Před 3 lety +1

    Мое почтение! Про неизменяемые классы аж подвис. Record можно назвать неизменяемым классом.

  • @friedbearsburninhell2022
    @friedbearsburninhell2022 Před 3 lety +1

    Яркий пример =) когда читал там и там - но сугубо практике не уделял внимание. Отличный questions map - очередной! Но кандидат не промах - когда о LinkedList вопрос был, явно ощущается таймгеп на поиск ответа;)

  • @user-vo2wl2dq7f
    @user-vo2wl2dq7f Před 3 lety

    Спасибо, Евгений)) терпение тебе не занимать ))

  • @Lexbl4
    @Lexbl4 Před 3 lety +18

    Спрашивать про CAP-теорему у джуна на мой взгляд жестковато

  • @michaeldedun1463
    @michaeldedun1463 Před 3 lety +2

    Таски с лит кода это круто)

  • @sergebankovskiy5114
    @sergebankovskiy5114 Před 3 lety

    вот всегда было интересно, все кто записывался на собес, не смотрели ранее вышедшие тестовые собеседования? вопросы более чем схожие, особенно про сложности Big O notation

  • @andrei-pastushenko
    @andrei-pastushenko Před 3 lety +7

    Извечно холиварная тема полиморфизма в контексте переопределения и перегрузки методов. :)
    ИМХО:
    • Переопределение метода - динамический полиморфизм;
    • Перегрузка метода - статический полиморфизм.
    Теперь можете меня пинать ногами за перегрузку :)

  • @user-qx5kl9tb9x
    @user-qx5kl9tb9x Před 3 lety +26

    пурум-пурум

  • @robmoor7992
    @robmoor7992 Před 3 lety +7

    Блин, я орнул с того, что типа подсказок больше не будет, потом про середину заходит вопрос, Евгений встаёт и уходит)))

  • @arthurfonzerelli6484
    @arthurfonzerelli6484 Před 3 lety +9

    Нормальные такие вопросы для "будущего разработчика". Что такое идемпотентность, например, я сам пару месяцев назад узнал, спустя 1.5 года работы)

    • @ram0973
      @ram0973 Před 3 lety

      я про неё узнал, когда изучал Ansible :)

    • @robmoor7992
      @robmoor7992 Před 3 lety

      Я узнал, когда изучал Spring)

    • @arthurfonzerelli6484
      @arthurfonzerelli6484 Před 3 lety +1

      @Ali Zhumagaliev действительно, что это ты про это вспомнил?

    • @robmoor7992
      @robmoor7992 Před 3 lety

      @@arthurfonzerelli6484 Уахахахахахха)

  • @Cassin1797
    @Cassin1797 Před 3 lety

    Скажите пожалуйста( я даже близко не программист, но эта тема интересна) касаемо алгоритмической задачи:
    Мог бы я допустим, использовать свойство экспонентов, что корень числа - число возведённое в степень 1/2. То есть, тупо реализовать функцию степени и возводить число в эту степень, или это не допустимо в условиях задачи?

  • @MxForces
    @MxForces Před 3 lety +7

    39:58 я подумал, ты решил что с тебя хватит на сегодня

  • @valeriiakoroliuk6395
    @valeriiakoroliuk6395 Před 3 lety +1

    Женя, спасибо за видео и твой труд! Очень полезный материал!)
    А как можно попасть к тебе на тестовое собеседование?

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před 3 lety

      Спасибо за отзыв! Напишите мне на почту - proselytear@yahoo.com -
      обсудим

  • @ivanbalashov468
    @ivanbalashov468 Před 3 lety +3

    > какие состояния объекта есть в Hibernate
    > уровни пропагации транзакций в Spring Data
    > жизненный цикл Bean в Spring
    Спасибо, что не про WebLogic!

  • @rickyspanish740
    @rickyspanish740 Před 3 lety +3

    Да...Java и весь энтерпрайз стек такое поле для вопросов на собеседованиях.

  • @user-ky2fw9kw7m
    @user-ky2fw9kw7m Před 3 lety +1

    Кааааеф!

  • @AlexeySilichenko
    @AlexeySilichenko Před rokem +1

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

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před rokem

      В целом, если ответа на вопрос не было, то это и будет отмечено :)
      Обычно, попытки уйти от прямого ответа воспринимаются нормально, но на общую «оценку» кандидата видео именно ответ на оставленный вопрос.

  • @riversong9841
    @riversong9841 Před 3 lety +2

    Решила задачу таким образом: if(input1){ if(mid*mid

    • @user-bj4qj9vh5u
      @user-bj4qj9vh5u Před 3 lety

      Вы не учли что максимальное число может быть например 30. И ближайшее число в квадрате - это 25. Не хватает ещё одного if. И да, лучше условия задавать через else if. Тогда производительность метода будет выше тут вы верно подметили.

  • @junveld4830
    @junveld4830 Před 3 lety

    Здравствуйте, если я понял правильно задачу, решение можно записать в таком виде:
    public static int calculateSqrt(int input){
    int output = 0;
    while (input >= Math.pow(output,2)){
    output++;
    }
    return --output;
    }

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před 3 lety

      Если уже использовать библиотеку, то лучше использовать метод sqrt

    • @ruslan-macari
      @ruslan-macari Před 3 lety

      Да можно еще проще :)
      return (int)Math.sqrt(input);

  • @user-bj4qj9vh5u
    @user-bj4qj9vh5u Před 3 lety +1

    Ай да Евгений! В задачке с бинарным поиском такая интрига) Последнее условие то не дописал)

  • @romanprimuk2408
    @romanprimuk2408 Před 3 lety

    а как самому попасть на собеседование к Евгению?

  • @Mitreskotv
    @Mitreskotv Před 3 lety

    как попасть на интервью?

  • @ram0973
    @ram0973 Před 3 lety +1

    Про бинарный полезно, спасибо :) В плане того, что его тут вообще надо использовать (вообще наверное можно не только его) и про его сложность. Артемию совет посмотреть на www.codingame.com/

    • @Artemey94
      @Artemey94 Před 3 lety

      Спасибо, я не знал что такие проекты для учебы есть!

    • @ram0973
      @ram0973 Před 3 lety

      @@Artemey94 и там есть бинарный поиск и не только, главное не закапываться :)

    • @Artemey94
      @Artemey94 Před 3 lety

      @@ram0973 Круто!

  • @user-qx5kl9tb9x
    @user-qx5kl9tb9x Před 3 lety

    Возникла небольшая дискуссия по поводу Вашего собеседования) Что имелось ввиду под перегрузкой методов 11:40? Overload или Override? Если имелась именно перегрузка, а не переопределение. Могли бы дать несколько аргументов почему?

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před 3 lety

      Перегрузка- overloading
      Этот тип полиморфизма, насколько мне известно, еще называют статическим.

  • @romankryvolapov7961
    @romankryvolapov7961 Před 3 lety +3

    Хорошо бы было, если бы вы говорили правильные ответы после вопросов, чтобы они запоминались

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před 3 lety +7

      По опыту, запоминается тогда, когда человек сам ищет ответ на вопрос. Это наиболее эффективный способ, с моей точки зрения.

    • @romankryvolapov7961
      @romankryvolapov7961 Před 3 lety +1

      @@EugeneSuleimanov Это конечно, но все вопросы же не станешь гуглить, и тогда в памяти откладывается ответ, который дал собеседник, а он не всегда правильный.

    • @alexfisher9679
      @alexfisher9679 Před 3 lety +3

      Eugene Suleimanov если можно, лучше говорить верно или не верно. Так будет понятней нужно ли искать ответ.)

    • @salten13
      @salten13 Před 3 lety +1

      @@EugeneSuleimanov Хороший подход, я все вопросы гуглил, и курил стаковерфлоу)) много нового узнал. И да, я лично запоминаю так лучше, когда гуглишь ты находишь разные ответы, и самое главное разные нюансы данного вопроса.

  • @alexandernikolaev174
    @alexandernikolaev174 Před 3 lety

    Всегда считал, что есть четыре основных операции для оценки сложности (по времени или по памяти) - индексация, поиск, вставка и удаление. И вставка подразумевает, что мы уже стоим на нужном элементе, иначе непонятно надо до вставки выполнять поиск или индексацию, и тут уже есть варианты.
    Представим себе подъезд дома - коллекцию квартир, на каждом ровно одна квартира и нужна на N этаже. Курьер Arraylist поехал на лифте на N этаж, а курьер LinkedList пошел пешком на этот же N этаж . А в случае поиска оба пешедралят по всем этажам до N и сравнивают номер этажа с искомым (коллекцию условно считаем неотсортированной)

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před 3 lety

      Об этом я и говорил в видео. Есть теория, а есть практика. И вопрос был именно практический, как к будущему разработчику.

    • @LordDimer
      @LordDimer Před 3 lety +1

      "И вставка подразумевает, что мы уже стоим на нужном элементе" - нет

    • @alexandernikolaev174
      @alexandernikolaev174 Před 3 lety

      Окей. Вопрос - какая сложность в терминах, что вставка = добраться до места (поиск или индексация) + вставка? Говорим про общий случай несортированный.
      Распишу...
      Поиском:
      Массив = o(n) + o(n) = o(n)
      Список = o(n) + o(1) = o(n)
      Индексацией:
      Массив = o(1) + o(n) = o(n)
      Список = o(n) + o(1) = o(n)
      Т.е. всегда o(n). Теперь объясните джунам - где же преимущество одной коллекции над другой в практическом применении? Везде o(n).
      Отвечу, вставка - это вставка. Равно как и удаление - это удаление. А сложность нескольких операций - это сложность нескольких операций.

    • @LordDimer
      @LordDimer Před 3 lety

      @@alexandernikolaev174 Все эти вопросы уже давно разобраны в любой базовой книжке по алгоритмам/структурам данных. "в практическом применении" - асимптотическая сложность не учитывает скрытую константу в алгоритме

  • @antontevs
    @antontevs Před 3 lety

    решение задачки:
    private static int sqrt(int value){
    return Double.valueOf(Math.sqrt(value)).intValue();
    }

    • @user-qx5kl9tb9x
      @user-qx5kl9tb9x Před 3 lety

      но не через методы стандартной библиотеки. Я так понял нужна реализация без Math.sqrt

    • @user-b0b1
      @user-b0b1 Před 3 lety +5

      если хотите простых решений, то простой перебор типа: for (int i = 0; ; i++) {
      if (i * i == value) {
      return i;
      } else if (i * i > value) {
      return i - 1;
      }
      }

    • @user-qx5kl9tb9x
      @user-qx5kl9tb9x Před 3 lety

      @@user-b0b1 ну получается если Integer.MAX_VALUE то время выполнения будет очень долгое. По сравнению с бинарным поиском

    • @user-b0b1
      @user-b0b1 Před 3 lety

      @@user-qx5kl9tb9x я разве писал, что это оптимальное решение? я написал что это самое простое.

    • @ramil9209
      @ramil9209 Před 3 lety

      @@user-qx5kl9tb9x охуенно

  • @vladislavdovbysh3348
    @vladislavdovbysh3348 Před 3 lety +1

    А Math.sqrt можно было использовать в первом задании?)))

  • @user-cn8gf8fb6c
    @user-cn8gf8fb6c Před 3 lety +1

    Лайкнул. Подписался. Но спрошу. Какая идея такого формата? Список вопросов - есть в описании, да и в сети их легко найти, ответы - лучше не слушать: даже если человек отвечает правильно, чаще всего это звучит как "Рабинович мне напел". Было бы полезно, если бы в итоге по каждому вопросу был дан ответ, который предполагалось услышать.

  • @victordelacroix654
    @victordelacroix654 Před 2 lety

    Ха!
    Slack на панели задач! :)
    Если это Slack, то возникает вопрос, на сколько правильно стажировать Джунов, Мидлов и Сеньоров в одном потоке?

  • @mykhailo6919
    @mykhailo6919 Před 3 lety

    Решение задачи
    public static int calculateSqrt(int value) {
    public static int calculateSqrt(int value) {
    int sqrt = value / 2;
    while (sqrt > 0) {
    if (sqrt * sqrt == value) {
    return sqrt;
    }
    if ((sqrt + 1) * (sqrt + 1) < value) {
    return sqrt + 1;
    }
    sqrt--;
    }
    return 1;
    }

    • @AK-nu4oc
      @AK-nu4oc Před 3 lety

      if ((sqrt + 1) * (sqrt + 1) < value) {
      return sqrt + 1;
      }
      мне кажется или это условие никогда не выполнится?

  • @caffeinejavacode1475
    @caffeinejavacode1475 Před 3 lety

    Евгений подскажите как подготовиться по Многопоточности для собеседования!

    • @eleias.singer
      @eleias.singer Před 3 lety +1

      Книга java concurrency in practice. "Есть" ее надо по маленьким кускам тщательно переваривая, чтобы понимание пришло. Только так. Пара статей на хабре еще есть обзорных.

    • @caffeinejavacode1475
      @caffeinejavacode1475 Před 3 lety

      @@eleias.singer ну 450 страниц можно долго читать, плюс код переписывать

    • @eleias.singer
      @eleias.singer Před 3 lety

      @@caffeinejavacode1475 раньше начнешь, раньше закончишь) Если прочитаете хотя бы половину, то уже очень и очень хорошо. Там во второй половине уже про более специфичные инструменты рассказывают.

    • @eleias.singer
      @eleias.singer Před 3 lety

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

    • @user-gw2xs4zm4r
      @user-gw2xs4zm4r Před 3 lety

      @@eleias.singer Вот только про многопоточность на 8 из 10 собеседований зададут пару вопросов. Гораздо эффективнее потратить это время на те же коллекции.

  • @user-fq3nn3ql3g
    @user-fq3nn3ql3g Před 3 lety

    13 воин из Питера :)

  • @chaywithlemon
    @chaywithlemon Před 3 lety

    Здравствуйте а нельзя сделать так?
    int input = new Scanner(System.in);
    int х=1;
    boolean flag = true;
    while(flag){
    if(x*x>input)
    { sout(x-1); flag=false;}
    x++;}

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před 3 lety

      Я понял основную идею вашего подхода, но, сложность будет линейной, а не логарифмической

    • @SleePokeR
      @SleePokeR Před 3 lety

      Немного странновато выглядит. counter переменная объявлена и не используется. Чему равен x вначале? Нету return значения. Если я правильно понял изначальную идею, то просто идём от единицы и проверяем все квадраты. Так можно, но это менее эффективно. Чем больше будет инпут, тем затратнее будет выполнение метода. Бинарное дерево намного меньше операций возведения в квадрат произведёт. Разделяй и властвуй во всей красе)

    • @chaywithlemon
      @chaywithlemon Před 3 lety

      @@SleePokeR ахахах, да я думал и писал одновременно, сори за такой шлак, там х вместо каунтера)

    • @renatkashapov396
      @renatkashapov396 Před 3 lety

      @@EugeneSuleimanov а почему линейной, а не О(корняКвадратногоИзN)?

  • @SuperEgo89
    @SuperEgo89 Před 3 lety +1

    Хм, полностью не посмотрел как он решал задачу, потому что там какая-то жесть, но решение мне кажется должно быть типо: return (int) Math.sqrt(input); ну мб еще проверку что не отрицательное число добавить максимум) и все))

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před 3 lety

      Ёмко :)

    • @andriykachur2657
      @andriykachur2657 Před 3 lety +1

      @@EugeneSuleimanov Я думал что return input^0.5; :))

    • @alexfisher9679
      @alexfisher9679 Před 3 lety

      Хаха, пока рановато использовать готовые методы))

    • @SuperEgo89
      @SuperEgo89 Před 3 lety

      @@alexfisher9679 класс Math -стандартная библиотека джава, это даже не сторонняя либа) Поэтому это самое логичное решение поставленной задачи, чем мудрить свою какую-то логику по вычислению корня на фиг знает сколько строк))Имхо)

    • @user-fi7ih1yg5n
      @user-fi7ih1yg5n Před 3 lety

      Тож задачка не понравилась.

  • @ollleg111
    @ollleg111 Před 3 lety +13

    мда.....слабоват собеседник, самый сильный за последнее время был бывший медик(

    • @tolyaaniskevich763
      @tolyaaniskevich763 Před 3 lety

      для джуниора по core нормально

    • @dosphp
      @dosphp Před 3 lety +6

      @@tolyaaniskevich763до джуна далековато

  • @semionrutshtein1745
    @semionrutshtein1745 Před 3 lety

    Привет Евгений, был бы признателен за возможность пообщаться с тобой
    Сейчас ищу работу на позицию Джуниор разработчика на джаве.
    Был бы рад за обратную связь.
    Готов заплатить за твое время.
    Хорошего дня.

  • @YWNWA-ZXC
    @YWNWA-ZXC Před 3 lety

    int mid = low + (high - low) / 2, а зачем это? Если можно int mid = high / 2? low = 0 ведь.

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před 3 lety

      Попробуйте пройтись дебаггером по вашему решению, если не ошибаюсь, то если мы пойдём вправо от середины, то получим не корректную работу алгоритма.

  • @FightingFalcao
    @FightingFalcao Před 3 lety

    В реляционных базах данных есть связи. Между таблицами? Нет. О_о

  • @Geromank
    @Geromank Před 3 lety +3

    return (int)Math.floor(Math.sqrt(input)); не прошло бы?

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před 3 lety

      Заработало бы, конечно :) Но, здесь хотелось увидеть иной подход к реализации.

    • @mcae17
      @mcae17 Před 3 lety +2

      Math.floor лишнее, (int) double и так кастит в нижнюю сторону

    • @SleePokeR
      @SleePokeR Před 3 lety +2

      А я вначале подумал, что спросил бы: 1) валидация на инпут нужна? 2) Потом сходу (int) Math.sqrt(input) предложил бы) 3) А на бинарном поиске глядишь и завалился бы=) Полтора года коммерческого опыта работы на java, только недавно первый раз за всё время понадобились знания алгоритмов... А вообще, конечно, у кандидата серьёзный путь впереди. Желаю ему удачи, дисциплины и терпения! Без этого никак.

    • @user-qy7yv1ut4c
      @user-qy7yv1ut4c Před 3 lety

      @@EugeneSuleimanov вы бинарный пойск не по полной использовали

  • @investorcom83
    @investorcom83 Před rokem +1

    public int calculateSquare(int number){
    int i = 0;
    for ( i = 1; i

  • @kaibrakhmanyelubay2671
    @kaibrakhmanyelubay2671 Před 10 měsíci

    видосики тема

  • @andrei-pastushenko
    @andrei-pastushenko Před 3 lety

    "Решение алгоритмической задачи ":
    Пытался найти иное, краткое и стабильное, решение посредством побитового сдвига вправо, где каждый сдвиг +1 к искомому результату, но потерпел фиаско :)

  • @user-tg3wl8yj3i
    @user-tg3wl8yj3i Před 3 lety

    не слишком ли сложно?
    while (true) {
    for (int i = 0; i < input; i++) {
    if (i * i == input) {
    return i;
    }
    }input--;
    }

    • @1111beng
      @1111beng Před 3 lety +1

      Сложность линейная , Это не гуд

  • @user-te8qe4mf3r
    @user-te8qe4mf3r Před 3 lety

    На какую должность его бы взяли или не взяли бы?

  • @user-po8xs3fg9f
    @user-po8xs3fg9f Před rokem

    static public int calculatorSqrt (int input){
    if (input 0) return 1;
    for (int i=2; i input) return i-1;
    else if (i*i == input) return i;
    else if (i*i< input) continue;}
    return -1; }

  • @Kubzay
    @Kubzay Před 3 lety

    Лебедев? ;)

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před 3 lety

      Нет :) Фамилию уже добавил в название видео

  • @user-oc7py1vy6s
    @user-oc7py1vy6s Před 3 lety +1

    Зачем Вы говорите что всё не плохо? 1:02:29 Сегодня у Вас даже не хватило терпения осилить алгоритмическую задачу. В предыдущих 2 собеседованиях Вы тоже по моему говорили что всё неплохо. На мой взгляд на последних 3 собеседованиях ребята реально слабые. Что Вы вкладываете в понятия "всё не плохо"? Почему им не сказать что они LowSkill'ы. На мой взгляд ребятам ещё учиться и учиться до java junior.

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před 3 lety +4

      Мне кажется, вы несколько переоценивать требования к trainee. Пробелы, безусловно, есть, но я бы не сказал, что они фатальные.

    • @user-mc3in2gq3z
      @user-mc3in2gq3z Před 3 lety +1

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

  • @djonidjonovic8029
    @djonidjonovic8029 Před 3 lety +2

    Мне показалос, что Артемий пытался несколько раз уходить от вопросов,на который он не знал точного ответа.

    • @gwenthome2045
      @gwenthome2045 Před 3 lety +1

      А ты бы как поступил, если бы не получил нормального образования по it?

  • @stanislavgvozdilin7473

    Честно, не пойму, зачем писать столько лишнего кода да ещё и столько времени, прибегая к рекурсии.
    public int calculateSqrt(int n) {
    int r = n;
    while (r*r > n)
    r = (r + n/r) / 2;
    return value;
    }

  • @NummeSpnet
    @NummeSpnet Před 3 lety +1

    с каких это пор перегрузка метода стала реализацией полиморфизма? если класс с перегруженными методами может ни наследовать, ни реализовать интерфейс. а?

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před 3 lety

      beginnersbook.com/2013/03/polymorphism-in-java/
      Но, споров на эту тему много :)

    • @NummeSpnet
      @NummeSpnet Před 3 lety

      @@EugeneSuleimanov ключевое слово даже по твоей ссылке, это EXTENDS (то есть наследование)
      перегрузка методов, не требует ни extends, ни implements. они вообще не связаны между собой.
      причем там
      1) вариант это наследование в чистом виде,
      2) вариант это делегирование
      а где перегрузка

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před 3 lety

      @@NummeSpnet 1. Method Overloading in Java - This is an example of compile time (or static polymorphism)
      Это цитата из статьи

    • @NummeSpnet
      @NummeSpnet Před 3 lety

      @@EugeneSuleimanov ты меня видимо не читаешь. а как ты тогда ответишь на это, что можно перегрузить метод без наследования и реализации интерфейса, какое тогда это имеет отношение к полиморфизму? если класс ни реализовывает интерфейс, ни наследует класс. он вообще автономный. тоже скажешь что это полиморфизм?

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před 3 lety

      @@NummeSpnet я уже писал выше, что статический полиморфизм уже давно является темой споров. И та и другая стороны приводят свои аргументы.
      Это как пробелы против табуляции.
      Я всего лишь привёл ссылку на 1 из многочисленных источников, не пытаясь сказать, что ты не прав.

  • @dark_evil77
    @dark_evil77 Před 3 lety

    Странный заголовок

  • @Evg_Af
    @Evg_Af Před 3 lety

    явно же видно, кандидат читает со шпор, или скорей даже гуглит с телефона((

    • @GoPetr
      @GoPetr Před 3 lety +1

      Евгений А не факт! Он вроде сидел с листиком и ручкой.

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před 3 lety +1

      Лично я не заметил, но, могу ошибаться

    • @romankryvolapov7961
      @romankryvolapov7961 Před 3 lety +1

      Тоже показалось странным, что отвечает не сразу, но может у него память так работает. У меня есть специальная папка с картинками- например все коллекции на одной картинке с иерархией, слои clean architecture, жизненный цикл activity и тд, чтобы можно было быстро подсмотреть)) и так лучше запоминается

    • @1asgarov
      @1asgarov Před 3 lety

      yest takoye, na 49:35 sli6no kak klikayet mi6koy, no on uje plaval tak 4to kak to prostitelno

  • @deprecatorx8955
    @deprecatorx8955 Před 3 lety +1

    за шо так душишь. вопросы явно не джуновские)

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před 3 lety +4

      По моему опыту, именно то, что спрашивают )

    • @rickyspanish740
      @rickyspanish740 Před 3 lety +1

      На галерах по жёстче спрашивают

  • @maratb4561
    @maratb4561 Před rokem +1

    Привет, касательно задачи, если сделать так?:
    public long calcSqrt (int a){
    double temp=(double) Math.sqrt(a);
    if (temp%1==0){
    return (long)temp;
    }
    else
    return calcSqrt(a-1);
    }

    • @Longmanrus
      @Longmanrus Před rokem

      public int calcSqrt (int a ) {
      return (int) Math.sqrt(a);
      }

  • @YWNWA-ZXC
    @YWNWA-ZXC Před 3 lety +1

    Вайти вайтишник одним словом:) Лучше бы во фронтенд без бэкграунда идти...

  • @servalstar
    @servalstar Před 3 lety +1

    Поставил лайк, но задачка бессмысленная. Для получения квадратного корня есть библиотечный метод "из коробки". Она скорее проверяет избыточное знание математики, а не умение думать.

    • @alekseiduleba9508
      @alekseiduleba9508 Před 3 lety

      Она проверяет 1. Алгоритмическое мышление 2. Может ли человек вообще что-то решить, или просто выучил спецификации. 3. Способ, как человек решает задачу (уточняет ли он условия, стиль кодирования, скорость написание кода...) 4. Да много еще что проверяет. Для знания теории есть другие вопросы.

  • @user-fi7ih1yg5n
    @user-fi7ih1yg5n Před 3 lety

    Насчет final String не понял:
    String name = "scott";
    name = "tiger"; // OK
    final String gender = "male";
    gender = "female"; // won't compile you cannot reassign gender cause it's final

    • @LionKing-qp1lk
      @LionKing-qp1lk Před 3 lety +1

      public final class String

    • @user-fi7ih1yg5n
      @user-fi7ih1yg5n Před 3 lety

      @@LionKing-qp1lk Если класс final, то от него нельзя наследоваться, они говорили про переменную насколько я понял.

    • @porosyonocheg
      @porosyonocheg Před 3 lety

      @@user-fi7ih1yg5n видео не смотрел, но какая разница String или не String финализированная переменная? Вы не сможете её переопределить после того, как уже присвоили ей значение. С таким же успехом вы можете использовать любые примитивы, которые будут константами и объекты, при том, что сам объект сможет меняться, а вот ссылка на него будет жестко закреплена за вашим полем.

  • @user-ol7ur5po3k
    @user-ol7ur5po3k Před 3 lety

    Интервью начинается с 45-й минуты, до этого "угадайка" ничего общего с разработкой не имеющая.

  • @sanix183
    @sanix183 Před rokem

    Ну что сложно пояснять неверные ответы для людеЙ?

    • @AlexeySilichenko
      @AlexeySilichenko Před rokem

      Ну что сложно загуглитЬ?
      *Для тех кто в танке:* это записи примеров собеседований, а не обучающие видео (хотя их можно использовать с этой целью самостоятельно), т.е. чтобы зрители имели представление как происходит процесс собеседования, чтобы получить опыт собеседования не проходя его лично. В дополнение к этому, зритель получает опыт самостоятельного заполнения собственных пробелов, поскольку после реального собеседования полагается свои пробелы заполнять самостоятельно.

  • @sergegreenband7699
    @sergegreenband7699 Před 2 lety

    Беспалевный чувак.