Це відео не доступне.
Перепрошуємо.
Онлайн-собеседование, Coroutines! / Мобильный разработчик
Вставка
- Опубліковано 23 тра 2022
- Задать вопрос/Поддержать канал!
www.donational...
Всем привет! Скоро нас ожидает эпическое шоу :) Онлайн собеседование ПОЛНОСТЬЮ посвященное корутинам. Все вопросы и задачки будут только по корутинам, поэтому если вы хотели узнать различные тонкие моменты или нюансы по корутинам, то вам это будет очень интересно!
Интервьюер Алексей Панов
Ведущий андроид разработчик в Контуре. Работал над проектами с различным стеком технологий, в том числе имел опыт кроссплатформенной разработки на Flutter и KMM. Неоднократный спикер на онлайн конференции Podlodka Android Crew с докладами по Jetpack Compose и Kotlin Coroutines, организатор митапов и воркшопов по мобильной разработке в Екатеринбурге. В данный момент помогает развивать фреймворк для UI тестирования - Kakao Compose.
Кандидат Александр Рысьев
Бывший руководитель направления и на текущий момент старший андроид разработчик в компании Ирликс. Есть опыт разработки под iOS и кроссплатформенной разработки. Принимал участие в разработке проектов в ролях разработчика, тимлида и архитектора. Участвовал как преподаватель при обучении студентов ВУЗов. Также был опыт записи видеоуроков на одну крупную обучающую платформу.
Трансляция будет во вторник, 19:00 24 мая
Мобильный разработчик в других соц. сетях
=======================
Вконтакте - mdeveloper
Instagram - / nplau
Телеграм - t.me/mobiledev...
=======================
Круто, когда собеседующий не просто задает вопросы и говорит 'ну понятно' но и дает развернутый ответ в случае если собеседуемый отвечает неверно или дает неполный ответ.
Вернулся на этот видос после того как посмотрел постановочные собесы у azazin kreet, это нечто))
Здорово парни! Решил изучить Kotlin Coroutines и тут новый собес по теме) Совпадение...?
Спасибо за труды!
У меня так почти всегда, я не знаю как это происходит, феномен какой-то
@@andrew3937
Так поисковые запросы и рекомендации в ютубе взаимосвязаны
Александр по манере общения на собеседовании теперь мой кумир😁
15:09 уведомление
ахахаха, я просто выпал, лучший
Ну, непосредственно, и соответственно, что-то вроде, в теории, типо, возможно как то обфусцированно рассказал, если говорить сейчас, как бы, по цепочке, но не факт, как раз-так, грубо говоря, если я не ошибаюсь, поправь если ошибаюсь, ну принципе, что-то типа, как я ранее говорил, что говорит о том и что, если я не путаю, что-то со словом …ну я бы сказал… так вопрос хороший, конечно … же… если одним словом по сути
Формат отличный!!!!!
Спасибо, будет еще )
смотрю на одном дыхании
👍
чувачок как будто летсплей записывает)) это не придирка
Да, отличный получился выпуск - спасибо)
Жаль, что не затронули тему envelope
из плюсов - это видео поднимает самооценку
😂
Классно, очень понравилось, много полезного узнал
Жаль что не указали что решение на 17.30 ошибочно и ведёт к проблемам
Потрясный собес! Спасибо большое!
лучший формат
0:00 смешно смеёмся
Очень крутой собес, спасибо!
Отличный собес, спасибо)
Спасибо, очень полезно!
Больше всего меня поражает, что Александр, не работая с курутинами на постоянке (насколько я понимаю он много работает с rx работает), в 8 вечера способен все это выдать) Кажется мне пора на пенсию, ибо к 8 и я двух слов связать не смогу, хоть и работаю с ними постоянно
Крутой собес, спасибо участникам и организаторам)
Лайк 👍
SwitchMap, а точнее flatMapLatest разве не должен возвращать flow?
А о какой книге идет речь? Случайно не Kotlin Coroutines by Tutorials (Filip Babić, Luka Kordić & Nishant Srivastava)? Спасибо
Я говорил о книге Kotlin Coroutines от Marcin Moskala, который также является автором крутой книги Effective Kotlin
Алексей, спасибо за название книги. А можете сказать где её можно сейчас купить? Можно купить у вас?
@@AJIEKC96скажи пожалуйста, есть ли ещё хорошие книги или курсы, по теме корутин? Книга отличная, но хочется еще.
Вопрос на 1:02:00 интересует. Сам столкнулся с проблемой тестирования SharedFlow, ответ не услышал. StateFlow тестируется легко в runBlocking, а SharedFlow будет вечно висеть. Чтобы протестировать Shared, надо емитить в отдельном потоке, а ждать в тесте. Без делея и костылей я не знаю как нормально тестировать.
Саша в видео упоминал библиотеку Turbine, которая позволяет тестировать разные Flow. Мы же ее не используем, тестим следующим образом:
Запускаем корутину через runTest или runBlockingTest, запускаем дочернюю корутину через launch, сохраняя ссылку на Job, где коллектим SharedFlow и складываем это в list, после ассертов отменяем эту job. Чтобы каждый раз не дублировать все это можно вынести в отдельную функцию и внутри лямбды уже делать свои ассерты.
@@AJIEKC96 , вот я тоже запускал дочернюю, но вопрос как дождаться результата emit правильно. Допустим, я жду, когда мне придет first(), чтобы элемент пришел, мне приходилось спамить emit с delay, пока элемент не придет. Я джун, сложно инфу найти, примеры от гугла со стейтфлоу по-моему и вообще инфы мало. У всех подходы разные. Я бы использовал где-то cold flow
Есть диспатчеры для тестов которые убирают все делеи в видео об этом говорилось
Thanks
а что за специальный флаг coroutine suspended который возвращает функция 7:42
Вот тут все говорят, что кандидат слабо отвечает (кто-то сказал что на уровне джуна). Мне интересно что же должен знать мидл? Тип корутины это же только небольшая часть в андроид разработке, можно в каждой теоритеческой части завалить любого специалиста. Люди же не машины
Большинство вопросов достаточно общие по корутинам и он очень сильно плавает. Все таки если ты мидл то на большинство таких вопросов отвечаешь достаточно четко. Если по сухому остатку просто без дополнений ставить галочки правильно ли ответили или нет то где то половину вопросов ответил не правильно ((
Вы на марсианском?)))
можете что угодно говорить про "стресс во время стрима", но:
1. использовать viewmodelScope внутри suspend - это не стресс
2. пытаться наполнить массив внутри viewMododelSceop , а вне его сразу вернуть - это не стресс.
3. путать SupervisiorJob и обычную Job. банально не помнить, какой диспатчер у viewModelScope!!!
и это "2 года разработки на Корутинах"! я поверю, что он 2 года копипастит код коллег, но явно не работает с корутинами.
ужасное интервью!
а еще только на 30ой минуте! что же будет дальше?
Не хотите попробовать? Мы как раз ищем кандидата на собеседование по Jetpack Compose
@@MobileDeveloper
нет, я не разбираюсь в Compose.
но ооочень хочу попросить тебя, Алексей, тщательнее выбирать кандидатов.
особенно страшно, когда человек не разбирающийся в теме харизматичен! а интервьюер вместо того, чтобы поправлять его - переходит к другой теме.
я бы с радостью послушал самого интервьюера. он вбрасывал ооооочень классные вопросы, которые остались не до конца раскрыты.
Я начинающий, поясните, пожалуйста, почему viewmodelScope внутри suspend не надо использовать? Сами публичные suspend функции во viewModel это нехорошо, можно использовать viewModelScope, чтоб привязать выполнение операции с жизненному циклу viewModel, верно? Если viewmodelScope не использовать, то операции выполнения не прекратятся, даже когда viewModel будет уже не нужна
@@user-st3di2tv9i согласен с вами на 100%. К тому же после просмотра сильно смущает характеристика собеседуемого в описании...
@@summerwise все верно - надо привязывать к жизненному циклу ВМ. но запуская внутри supend fun A() другую suspend funB() через новый viewModelScope, а не через дочерний launch, метод В не прекратит свою работу, если самому отменить метод А.
Переволновался чучуть)
ауф
В корутины лезть. Онлайн собесы пилить)
Будет, будет все будет)
Собеседующий видно, что знающий, но подача сильно без эмоциональная, ловит моменты где можно позаковырестей вопрос задать..
Ощущение что посмотрел экзамен.
Сколько у него слов паразитов это просто ппц! 80% из того что он говорит - мусор
Не душни
Достаточно слабые знания у собеседуемого, без обид просто констатация факта
А вы давно на собеседованиях были ?)
Этого уровня больше,чем достаточно,чтобы их проходить на +- сеньора, а также закрывать фичи)
@@kafychannel У каждой конторы свои требования на сеньора, например у Гугла и у "ТОВ Рога и Копыта" сеньоры будут вообще на разных полюсах планеты.
Где алгосы, что за фреймворк собес ...
Дуже слабкий кандидат в технічному плані:
1. Поверхневі знання - щось десь чув, але чітко відповісти не може
2. Багато води при поясненні простих речей.
Підозрюю що кандидат не готувався нормально до інтервю, так як думав що його знань достатньо. Але як показало це інтервю, рівень знань beginner/junior. Питання були досить прості, хоча щоб на них відповісти потрібно мати хороші теоретичні і практичні навички.
Не забывайте, что во время стрима уровень стресса повышается в разы. Может на вас не влияет что вас смотрит и обсуждает 150 человек, но по моей практике большинство людей это очень сильно нервирует
Готов сам быть на его месте?)
@@MobileDeveloper +++ ви праві, не врахував фактор стрессу, коли хтось дивиться дуже важко сконцетруватись. Тому частково забираю свої слова назад, можливо кандидат написав би дуже легко цей код в IDE вдома коли ніхто не нависає за спиною...
Этого мы уже никогда не узнаем )
Не хватает в описании списка вопросов....
А так конечно круто, на самом деле корутины и флоу это очень общирная тема, тем более апи постоянно улучшается и расширяется