Вернуться в видеотеку

Собеседование по Kotlin. Проводит Кирилл Розов

Запись учебного Kotlin-собеседования с теоретической частью и практической задачей по обработке потока событий в Kotlin Multiplatform. Ведущий разбирает ответы кандидата и показывает, какие детали важны для технического интервью.

Источник: Android Broadcast. Все об Андроид разработке

Открыть на YouTube

Таймлайн

Коротко о видео

Публичное учебное собеседование по Kotlin: кандидат Андрей отвечает на вопросы о типах, коллекциях, функциональных типах, sealed-классах, inline/reified и Kotlin Multiplatform. Затем он проектирует обработку серверного потока JSON-событий в Kotlin Multiplatform, а ведущий разбирает решение: предлагает фильтровать события до полной десериализации, продумать подписки, буферизацию и жизненный цикл корутин. В финале ведущий даёт кандидату обратную связь и обсуждает ожидание знания Kotlin Coroutines на собеседованиях.

Затронутые темы

Что взять на заметку

  • Подготовьте объяснение иерархии типов Kotlin: nullable-типы, Nothing, вывод типов и platform types при вызове Java-кода.
  • Различайте read-only API List и гарантию фактической неизменяемости объекта: ограничение методов через систему типов не исключает передачи изменяемой реализации.
  • Для inline-функций оценивайте размер тела и частоту вызовов: встраивание снижает накладные расходы на лямбды, но способно заметно раздуть байткод.
  • Понимайте, зачем нужен reified: он доступен только в inline-функциях и позволяет работать с реальным типом generic-параметра, который иначе стирается на JVM.
  • Для Kotlin Multiplatform умейте объяснить common-код, платформенные source set’ы и контракт expect/actual; учитывайте, что одинаковый API может вести себя по-разному на платформах.
  • В задаче с потоком разнородных JSON-событий сначала отбирайте события по общему type-дискриминатору, затем десериализуйте нужный подтип; не парсите весь поток для каждого подписчика.
  • При обработке долгоживущего потока событий задавайте scope, связанный с жизненным циклом сервиса или приложения, вместо GlobalScope, и продумывайте буферизацию при высокой скорости входящих событий.

Рекомендуем посмотреть

1 ч 49 мин
MobileJunior

Собеседование в прямом эфире. Junior Android разработчик

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