Собеседование Middle Android разработчика

Sdílet
Vložit
  • čas přidán 7. 09. 2024
  • На собеседовании был интересный разговор про опыт и написание кода в IDE!
    Интервьюер: Никита Куликов, Android Lead в Flipper Devices.
    🔗 Ген партнер Android Broadcast - AvitoTech cutt.ly/n78SvFg
    🔗 Задача для кодинга cutt.ly/l5ePPKu
    🔗 Каналы "Android Broadcast" taplink.cc/and...
    🔗 Поддержать проект taplink.cc/and...
    🔗 Интервью с Никитой Куликовым • Разработка приложения-...
    #собеседование #android #androiddev #AndroidBroadcast

Komentáře • 87

  • @Mike_x64
    @Mike_x64 Před rokem +17

    49:42 У листов (и ArrayList в частности) как раз ровно тот хэш-код, который мы ожидаем. Это официально задокументированное в javadoc поведение. А бесполезный хэш-код - у массивов.

  • @user-rw8zs7vz9u
    @user-rw8zs7vz9u Před rokem +39

    Мда уж, если бы мне устроили такой собес, то я бы его досрочно прервал по причине того что собеседующий не может нормально сформировать свой вопрос и на абстрактный вопрос хочет получить конкретный ответ, но так не работает. Абстрактный вопрос, получи абстрактный ответ. Да и вообще, что за часть с лайвкодингом, это такая же дичь, как и на собеседованиях где тебе дают ручку и просят ее продать. Ты нанимаешь прикладного программиста, на кой черт лезть в какие-то дебри для системных программистов?! Чтобы самоутвердиться за счет другого человека? Или зачем вообще вопросы которые на работе не встретишь? Вы так до ишачьей Пасхи будете сотрудника искать. Все нормальные собеседующие спрашивают по 4-ем пунктам, 3 из них стандартные чтобы просто узнать глубину знаний Java, kotlin, Android и 4-ый пункт это вопросы под конкретные задачи с которыми придется сталкиваться на работе и вопросы по стеку который используется для решения этих задач! Не нужно велосипед переизобретать!

    • @Fateslav
      @Fateslav Před 9 měsíci +1

      Интервьюер как-то нескладно общается, будто не понимает вещей. Может просто волнение

  • @september669
    @september669 Před rokem +14

    Закончил просмотр вскоре после объяснения, что билдер это фабрика

    • @xslamdroidx
      @xslamdroidx Před rokem +2

      Ну так позже он озвучил "мы в работе часто путаем понятия и называем одно другим".
      Не знаю, нивелирует ли это что-то.

    • @maksonic_official
      @maksonic_official Před rokem +7

      @@xslamdroidx хоть какие термины используй, но билдер и фабрика - это разные паттерны проектирования кода. Можно было перепутать в целом паттерны проектирования кода (порождающие, структурные, поведенческие) и паттерны ui слоя (MVP, MVI, MVC...) Типа и то и то можно назвать архитектурными паттернами, но копая дальше нужно уточнять, что имеется в виду.

    • @LionZXY
      @LionZXY Před rokem +1

      @@maksonic_official в коде android иногда используется паттерн factory, но при этом называется builder - у меня не было задачи проверить знание терминологии, да и подошло бы что-то одно из них - без разницы

    • @maksonic_official
      @maksonic_official Před rokem +1

      @@LionZXY ну в целом это мелочь... Видео получилось топ! Спасибо!!!

    • @september669
      @september669 Před rokem +8

      ​@@xslamdroidx
      Все это выглядит так, что интервьюер сам не очень понимает о чем спрашивает.
      Чуть дальше идут еще более сумбурные рассуждения про captured/non captured ламбды

  • @mironoff2007
    @mironoff2007 Před rokem +7

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

  • @MyFoenix
    @MyFoenix Před rokem +3

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

  • @sergeygolovin9523
    @sergeygolovin9523 Před rokem +22

    Такие интересные качели - после слов о себе подумал "Да какой же он мидл, это ж лид/сеньор", а после ответов на первые вопросы "а, да какой же это мидл, это джун зелёный совсем") А вообще не в обиду конечно, волнение и всё-такое, но еслиб мне не представили кандидата сначала, а сказали угадать, я б сказал что это менеджер по приколу решил как разработчик пособеситься) как будто кодить ему никогда не было интересно на самом деле, разбираться как чета там работает внутри да и вообще, с задачами особо не сталкивался никакими.

    • @Farid_Geniatulin
      @Farid_Geniatulin Před rokem +2

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

    • @sergeygolovin9523
      @sergeygolovin9523 Před rokem

      @@Farid_Geniatulin ты видео смотрел? Он тупо код писать не может, какой практик

    • @Enraged075
      @Enraged075 Před 9 měsíci +6

      @@sergeygolovin9523 блин я тож не могу когда над душой стоят :D

  • @anzhelikanesterovska6170
    @anzhelikanesterovska6170 Před 7 měsíci

    При вызове hashcode у списка используется значение возвращаемое от объектов списка. List по умолчанию использует реализацию hashcode которая зависит от содержимого списка. Если содержимое списка изменится, то и hashcode его поменяется. 😉
    Неверный ответ от интервьювера

  • @borisveriga5252
    @borisveriga5252 Před rokem +4

    Все резко идут перечитывать, Java Concur in practice)

    • @AndroidBroadcast
      @AndroidBroadcast  Před rokem

      Это и так полезно делать раз в год

  • @mironoff2007
    @mironoff2007 Před rokem +2

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

    • @LionZXY
      @LionZXY Před rokem

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

    • @mironoff2007
      @mironoff2007 Před rokem +2

      @@LionZXY, эти экраны существуют одновременно? Это экран или фрагмент? Не ясно зачем многопоточка. В моем понимании, из условия задачи ее можно решить совсем иначе и без многопоточки. Или я чего не понял.

    • @LionZXY
      @LionZXY Před rokem

      @@mironoff2007 да, экраны одновременно. Решить можно, но предлагается решить именно так. Это же не бизнес задача, а для собеседования

    • @mironoff2007
      @mironoff2007 Před rokem +1

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

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

      ​​​@@LionZXY отправил вам решение,хотел чтоб вы посмотрели ,сделал на корутинах, но комент со ссылкой на хастебин почему то не добавился ,как вам отправить решение?в 32 строчки написал

  • @user-zi2sl7jh3t
    @user-zi2sl7jh3t Před 11 měsíci +1

    А ссылку на решение задачи можно?) Или где найти

  • @alexey_anurin
    @alexey_anurin Před rokem +2

    Так запутать, назвав Builder фабрикой...

  • @censored8425
    @censored8425 Před měsícem

    Он на Гения Евгенича похож, я бы его сразу взял)

  • @aleksandrzurnachyan6013
    @aleksandrzurnachyan6013 Před 9 měsíci +2

    public int hashCode() {
    int expectedModCount = modCount;
    int hash = hashCodeRange(0, size);
    checkForComodification(expectedModCount);
    return hash;
    }
    int hashCodeRange(int from, int to) {
    final Object[] es = elementData;
    if (to > es.length) {
    throw new ConcurrentModificationException();
    }
    int hashCode = 1;
    for (int i = from; i < to; i++) {
    Object e = es[i];
    hashCode = 31 * hashCode + (e == null ? 0 : e.hashCode());
    }
    return hashCode;
    }
    this is hashcode in arraylist. hashcode of arraylist it's generated based on his members,as shown above.

  • @KIRILLINGUSS21
    @KIRILLINGUSS21 Před rokem +8

    Всем спасибо ❤🙏 за эфир! жду в комменты фидбек от аудитории))

    • @alexpetrov6700
      @alexpetrov6700 Před rokem

      Спасибо. Было полезно в целом посмотреть) если говорить о фидбеке то возможно сказалось волнение прямого эфира но имхо на некоторое количество конкретных вопросов были даны не совсем конкретные ответы, довольно много воды, ухода в сторону от ответа с ощущением не точного понимания ответа. А так, красава что решился на публичный собес, я б не рискнул 😁👍

    • @KIRILLINGUSS21
      @KIRILLINGUSS21 Před rokem

      @@alexpetrov6700 топчик. спасибо))

    • @KIRILL-nl8is
      @KIRILL-nl8is Před rokem

      @Kirill Anikin, а сколько у тебя лет опыта?

    • @robvaly1676
      @robvaly1676 Před rokem

      А вот ваш доклад Кирилл на подлодке был хорошим, точнее полезным.

    • @robvaly1676
      @robvaly1676 Před rokem +1

      Ещё Алексей Панов полезный доклад на подлодке о навигации в compose.

  • @chriswaytt6009
    @chriswaytt6009 Před rokem

    Спасибо. Где ответ можно найти на задачу ?

  • @ivan_p3
    @ivan_p3 Před rokem +15

    Эти собесы поставлены на поток не хуже инфоциганства. Зря потраченное время на головомойку для всех, кроме собеседующего. Он свое получил.

    • @AndroidBroadcast
      @AndroidBroadcast  Před rokem

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

    • @trollberserker1515
      @trollberserker1515 Před rokem

      не хочешь - не смотри, кто заставляет?

    • @ivan_p3
      @ivan_p3 Před rokem +1

      @@trollberserker1515 ты о чем? Кто кого заставляет, кто смотрит? Ты бредишь?

  • @casual8245
    @casual8245 Před rokem

    никита говорил, что на мобиусе был доклад про то, как устроен андроид, может кто то дать ссылку?

    • @heroinfc1869
      @heroinfc1869 Před rokem

      @LionZXY можно мне тоже)

    • @trollberserker1515
      @trollberserker1515 Před rokem +1

      ты посмотришь этот доклад и поймёшь как устроен андроид?

  • @3dmaxua
    @3dmaxua Před 10 měsíci

    Я вроде знаю, что в iOSе этого нет…. Кек …синхронизировать RxJava 😢

  • @maksonic_official
    @maksonic_official Před rokem +3

    Из всего что видел, не в обиду остальным, Никитос и Сергей Боиштян ТОП интервьюеры, прям супер годно.!!!

  • @sergeygamer1455
    @sergeygamer1455 Před 2 měsíci +1

    Полчаса пишет элементарный код, а потом эти люди ещё говорят, что на котлине можно быстро писать код. ХАХАХАХАХА!

  • @pg4ok611
    @pg4ok611 Před rokem

    Когда собеседование джунов?

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

    Когда собес джуна??????

  • @microdevices
    @microdevices Před rokem

    Интересное собеседование, правда в некоторые моменты было неловко за кандидата. Но на такие вопросы тяжело отвечать и просто поплыть. Как из примера: зачем дизайнеры Java добавили вложенные и внутренние классы? Но парню уверенности не занимать, особенно после слова 1:05:04

    • @AndroidBroadcast
      @AndroidBroadcast  Před rokem

      Хороший вопрос, на понимания дизайна язык и целей его фичей

  • @sergeygamer1455
    @sergeygamer1455 Před 2 měsíci +3

    Разраб откровенно слабый. Даде на джуна не тянет. Задачу совершенно неипонял, теорию не знает, клдить не умеет. Есть только поверхностные понятия и он дедает вид, что умеет кодить .
    Типичный код-monkey

  • @karakurik
    @karakurik Před rokem +1

    Фигасе кого вижу, Кирилл, ты крутой!

  • @user-dc8us2ci4n
    @user-dc8us2ci4n Před rokem +1

    Кирилл, возьми Никиту с собой в зал

    • @AndroidBroadcast
      @AndroidBroadcast  Před rokem

      Ходить в зал - выбор каждого

    • @LionZXY
      @LionZXY Před rokem

      Эй, я хожу в зал!)
      Правда для снижения веса ещё нужна диета и вот с этим сложности. Из тех людей что заедаю стресс

    • @AndroidBroadcast
      @AndroidBroadcast  Před rokem

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

    • @LionZXY
      @LionZXY Před rokem +1

      @@AndroidBroadcast да, это работа с психологом, в первую очередь, и с собой, а не с диетологом, тут согласен.
      Заметил что просто поместив меня в комфортную среду (просто работа+выступления и т.д, без стресса типо переезда) сбрасываю от 20кг не прилагая усилий никаких

  • @robvaly1676
    @robvaly1676 Před rokem +7

    А кто мидл то?)). Никита Куликов, который не шарит отличие MVVM от MVI, делает доклад на подлодке, что MVI не подходит для compose, как и у MVP более сложная реализация будет. Хватит уже снимать постановочные собесы. Кирилл не мидл разраб, а сениор.

    • @zaur4094
      @zaur4094 Před rokem +1

      а как он в снапчате работал? Отличие MVVM от MVI любой собеседующий спросит, он бы просто не прошел)

    • @robvaly1676
      @robvaly1676 Před rokem

      @@zaur4094 там ещё один эксперт был ). Гнал на bottom sheet в compose и разрабов из Google прям обосрал. А на деле всё работает. Депресивный доклад сделал типо compose сырой. Я сам юзаю compose на проекте, всё норм.Проект коммерческий, реальный.

    • @arbonik2126
      @arbonik2126 Před rokem

      Это ирония, кто не понял :)

    • @leff2438
      @leff2438 Před rokem

      @@robvaly1676 после драки кулаками не машут, но все же) У нас компоуз в проде год, и это был доклад в целом про боли в реализации. Если не веришь, что проблемы есть, то чекни баг трекер. В 1.4 многие вещи поправили, но он вышел за день или два до конфы, и менять презу смысла уже не было. И да, компоуз дико сырой потому что никто не говорит про автоподстановку паролей и данных, Е2Е устройства и прочее

    • @robvaly1676
      @robvaly1676 Před rokem

      @@leff2438 Да я верю, что в Google не святые. Зачем джунов в заблуждение вводить?) Они же на тебя как на бога смотрят. Да ладно не парься, всё норм я понял, что ты опытом поделился. Но как ты разрабов из Google вспоминал было забавно).

  • @senex9336
    @senex9336 Před rokem

    Гений на кандидате, я бы сам вообще ни на что не ответил

    • @ristired9427
      @ristired9427 Před rokem +4

      Мидлы, которых мы заслужили

  • @sergeymild
    @sergeymild Před rokem +3

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

    • @AndroidBroadcast
      @AndroidBroadcast  Před rokem +7

      Дело не в Kotlin, под капотом все равно старые API и механихмы. Их и раньше не все знали хорошо

    • @sergeymild
      @sergeymild Před rokem +2

      @@AndroidBroadcast Я к тому , что сейчас тем более никто не хочет заморачиваться и что то учить более сложное и понимать как это работает, есть data class, все используем его а как он работает, не важно

  • @MisterYIMHO
    @MisterYIMHO Před 8 měsíci

    Тем временем я синиор, сижу без работы в Украине и подаюсь на вакансии мидловские, пока у вас такие мидлы работают в Яндексах. Возьмите меня лучше) Я релоцируюсь))))

    • @AndroidBroadcast
      @AndroidBroadcast  Před 7 měsíci

      Скорее сначала надо релоцироваться, а потом уже искать работу

    • @MisterYIMHO
      @MisterYIMHO Před 7 měsíci +1

      @@AndroidBroadcast Легче сказать чем сделать))))

    • @AndroidBroadcast
      @AndroidBroadcast  Před 7 měsíci

      Понимаю, но и вы тоже компании поймите

    • @MisterYIMHO
      @MisterYIMHO Před 7 měsíci

      @@AndroidBroadcast Обычно сначала оффер, потом уже релокация. Если рисковать при пересечении границы, то имея чёткий план и направление.

  • @trollberserker1515
    @trollberserker1515 Před rokem +1

    на 27:06 Никита начал что-то подозревать