Подборка объединяет вопросы, отмеченные на этапах интервью в Платформа Трим. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: mobile, kotlin, java.
В Kotlin для Data Class доступны стандартные уровни доступа, такие как public, private, protected и internal, которые можно применять к свойствам и методам.
В Kotlin корутины используют разные диспетчеры (Dispatchers) для определения, на каком потоке или пуле потоков будет выполняться код корутины. Основные диспетчеры:
В Kotlin класс Unit был введён для обозначения отсутствия возвращаемого значения у функции, аналогично void в Java, но при этом Unit является полноценным типом.
Модификатор lateinit в Kotlin используется для отложенной инициализации переменных, объявленных с типом, не допускающим значение null (обычно это var-переменные).
Основная цель расширяющих функций (extension functions) — добавить новые методы к существующим классам без необходимости наследования или изменения исходного кода класса.
В контексте Dependency Injection (DI) в Android (например, с Dagger или Hilt) аннотации @Provides и @Binds используются для указания, как создавать зависимости, но отличаются по способу и применению:
Для передачи данных между ViewModel и Fragment с помощью Flow можно использовать StateFlow или SharedFlow в ViewModel и подписываться на них во фрагменте.
Sealed классы используются для представления ограниченной иерархии наследования, где все подклассы известны на этапе компиляции. Enum классы используются для представления фиксированного набора констант.