Подборка объединяет вопросы, отмеченные на этапах интервью в БрайтСофт. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: mobile, android, kotlin.
Функции с аннотацией @Composable в Jetpack Compose автоматически получают неявные параметры, которые управляют их жизненным циклом и состоянием UI. Основные из них:
Компоненты приложения (Activity, Service, BroadcastReceiver, ContentProvider) должны быть объявлены в AndroidManifest.xml. Это необходимо по нескольким причинам:
Аннотация @Composable в Jetpack Compose обозначает функцию, которая описывает часть пользовательского интерфейса. Такие функции называются "композаблы" и могут быть использованы для построения UI декларативно.
В Kotlin компонентные функции componentN() автоматически генерируются для data-классов и позволяют распаковывать объект на отдельные переменные с помощью деструктуризации. Например, если у вас есть data-класс:
Sealed классы используются для представления ограниченной иерархии наследования, где все подклассы известны на этапе компиляции. Enum классы используются для представления фиксированного набора констант.
В Kotlin корутины внутри одного потока исполнения (например, Dispatchers.Main или Dispatchers.Default) работают на основе кооперативной многозадачности.
Структурированное конкурентное программирование (Structured Concurrency) — это подход к управлению параллельными задачами, который делает параллельный код более безопасным, читаемым и предсказуемым.