Зачем эта страница
Все разборы сайта — в одном списке. Без навигации по сайту статьи связаны только через 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. Ответ,…
Менторство: как выбрать и что оно даёт
- Кто такой ментор: простыми словами — Кто такой ментор простыми словами: чем он отличается от наставника, коуча, репетитора и тимлида, как помогает разработчику расти и кому ментор не…
- Менторство: что это и зачем оно нужно — Менторство — что это простыми словами: как устроено на практике, какие бывают форматы, как проходит типичная сессия и что менторство даёт junior и…
- Менторинг: что это и чем отличается от менторства — Менторинг и менторство — в чём разница. Менторинг как процесс передачи опыта, менторство как роль и отношения. Что это значит на практике в IT и…
- Ментор разработчика: чем помогает — Чем ментор помогает разработчику: диагностика уровня, разбор кода, мок-собеседования и план роста. Кому ментор нужен, кому нет и как его выбрать.
- Зачем нужен ментор разработчику — Разбираем, зачем разработчику ментор: чего не хватает самообучению, что ментор даёт на практике и кому он нужен, а кому — нет.
- Менторство в IT: как устроено — Как устроено менторство в IT: форматы — корпоративное, платное, комьюнити; из чего состоит работа ментора; как получить максимум от менторства…
- Как найти ментора в программировании — Как найти ментора в программировании: когда он нужен, где искать, как выбрать и как работать, чтобы не слить деньги впустую и реально вырасти до…
- Как найти ментора разработчику — Как найти ментора разработчику: где искать, как оценить кандидата до первой встречи, как написать ментору первым сообщением и на какие красные…
- Как выбрать ментора: критерии — На что смотреть при выборе ментора для Android-разработчика: критерии хорошего ментора, красные флаги и вопросы, которые стоит задать до старта.
- Ментор Android-разработчика: как вырасти из junior в middle — Зачем Android-разработчику ментор, чем он отличается от курсов, почему junior застревает между грейдами и как выглядит рабочий план перехода на…
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
- ConstraintLayout: основы — ConstraintLayout для собеседования: constraints, bias, размеры 0dp, ratio, chains, guidelines и barriers. Почему плоская иерархия быстрее и когда…
- BottomNavigationView: настройка и вопросы с собеседования — Разбираем BottomNavigationView: меню, пункты, спецификации Material (3–5 вкладок), интеграцию с навигацией и типичные ошибки кандидатов.
- Тёмная тема в Android: как работает DayNight и values-night — Разбираем, как устроена тёмная тема в Android: DayNight-темы, ресурсы values-night, переключение через AppCompatDelegate и UiModeManager, Force…
- Доступность в Android — Доступность (accessibility) в Android: accessibility-сервисы TalkBack и Switch Access, contentDescription, фокус, контраст, цели касания и как…
Activity, Fragment и навигация
- Жизненный цикл Activity: полный разбор для собеседования — Разбираем все состояния Activity, типичные ошибки кандидатов и нюансы работы с Fragment. Готовимся к вопросам по памяти и UI.
- Состояния Activity: полный разбор для собеседования — Разбираем все состояния Activity, отличия onPause и onStop, а также типичные ошибки кандидатов при ответе на вопрос о жизненном цикле.
- Что такое Activity Context: разбор для собеседования — Разбираем, что такое Activity Context, чем он отличается от Application Context и как избежать утечек памяти. Готовимся к собеседованию по Android.
- Context в Android: разбор для собеседования — Разбираем, чем отличается Application Context от Activity Context, как избежать утечек памяти и почему этот вопрос часто задают на…
- FragmentManager и FragmentTransaction: полный разбор для собеседования — Разбираем FragmentManager и FragmentTransaction: как добавлять, заменять и удалять фрагменты, зачем нужен back stack и чем commit отличается от…
- DialogFragment: что это и как работает — Разбираем DialogFragment: зачем он нужен, как создавать диалоги через onCreateDialog и show, чем отличается от AlertDialog и как ведёт себя при…
- Back Stack и задачи в Android — Что такое задачи и back stack в Android, как они живут при сворачивании и возврате, как работают FLAG_ACTIVITY_NEW_TASK и аффинити. Разбор для…
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). Примеры…
Вопросы на собеседовании: душные и частые
- Android: ОС, SDK и мифы. Разбор для собеседования — Разбираем, чем Android как ОС отличается от SDK, почему это не просто Java-оболочка и как отвечать на базовые вопросы о платформе на интервью.
- GET и POST: разница — Чем GET отличается от POST по спецификации HTTP: безопасность, идемпотентность, передача данных, кэширование. Разбор для собеседования и типичных…
- Алгоритмы — 6 алгоритмических паттернов, которые спасут на собеседовании
- Android Coroutines Learning
- Kotlin Coroutines: Dispatchers.Main vs Main.immediate — В чем разница между Dispatchers.Main и Dispatchers.Main.immediate? Узнайте, как избежать лишних переключений потоков и ускорить отрисовку UI в…
- Ошибки в Kotlin Coroutines на собеседовании: 6 типичных провалов — 6 ошибок в Kotlin Coroutines, на которых валятся 8 из 10 кандидатов. Разбор: Dispatchers, structured concurrency, SupervisorJob, отмена корутин и…
- Garbage Collector: что такое «корень» и почему от него зависят утечки — Разбор вопроса с собеседования — какие объекты GC считает корнями, как он обходит граф ссылок и почему знание корней объясняет утечки Activity и…
- Activity и Fragment: ключевые различия для Android-разработчика — Разбираем, чем Activity отличается от Fragment: жизненные циклы, ответственность, производительность и типичные ошибки на собеседовании.…
- Application Context в Android: что это и зачем нужен — Разбираем, что такое Application Context, чем он отличается от Activity Context и когда его использовать, чтобы избежать утечек памяти. Подготовка…
- Зачем используется MVVM в Android: разбор паттерна — Разбираем, зачем нужен MVVM в Android-разработке: разделение ответственности, тестируемость, жизненные циклы и типичные ошибки на собеседованиях.
- Резюме vs «робот»: как пройти фильтры hh.ru — Разбор алгоритмов hh.ru: как резюме проходит автоматические фильтры, основные ошибки кандидатов и практичные рекомендации для Android-разработчиков.
Как читать каталог
Один разбор — один экран знаний
Каждая статья отвечает на конкретный вопрос, который реально звучит на собеседовании или в коде. Не нужно читать всё подряд: берите раздел под текущую задачу и возвращайтесь, когда упёрлись в следующий пробел.
- Отметьте статьи, где вы не могли объяснить тему своими словами — это и есть список пробелов.
- Начните с одного раздела, а не с десяти: один закрытый пробел даёт больше, чем десять открытых.
- Через неделю вернитесь к статье, которую не поняли: второй проход всегда дешевле первого.
Нужна помощь в переходе на middle?
Бесплатная диагностика: разберу ваши пробелы по Kotlin, Coroutines и архитектуре и составлю план роста на 4–8 недель. Без обязательств — если менторство не подойдёт, честно скажу.
Итоги
Каталог растёт вместе с сайтом: новые разборы появляются регулярно, и все они попадают сюда. Если не знаете, какой разбор вам нужен, — напишите в Telegram, разберём вашу ситуацию и скажу, что читать в первую очередь.