На странице собраны вопросы по Kotlin — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: android, mobile, async.
Когда AlarmManager предпочтительнее WorkManager? Планирование задач, которым требуется точное время запуска Сохранение работоспособности после перезагрузки устройства Выполнение даже при закрытом приложении…
Когда synchronized недостаточно для предотвращения гонки потоков? синхронизация выполняется с помощью мониторного замка механизм действует на уровне одного объекта (монитора) недостаточен при зависимостях между…
В каких случаях программа может неожиданно завершить выполнение? Прерывание работы означает непредвиденное завершение программы Возможные причины: необработанное исключение (runtime error) обращение за пределы памяти…
В каких случаях следует использовать корутины? организация лёгкой конкуренции выполнение асинхронных операций без блокировки запуск параллельных задач с меньшими издержками, чем у потоков удобная работа в реактивном…
контекст: Android, компоненты приложения По умолчанию Service выполняется в главном (UI) потоке приложения Отдельный поток автоматически не создаётся Тяжёлые операции могут заблокировать UI Для фоновых задач применяют…
Ключевые различия Room и SQLDelight Room — официальный ORM от Google для Android, работающий поверх SQLite SQLDelight генерирует типобезопасные Kotlin SQL-запросы Room абстрагирует SQL с помощью аннотаций и объектов,…
Kotlin — современный язык для JVM, полностью совместимый с Java Отличается богатым синтаксисом: поддерживает лямбды, data-классы и extension-функции В язык встроена поддержка null-безопасности благодаря nullable-типам…
Dispatchers.IO и Dispatchers.Default: отличия и сценарии использования Назначение: Dispatchers.IO применяется для блокирующего ввода-вывода, а Dispatchers.Default — для задач с высокой нагрузкой на CPU Пул потоков: IO…
Чем отличаются inline, noinline и crossinline в Kotlin inline — модификатор функции, при котором её тело подставляется непосредственно в место вызова, помогая сократить накладные расходы noinline — модификатор…
память и синхронизация/Java concurrency volatile делает изменения видимыми для других потоков, однако не гарантирует атомарность операций Atomic-переменные выполняют атомарные операции — чтение, запись и инкремент —…
оба представляют собой горячие потоки Kotlin Coroutines StateFlow предназначен для хранения и эмиссии текущего состояния (value) StateFlow обязательно имеет начальное значение и предоставляет каждому активному…
Чем различаются симметричное и асимметричное шифрование в симметричной криптографии применяется один ключ, в асимметричной — пара ключей: открытый и закрытый симметричный подход проще и быстрее, поэтому подходит для…