Ключевое отличие Serializable от Parcelable Serializable — стандартный интерфейс Java, предназначенный для преобразования объекта в поток байтов. Parcelable — интерфейс Android, используемый для передачи объектов…
Различия remember и rememberSaveable и место хранения значения remember контекст: управление состоянием в Jetpack Compose remember удерживает значение в памяти компоновщика значение remember теряется при пересоздании…
Отличие явного (explicit) Intent от неявного (implicit) Intent Контекст: Android и взаимодействие компонентов Явный Intent: содержит прямую ссылку на определённый компонент — класс, activity или service Неявный…
Приостановка и блокировка потока: в чём отличие При приостановке (suspend) поток добровольно прекращает выполнение и ожидает внешнего сигнала При блокировке (block) поток ожидает ресурс или событие — например, I/O или…
системное изменение, которое влияет на ресурсы UI например, поворот экрана, смена языка или подключение клавиатуры по умолчанию приводит к пересозданию Activity пересоздание требуется, чтобы применить обновлённые…
volatile — модификатор переменных в Java и C++ Он обеспечивает видимость изменений между потоками: чтение и запись выполняются с обращением к основной памяти volatile препятствует оптимизациям компилятора и CPU,…
Что находится в стеке потока исполнения? структура памяти, выделенная для каждого потока хранит локальные переменные и параметры функций сохраняет адреса возврата вызовов (return addresses) определяет порядок…
Что определяет флаг exported у сервиса? Контекст: сервисы в архитектуре, микросервисах, Kubernetes и системах оркестрации Параметр exported задаёт, сможет ли сервис быть доступен за пределами собственной зоны —…
Что представляют собой коллекции в Kotlin? инструмент для работы с наборами данных бывают мутабельными (их можно изменять) и имутабельными (доступны только для чтения) основные типы: List (сохраняет порядок), Set…
Что представляет собой BroadcastReceiver и как увеличить время его работы? Компонент Android, принимающий системные и пользовательские трансляции (broadcasts) События обрабатываются в методе onReceive(), который…
Что представляет собой DiffUtil и для чего он нужен? инструмент Android для сопоставления списков определяет минимальный набор отличий между прежним и обновлённым списком использует алгоритм вычисления разности (diff)…
Что такое TDD, как он работает и в чём его плюсы и минусы методология создания программного обеспечения последовательность действий: написать тест → убедиться, что он не проходит → реализовать код → добиться успешного…