Зачем эта страница

Все разборы сайта — в одном списке. Без навигации по сайту статьи связаны только через Sitemap, и половина из них месяцами не попадает в поиск. Здесь каждая статья доступна напрямую.

Подборка закрывает один вопрос: «что читать, если я Android-разработчик и иду на собеседование или хочу вырасти с junior до middle». Начните с раздела, который отвечает на вашу текущую задачу.

Если не знаете, с чего начать, — три маршрута:

  • Готовлюсь к собеседованию junior → middle: начните с Android Junior: что нужно знать, затем разбирайте темы, которые вызывают вопросы.
  • Хочу закрыть пробелы в Kotlin: раздел Kotlin и Coroutines — самый плотный по теории, которую чаще всего спрашивают.
  • Нужно понять, нужен ли ментор: раздел Менторство без продажи в лоб — сначала про критерии выбора.

С чего начать и как расти

  • Android для начинающих: что нужно знать — Что такое Android-разработка для новичка: минимальный стек технологий, устройство приложения, первые шаги и типичные ошибки начинающих.
  • Android обучение: с чего начать — Стратегия обучения Android: порядок тем, официальные источники, практика вместо туториалов и когда подключать ментора. Реалистичный взгляд на…
  • Android разработка с нуля: пошаговый план — Реалистичный план изучения Android с нуля: Kotlin, основы платформы, архитектура, практика и выход на первую работу. Порядок тем и критерии…
  • Android Junior: что нужно знать — Что должен знать Android-разработчик уровня junior: чек-лист тем, которые реально спрашивают на собеседованиях, и порядок подготовки к первому офферу.
  • Android Middle: критерии перехода — Какие критерии отличают Android middle от junior: техническая глубина, ответственность и навыки, которые проверяют на собеседованиях. С планом…
  • Android разработчик: вакансии и рынок — Состояние рынка Android-разработки: какие вакансии открываются, что реально требуют и сколько платят. Разбор на данных Хабр Карьеры, сентябрь 2026.
  • Android или iOS: что выбрать разработчику — Сравнение Android и iOS для разработчика: рынок вакансий, технологии, порог входа и публикация приложений. Разбираем, на что опираться при выборе…
  • Ресурсы Android: что это — Что такое ресурсы в Android, зачем их выносить из кода, как устроен каталог res/, работают квалификаторы и синтаксис @string и @drawable. Ответ,…

Менторство: как выбрать и что оно даёт

Kotlin и Coroutines

  • Companion Object в Kotlin — Разбираем companion object в Kotlin: зачем он нужен, чем отличается от статики в Java, именованные и безымянные companion, @JvmStatic и типичные…
  • equals и hashCode в Kotlin: контракт — Разбираем контракт equals и hashCode в Kotlin: структурное и референсное равенство, почему переопределять их нужно вместе, типичные ошибки и когда…
  • Dispatchers: Main, IO, Default, Unconfined — Полный разбор диспетчеров Kotlin Coroutines: Dispatchers.Main, Dispatchers.IO, Dispatchers.Default и Dispatchers.Unconfined. Какие потоки за ними…
  • CoroutineScope: разбор — CoroutineScope — контейнер корутин: Job, диспетчер и structured concurrency. Разбираем, как создавать и отменять скоупы, чем SupervisorJob…
  • Холодные и горячие Flow — Чем холодный Flow отличается от горячего: ленивость, независимость коллекторов, StateFlow и SharedFlow, как определить тип потока. Разбор с кодом…
  • Операторы Flow: map, filter, combine, zip, debounce — Операторы Kotlin Flow: map, filter, combine, zip и debounce — как работают, чем combine отличается от zip и где нужен debounce. Разбор с кодом для…
  • catch и retry в Flow — Обработка ошибок в Kotlin Flow: операторы catch и retry, exception transparency, почему catch не ловит ошибки коллектора и как перезапустить поток…
  • Backpressure и Flow — Backpressure в Kotlin Flow: почему источник приостанавливается, как работает buffer, conflate и collectLatest, политики BufferOverflow,…
  • derivedStateOf и snapshotFlow — derivedStateOf и snapshotFlow в Compose: когда вычислять производное состояние, как превращать State в Flow и где эти API не нужны. Примеры и…
  • CoroutineExceptionHandler: как обрабатывать исключения в корутинах — Полный разбор CoroutineExceptionHandler: как он работает, почему срабатывает только на root-корутинах, чем отличается от try/catch и как корректно…
  • Тестирование корутин — Как тестировать корутины в Android: runTest, TestScope, виртуальное время, advanceTimeBy, Dispatchers.setMain и типичные ошибки, из-за которых…

Jetpack Compose

  • Jetpack Compose: что это и зачем — Jetpack Compose — что это, как работает декларативный UI, рекомпозиция, состояние и почему Compose вытесняет View. Разбор для собеседования и…
  • Compose или XML: что выбрать — Compose или XML — что выбрать для нового проекта и что отвечать на собеседовании. Сравниваем парадигмы, скорость разработки, производительность и…
  • Compose в Android Studio: первый проект — Как создать первый проект на Jetpack Compose в Android Studio: шаблон Empty Activity, настройка Gradle, структура сгенерированного кода, Preview и…
  • Compose UI: основы — функции, Modifier и состояние — Основы Compose UI: composable-функции, рекомпозиция, Modifier, remember и состояние, MaterialTheme. Коротко и по делу — для начала работы и…

Вёрстка и UI

Activity, Fragment и навигация

Manifest, сборка и публикация

  • AndroidManifest.xml: разбор — Разбираем AndroidManifest.xml: зачем он нужен, как устроены application, activity, intent-filter, permissions и android:exported. Что спрашивают…
  • AndroidManifest: компоненты и intent-filter — Глубокий разбор AndroidManifest: четыре типа компонентов, как система резолвит intent-filter, android:exported, permissions, versioning и package…
  • Build Gradle: что это в Android — Что такое build.gradle и Gradle в Android-проекте: файлы сборки, Android Gradle Plugin, задачи и зависимости. Разбор простыми словами с реальными…
  • Build Variants и Product Flavors: полный разбор — Что такое build variant, build type и product flavor в Android: как они комбинируются, как называются варианты сборки и как развести код по source…
  • APK и AAB: разница — Чем отличается APK от AAB в Android: установочный формат против формата публикации, как Google Play собирает APK из App Bundle, зачем нужен…
  • App Bundle и Dynamic Feature — Android App Bundle и Dynamic Feature Modules: как Play собирает оптимизированные APK, что такое feature-модули, on-demand доставка через Play…

Архитектура и подходы

  • Clean Architecture: что это — Clean Architecture в Android: слои приложения, направление зависимостей, доменный слой и use cases. Разбор концепции с примерами кода и вопросами…
  • Android Context с точки зрения SOLID — Разбор android.content.Context как God Object по принципам SOLID: почему Context тащит сотню методов, как Application/Activity/Service нарушают…

Сервисы, данные и системные API

  • AlarmManager: как работает — Как работает AlarmManager: типы тревог, точные и неточные тревоги, Doze, разрешение SCHEDULE_EXACT_ALARM на Android 12+ и переживание…
  • DataStore: замена SharedPreferences — Разбираем Jetpack DataStore: Preferences и Proto, работа с Flow, асинхронность, миграция с SharedPreferences и когда DataStore не нужен.
  • Биометрия и Keystore — Как работает Android Keystore, зачем нужен BiometricPrompt и CryptoObject и как зашифровать данные под ключ, который открывается только отпечатком…
  • Deep Link и App Link — Что такое deep link и app link в Android, как настроить intent filter, что такое assetlinks.json и digital asset links и почему app link…
  • Foreground Service: что это — Foreground service — сервис с постоянным уведомлением. Разбираем, что это, какие бывают типы, какие разрешения нужны на Android 13–14 и как…
  • BroadcastReceiver: разбор для собеседования — BroadcastReceiver глубже, чем в учебнике: экспорт ресиверов, PendingIntent и мутабельность, безопасность и ограничения Android 7-16. Что…

Тесты и качество кода

  • Espresso: UI-тесты — Espresso для UI-тестов Android: onView, ViewMatchers, ViewActions, ViewAssertions, синхронизация и Espresso-Intents (intended, intending). Примеры…

Вопросы на собеседовании: душные и частые

Как читать каталог

Один разбор — один экран знаний

Каждая статья отвечает на конкретный вопрос, который реально звучит на собеседовании или в коде. Не нужно читать всё подряд: берите раздел под текущую задачу и возвращайтесь, когда упёрлись в следующий пробел.

  • Отметьте статьи, где вы не могли объяснить тему своими словами — это и есть список пробелов.
  • Начните с одного раздела, а не с десяти: один закрытый пробел даёт больше, чем десять открытых.
  • Через неделю вернитесь к статье, которую не поняли: второй проход всегда дешевле первого.

Нужна помощь в переходе на middle?

Бесплатная диагностика: разберу ваши пробелы по Kotlin, Coroutines и архитектуре и составлю план роста на 4–8 недель. Без обязательств — если менторство не подойдёт, честно скажу.

Итоги

Каталог растёт вместе с сайтом: новые разборы появляются регулярно, и все они попадают сюда. Если не знаете, какой разбор вам нужен, — напишите в Telegram, разберём вашу ситуацию и скажу, что читать в первую очередь.