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

Прямой эфир: Android-собеседование в Тинькофф. Рефакторинг кода

Учебный разбор рефакторинговой секции Android-интервью: кандидат вслух анализирует и правит код с Flow, корутинами и ViewModel. После работы интервьюеры разбирают сильные стороны подхода и технические пробелы.

Источник: Mobile Dev

Открыть на YouTube

Таймлайн

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

Это учебная трансляция Тинькофф Бизнес, прямо обозначенная авторами как не реальное собеседование: показан этап рефакторинга Android-кода в формате 30-минутного live coding. Сначала ведущий объясняет различие между техническим скринингом и полноценным интервью с секциями рефакторинга, теории и архитектуры. Затем кандидат разбирает ScreenViewModel с Kotlin Coroutines и Flow, обсуждает замену LiveData на StateFlow, работу с flatMapConcat, GlobalScope, жизненным циклом ViewModel и разделением ответственности; в конце интервьюеры дают предметный фидбэк.

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

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

  • На рефакторинговом интервью сначала разберитесь в назначении кода и проговорите ход мыслей, а не начинайте с переименований и code style.
  • Если предлагаете заменить LiveData на StateFlow, объясните причины и последствия в конкретной архитектуре, а не ограничивайтесь общим тезисом о совместимости с корутинами.
  • Не используйте GlobalScope для задач ViewModel: в обсуждении его связывают с риском продолжения работы после уничтожения ViewModel и возможными утечками; рассматривается viewModelScope.
  • Перед изменением цепочки Flow нужно понимать семантику операторов: отдельно упомянуты flatMapConcat, flatMapMerge, flatMapLatest и flowOn.
  • Не переносите асинхронную операцию из flow-цепочки в collect без проверки семантики: collect предназначен для обработки уже эмитированных элементов, в данном примере это поставило под вопрос корректность преобразования.
  • Инкапсулируйте внутреннюю логику ViewModel: интервьюер отмечает публичный метод, который можно сделать private, и риск выдачи наружу mutable LiveData.
  • Проверяйте распределение ответственности: длинную цепочку с бизнес-логикой, проверками и аналитикой стоит рассматривать с точки зрения выноса частей в другие слои или классы.

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

2 ч 1 мин
MobileMiddle

Собеседование в прямом эфире. Livecoding. Middle Android Dev

Публичное учебное live-coding-собеседование по Android-разработке. Кандидат собирает поиск изображений на Pixabay, затем получает подробный разбор архитектуры, реализации и поведения на техническом интервью.

1 ч 12 мин
Mobile

Проводим собеседование в Android-команду Тинькофф в прямом эфире

Учебный разбор Android-скрининга с лайв-рефакторингом искусственно проблемного кода. После задания интервьюер объясняет критерии оценки и подробно разбирает вопросы о Context и архитектурных границах.

1 ч 49 мин
MobileJunior

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

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