Подборка объединяет вопросы, отмеченные на этапах интервью в GrowFood. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: mobile, android, rxjava.
Dagger — это библиотека для внедрения зависимостей (Dependency Injection) в Android-приложениях. Она помогает управлять созданием и предоставлением объектов, от которых зависят другие компоненты приложения.
Операция merge в контексте потоков данных (например, RxJava или Kotlin Flow) объединяет несколько потоков в один, при этом элементы из всех исходных потоков передаются в результирующий поток по мере их появления.
В Android объект Bundle используется для передачи данных между компонентами (например, между Activity). Однако он имеет ограничение по размеру, так как данные сериализуются и передаются через Binder.
Content Provider — это один из строительных блоков Android (компонент Application Component), который предоставляет стандартизированный интерфейс для доступа к структурированным данным и управления ими.
Передавать изображение размером 5 Мб напрямую в объект Bundle не рекомендуется, так как Bundle имеет ограничение по размеру (обычно около 1 Мб), и это может привести к ошибкам TransactionTooLargeException.
В моём опыте работы с Android-сервисами я использовал их для выполнения длительных или фоновых задач, таких как загрузка данных, воспроизведение музыки или синхронизация.
Слияние двух потоков выполнения (threads) обычно означает, что один поток ожидает завершения другого (например, через метод join). Последствия такого слияния: