Master Android from first principles to senior system design.
This is a complete interview curriculum, not a list of definitions. Follow the paths in order to learn the runtime, UI, data, architecture, performance, security, and design decisions behind production Android apps. Every lesson includes exact APIs, code, failure modes, interview probes, and exercises.
Junior path
Build Android fundamentals in the order they connect in a real app: language, components, lifecycle, UI, storage, and network boundaries.
New to Android or preparing for your first mobile role
Outcome: Explain the platform and ship a complete, lifecycle-safe feature
- Kotlin foundations for Android Learn the Kotlin language features you will use before Android framework code can make sense. 50 min
- Activities: an Android screen's entry point Understand what an Activity owns, how Android creates it, and why it should stay thin. 45 min
- Fragments and view lifecycle Learn why a Fragment can outlive its view and how that changes safe UI code. 45 min
- Lifecycle, configuration change, and process death Know what Android preserves, what it recreates, and where important state belongs. 50 min
- UI state and UI models Model what a screen can show before wiring network calls or rendering components. 50 min
- Context, resources, and the Android process Understand what Context gives you, how Android selects resources, and which objects must never be kept alive accidentally. 55 min
- UI rendering, lists, input, and accessibility Learn how Views and Compose measure and draw UI, how lists preserve identity, and how to build controls every user can operate. 65 min
- Storage, networking, and runtime permissions Build a reliable data path with Room, DataStore, HTTP clients, scoped storage, and permission flows that handle denial correctly. 70 min
Mid-level path
Turn fundamentals into production systems: async state, Compose, architecture, tests, data flows, background work, navigation, DI, and release builds.
1–4 years of Android experience
Outcome: Own a production feature from UI state through release behavior
- Coroutines and Flow for screen data Run async work with structured concurrency and expose changing values as Flow without leaking jobs. 55 min
- Compose state, recomposition, and side effects Write Compose UI that reacts predictably when values change, items move, or effects restart. 55 min
- Architecture and the data layer Give UI, business decisions, local storage, and remote data clear responsibilities. 55 min
- Test behavior and diagnose performance Use tests and traces to protect user behavior rather than implementation details or coverage numbers. 50 min
- Production data flows, caching, and Paging Turn Room and HTTP calls into an observable source of truth with transactions, freshness rules, pagination, and recoverable failures. 75 min
- Background work, services, and notifications Choose coroutines, WorkManager, foreground services, and alarms by guarantee instead of reaching for whichever API is familiar. 75 min
- Navigation, deep links, and adaptive UI Model destinations and back stacks, validate external entry points, preserve state, and adapt one feature across changing window sizes. 70 min
- Dependency injection, Gradle, and release variants Build replaceable object graphs, control scope, understand Android build variants, and explain what changes between source code and a shipped app bundle. 75 min
Senior path
Own larger systems: boundaries, offline sync, reliability, platform performance, security, system design, and engineering leadership.
Leading features, tech design, or senior+ interviews
Outcome: Defend tradeoffs, failure behavior, rollout, and measurable impact
- Modularization and feature boundaries Use module boundaries to reduce real coupling, protect ownership, and improve change speed. 55 min
- Offline sync and mobile system design Design a mobile feature around unreliable networks, retries, conflicts, and user-visible truth. 60 min
- Reliability, observability, and technical decisions Connect architecture choices to rollout safety, production signals, and an explicit decision record. 55 min
- Platform internals and performance engineering Trace process startup, the main thread, Binder, ART, rendering, memory, and ANRs so performance answers begin with evidence. 85 min
- Security, privacy, and client trust boundaries Threat-model Android entry points, credentials, storage, networking, WebView, logs, and dependencies without pretending the client can keep server secrets. 85 min
- The mobile system design interview Turn an ambiguous feature into requirements, state ownership, APIs, storage, synchronization, failure handling, security, and measurable tradeoffs. 95 min
- Senior interview execution and leadership signals Communicate scope, tradeoffs, incidents, migrations, disagreement, mentoring, and impact with the specificity expected in senior and staff interviews. 80 min