Вернуться в видеотекуКоротко о видео
Авторский ролик — учебная имитация технического Android-интервью, а не текущее реальное собеседование. Кандидат рефакторит намеренно проблемный код контроллера сессии чата и отвечает на вопросы о synchronized, Kotlin object и companion object, Android Context, репозиториях, коллекциях, потоках, абстракциях и композиции. По итогам интервьюер в рамках этого скрининга считает кандидата подходящим для следующей секции, отмечая отдельные темы для повторения.
Затронутые темы
Что взять на заметку
- На скрининге важно не только заметить лишний synchronized, но и объяснить взаимное исключение, видимость данных и то, какой объект выступает монитором.
- Нужно уверенно различать Kotlin object, companion object и статические члены в Java, включая момент инициализации singleton-объектов.
- Бизнес-логика не должна зависеть от Android Context: если нужна строка или параметр, следует рассмотреть константу либо явный параметр; это упрощает тестирование и снижает риск утечек Activity Context.
- При работе с Context нужно различать Application Context и Activity Context: у Activity есть привязка к окну, теме и локализованным ресурсам, поэтому одинаковый API может дать иной результат.
- Следует замечать повторные обращения к репозиторию, возможность изменения коллекций между обращениями, мутабельное состояние и распределение ответственности за выбор потока.
- Нужно уметь обосновать уровень абстракции API, минимизировать область видимости и предпочитать композицию наследованию, когда требуется расширять поведение без жёсткой связанности.
- В демонстрационной задаче разрешалось менять код широко: полезно вслух предлагать альтернативы, например переход с RxJava на Kotlin coroutines, и задавать уточняющие вопросы.