Подборка объединяет вопросы, отмеченные на этапах интервью в СитиДрайв. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: mobile, android, kotlin.
Завершение процесса в операционной системе означает полное прекращение его выполнения и освобождение всех ресурсов, которые он занимал (память, файловые дескрипторы, процессы-потомки и т.д.).
В Kotlin корутины используют разные диспетчеры (Dispatchers) для определения, на каком потоке или пуле потоков будет выполняться код корутины. Основные диспетчеры:
Выполнение операции внутри Dispatchers.IO в Kotlin Coroutines означает, что задача будет запущена в пуле потоков, оптимизированном для операций ввода-вывода (например, чтение/запись файлов, сетевые запросы).
ViewModel в Android сохраняет свою жизнеспособность после уничтожения Activity благодаря тому, что она связана с жизненным циклом компонента на уровне архитектуры, а не напрямую с Activity.
WorkManager в архитектуре Android-приложений отвечает за выполнение отложенных и гарантированных фоновых задач, которые должны выполниться даже если приложение закрыто или устройство перезагружено.