Вернуться в видеотекуСобеседование Senior Android разработчика. Часть 2
Фрагмент технического собеседования Senior Android Developer по Kotlin: generics, inline-функции, корутины и Flow. Вопросы чередуются с примерами кандидата и уточнениями по теоретическим деталям.
- Направление
- Mobile
- Формат
- Техническое собеседование
- Грейд
- Senior
- Длительность
- 19 мин
Коротко о видео
Во второй части собеседования обсуждают Kotlin Generics, inline-функции, корутины и Flow. Кандидат приводит пример обобщённого RecyclerView-адаптера с ViewHolder, затем отвечает на вопросы о границах типов, star projection, стирании типов и `reified`. Во второй половине разговора разбирают работу приостановок корутин, CoroutineContext, Job/SupervisorJob, а также горячие и холодные Flow, backpressure, контекст, ошибки и базовые операторы.
Затронутые темы
Что взять на заметку
- Уметь объяснить практическое применение generics на примере связки RecyclerView Adapter, ViewHolder и типа элемента: типизация избавляет от небезопасных cast.
- Подготовить верхние и нижние границы типов и принцип PECS: Producer Extends, Consumer Super; в Kotlin — соответствующие направления `out` и `in`.
- Различать star projection, стирание generic-типов во время выполнения и случай, когда `inline` вместе с `reified` даёт доступ к информации о типе.
- Разобраться в назначении `inline`, `crossinline` и `noinline`, а также отличать их от value classes и `const val`.
- Уметь описать корутины без утверждения, что они создают поток: suspend-вызов освобождает поток и продолжает выполнение через сохранённое состояние/continuation.
- Знать состав и назначение CoroutineContext, различия Job и SupervisorJob и последствия ошибки дочерней корутины для соседних задач.
- Для Kotlin Flow подготовить различия hot/cold потоков, backpressure, переключение контекста в цепочке, обработку ошибок и роли `map`, `transform`, `filter`, `emit` и `collect`.