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

Собеседование в Яндекс по разработке на Android

Разбор первой технической секции собеседования в Яндекс на позицию Android-разработчика. В видео есть Kotlin-рефакторинг, Android-теория, многопоточность, корутины и задача на обход дерева View.

Источник: Software developer

Открыть на YouTube

Таймлайн

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

Антон разбирает первую Kotlin/Android-секцию реального собеседования в Яндекс после перехода из фронтенд-разработки в мобильную. Вместе с интервьюером он исправляет Kotlin-код и отвечает на вопросы о сборке мусора, HashMap, компонентах Android, жизненном цикле Activity, ViewModel, отрисовке View, сервисах, IPC, потоках и корутинах. В конце рассматривается алгоритмическая задача на собственную реализацию поиска View по ID; автор сообщает, что прошёл три секции, но не прошёл финальное интервью с командой.

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

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

  • Подготовьтесь к ревью Kotlin-кода: изменяемость коллекций, `inline`-функции, локальные и нелокальные `return`, а также уместность `reified`.
  • Тренируйтесь вручную вычислять вывод кода, особенно когда используются `reversed()`, обход коллекции и условия пропуска элементов.
  • Уметь объяснить достижимость объектов от GC roots, роль ссылок при сборке мусора и дорогую операцию resize/rehash в `HashMap`.
  • Повторите четыре базовых компонента Android: Activity, Service, BroadcastReceiver и ContentProvider, а также ситуации, когда lifecycle-callback может не вызваться из-за завершения процесса системой.
  • Различайте жизненный цикл Activity и ViewModel; для View повторите `onMeasure`, `onLayout`, `onDraw`, `invalidate()` и `requestLayout()`, включая стоимость повторных измерений вложенной разметки.
  • Подготовьте чёткое объяснение фоновой работы через Service, последствий завершения Activity и способов обмена данными между процессами Android.
  • Повторите гонки при инкременте общего счётчика, назначение `Mutex`, `volatile` и атомарных операций, а также scopes, dispatchers и иерархию дочерних корутин.

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