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

แชร์
ฝัง
  • เผยแพร่เมื่อ 17 เม.ย. 2023
  • На собеседовании был интересный разговор про опыт и написание кода в IDE!
    Интервьюер: Никита Куликов, Android Lead в Flipper Devices.
    🔗 Ген партнер Android Broadcast - AvitoTech cutt.ly/n78SvFg
    🔗 Задача для кодинга cutt.ly/l5ePPKu
    🔗 Каналы "Android Broadcast" taplink.cc/android_broadcast
    🔗 Поддержать проект taplink.cc/android_broadcast/...
    🔗 Интервью с Никитой Куликовым • Разработка приложения-...
    #собеседование #android #androiddev #AndroidBroadcast

ความคิดเห็น • 86

  • @Mike_x64
    @Mike_x64 11 หลายเดือนก่อน +15

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

  • @user-rw8zs7vz9u
    @user-rw8zs7vz9u ปีที่แล้ว +39

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

    • @Fateslav
      @Fateslav 7 หลายเดือนก่อน +1

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

  • @MyFoenix
    @MyFoenix ปีที่แล้ว +3

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

  • @mironoff2007
    @mironoff2007 ปีที่แล้ว +7

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

  • @september669
    @september669 ปีที่แล้ว +14

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

    • @xslamdroidx
      @xslamdroidx ปีที่แล้ว +2

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

    • @maksonic_official
      @maksonic_official ปีที่แล้ว +7

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

    • @LionZXY
      @LionZXY ปีที่แล้ว +1

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

    • @maksonic_official
      @maksonic_official ปีที่แล้ว +1

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

    • @september669
      @september669 ปีที่แล้ว +8

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

  • @user-zi2sl7jh3t
    @user-zi2sl7jh3t 9 หลายเดือนก่อน +1

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

  • @chriswaytt6009
    @chriswaytt6009 11 หลายเดือนก่อน

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

  • @mironoff2007
    @mironoff2007 ปีที่แล้ว +2

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

    • @LionZXY
      @LionZXY ปีที่แล้ว

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

    • @mironoff2007
      @mironoff2007 ปีที่แล้ว +2

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

    • @LionZXY
      @LionZXY ปีที่แล้ว

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

    • @mironoff2007
      @mironoff2007 ปีที่แล้ว +1

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

    • @user-ph8vk7fy8f
      @user-ph8vk7fy8f ปีที่แล้ว

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

  • @anzhelikanesterovska6170
    @anzhelikanesterovska6170 5 หลายเดือนก่อน

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

  • @borisveriga5252
    @borisveriga5252 ปีที่แล้ว +4

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

    • @AndroidBroadcast
      @AndroidBroadcast  ปีที่แล้ว

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

  • @sergeygolovin9523
    @sergeygolovin9523 ปีที่แล้ว +22

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

    • @Farid_Geniatulin
      @Farid_Geniatulin 10 หลายเดือนก่อน +1

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

    • @sergeygolovin9523
      @sergeygolovin9523 10 หลายเดือนก่อน

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

    • @Enraged075
      @Enraged075 7 หลายเดือนก่อน +4

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

  • @alexey_anurin
    @alexey_anurin ปีที่แล้ว +2

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

  • @casual8245
    @casual8245 ปีที่แล้ว

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

    • @heroinfc1869
      @heroinfc1869 ปีที่แล้ว

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

    • @trollberserker1515
      @trollberserker1515 11 หลายเดือนก่อน +1

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

  • @aleksandrzurnachyan6013
    @aleksandrzurnachyan6013 7 หลายเดือนก่อน +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 ปีที่แล้ว +8

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

    • @alexpetrov6700
      @alexpetrov6700 ปีที่แล้ว

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

    • @KIRILLINGUSS21
      @KIRILLINGUSS21 ปีที่แล้ว

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

    • @KIRILL-nl8is
      @KIRILL-nl8is ปีที่แล้ว

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

    • @robvaly1676
      @robvaly1676 ปีที่แล้ว

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

    • @robvaly1676
      @robvaly1676 ปีที่แล้ว +1

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

  • @3dmaxua
    @3dmaxua 8 หลายเดือนก่อน

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

  • @pg4ok611
    @pg4ok611 ปีที่แล้ว

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

  • @maksonic_official
    @maksonic_official ปีที่แล้ว +3

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

  • @karakurik
    @karakurik ปีที่แล้ว +1

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

  • @user-mc5xn1gf4t
    @user-mc5xn1gf4t 10 หลายเดือนก่อน

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

    • @AndroidBroadcast
      @AndroidBroadcast  10 หลายเดือนก่อน

      th-cam.com/video/ka30zdgOAYg/w-d-xo.html

  • @microdevices
    @microdevices ปีที่แล้ว

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

    • @AndroidBroadcast
      @AndroidBroadcast  ปีที่แล้ว

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

  • @ivan_p3
    @ivan_p3 ปีที่แล้ว +15

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

    • @AndroidBroadcast
      @AndroidBroadcast  ปีที่แล้ว

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

    • @trollberserker1515
      @trollberserker1515 11 หลายเดือนก่อน

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

    • @ivan_p3
      @ivan_p3 11 หลายเดือนก่อน +1

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

  • @user-dc8us2ci4n
    @user-dc8us2ci4n ปีที่แล้ว +1

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

    • @AndroidBroadcast
      @AndroidBroadcast  ปีที่แล้ว

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

    • @LionZXY
      @LionZXY ปีที่แล้ว

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

    • @AndroidBroadcast
      @AndroidBroadcast  ปีที่แล้ว

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

    • @LionZXY
      @LionZXY ปีที่แล้ว +1

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

  • @senex9336
    @senex9336 ปีที่แล้ว

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

    • @ristired9427
      @ristired9427 ปีที่แล้ว +4

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

  • @robvaly1676
    @robvaly1676 ปีที่แล้ว +6

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

    • @zaur4094
      @zaur4094 ปีที่แล้ว +1

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

    • @robvaly1676
      @robvaly1676 ปีที่แล้ว

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

    • @arbonik2126
      @arbonik2126 ปีที่แล้ว

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

    • @leff2438
      @leff2438 ปีที่แล้ว

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

    • @robvaly1676
      @robvaly1676 ปีที่แล้ว

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

  • @sergeygamer1455
    @sergeygamer1455 หลายเดือนก่อน +1

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

  • @sergeymild
    @sergeymild ปีที่แล้ว +3

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

    • @AndroidBroadcast
      @AndroidBroadcast  ปีที่แล้ว +7

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

    • @sergeymild
      @sergeymild ปีที่แล้ว +2

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

  • @MisterYIMHO
    @MisterYIMHO 6 หลายเดือนก่อน

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

    • @AndroidBroadcast
      @AndroidBroadcast  6 หลายเดือนก่อน

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

    • @MisterYIMHO
      @MisterYIMHO 6 หลายเดือนก่อน +1

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

    • @AndroidBroadcast
      @AndroidBroadcast  6 หลายเดือนก่อน

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

    • @MisterYIMHO
      @MisterYIMHO 6 หลายเดือนก่อน

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

  • @sergeygamer1455
    @sergeygamer1455 หลายเดือนก่อน +1

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

  • @trollberserker1515
    @trollberserker1515 11 หลายเดือนก่อน +1

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