Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Чем Kotlin выигрывает у Java в контексте Android-разработки?
Kotlin лаконичнее (уменьшает boilerplate), безопаснее (null-safety), поддерживает расширения, корутины и современные концепции (коллекции, DSL), что делает код чище и меньше ошибок. Он полностью совместим с Java, позволяет плавно мигрировать существующие проекты и улучшает опыт разработки через встроенные инструменты в Android Studio.
Расскажите об основных компонентах Android-приложения.
В Android-приложении есть четыре ключевых компонента: Activity (экран UI), Service (фоновая работа), BroadcastReceiver (приём широковещательных сообщений) и ContentProvider (доступ к данным). Каждый компонент объявляется в манифесте и управляется системой. Они взаимодействуют через Intent, что даёт гибкость в навигации и общении внутри и между приложениями.
Как работают методы bind и unbind у Android-сервисов?
bindService(Intent, ServiceConnection, flags) связывает клиент (Activity или другой компонент) с сервисом, вызывая в сервисе onBind(Intent) и возвращая IBinder для взаимодействия. unbindService(ServiceConnection) разрывает связь, и если нет других клиентов и сервис не был запущен через startService, он завершается.
Какие компоненты Android обмениваются Intent?
Intent обмениваются между Activity (между экранами), Service (запуск и bind), BroadcastReceiver (отправка и приём Broadcast) и ContentProvider (запросы через ContentResolver). Это универсальный механизм навигации и обмена сообщениями внутри и между приложениями.
Какие механизмы межпроцессного взаимодействия (IPC) есть в Android?
В Android IPC реализуется через Binder (AIDL), Messenger (обёртка над Binder с Hander), ContentProvider (URI + Cursor), Broadcast (implicit/explicit Intent) и File-Sockets или сокеты UNIX. Binder — основной быстрый механизм, ContentProvider удобен для доступа к данным, а Broadcast для широковещательной рассылки.
Какие элементы Linux сохранились в ядре Android для IPC?
Из чего состоит Android-приложение и какие у него основные компоненты?
Какими способами можно наладить взаимодействие между компонентами Android?
Какие инструменты помогают обнаружить утечки памяти в Android?
Что такое сервисы в Android и какие их виды существуют?
Рейтинг:
2
Сложность:
6
В Android доступны Linux-механизмы IPC: UNIX-domain сокеты, FIFOs (именованные каналы), shared memory (ashmem), сигнализации (signals) и sysfs/procfs. Кроме того, Android добавляет ashmem для общего анонимного шаринга и Binder поверх ядра.
Рейтинг:
2
Сложность:
6
Android-приложение состоит из APK-контейнера, содержащего код (DEX-файлы), ресурсы, манифест и нативную библиотеку. Основные компоненты внутри — Activity (экран), Service (фоновые задачи), BroadcastReceiver (приём широковещательных Intent) и ContentProvider (доступ к данным). Они объявляются в AndroidManifest.xml и взаимодействуют через Intent.
Рейтинг:
2
Сложность:
7
Компоненты обмениваются через Intent (явные и неявные), через Binder/AIDL при привязанных сервисах, через ContentProvider с URI-запросами, через BroadcastReceiver для широковещательного обмена, а также через SharedPreferences, файлы и Messenger. Выбор зависит от направления связи, объёма данных и требуемой надёжности.
Рейтинг:
2
Сложность:
7
Для поиска утечек используют Android Studio Profiler (Memory Profiler), LeakCanary (runtime-библиотека), MAT (Eclipse Memory Analyzer) для анализа heap dump и ADB dumpheap + hprof-conv. Они помогают найти объекты, которые не освобождаются, и выяснить цепочку ссылок, препятствующую сборке мусора.
Рейтинг:
2
Сложность:
7
Сервис — компонент без UI для фоновых задач. Started Service работает до явной остановки (startService/stopService). Bound Service привязывается к клиенту (bindService) и живёт, пока клиент подключён. Foreground Service с уведомлением работает всегда на переднем плане. С Android 8+ для длительных задач рекомендуется WorkManager.
Рейтинг:
2
Сложность:
6
Рейтинг:
2
Сложность:
6
Рейтинг:
2
Сложность:
5
Рейтинг:
2
Сложность:
6
Рейтинг:
2
Сложность:
5