Подборка объединяет вопросы, отмеченные на этапах интервью в Viasat tech. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: mobile, kotlin, android.
В контексте Dependency Injection (DI) в Android (например, с Dagger или Hilt) аннотации @Provides и @Binds используются для указания, как создавать зависимости, но отличаются по способу и применению:
Если в Fragment вызвана команда setRetainInstance(true), то при изменении конфигурации (например, поворот экрана) сам экземпляр фрагмента не уничтожается и не создаётся заново.
Sealed классы используются для представления ограниченной иерархии наследования, где все подклассы известны на этапе компиляции. Enum классы используются для представления фиксированного набора констант.
Паттерн ленивой инициализации (lazy loading) используется, когда создание объекта или загрузка данных является дорогостоящей операцией, и её стоит отложить до момента реальной необходимости.