Skip to content
Preptima

Top 8 Android Interview Questions

Browse 8 real-world technical and behavioral interview questions about Android. Review scenarios, edge cases, and architectural best practices.

A deep link opens the right screen when the app is in the background and the wrong one when the app was killed. How do you test for that?

Treat each launch state as its own test case, because each delivers the link through a different code path. Cold start runs splash, auth and initialisation that can drop the link, and on iOS delivers it in the scene's connection options, not the continue callback. Test cold, warm, restored and logged-out.

mediumscenario

How do you choose which devices to test on, and what will an emulator never tell you?

Pick devices from your own analytics rather than from a market-share article, spread the choice across OS version, screen size, memory class and manufacturer skin, and keep real hardware for anything involving the camera, sensors, radios, battery or vendor-modified behaviour.

mediumconcept

A Compose screen with a long list is janky while scrolling - walk through how you'd find and fix the recomposition problem causing it.

Jank in a Compose list is usually excessive or unstable recomposition, caused by unstable parameter types, reading state too high in the tree, or lambdas that break skipping, found with the Layout Inspector's recomposition counts and fixed by narrowing what each composable reads.

mediumconcept

How do you architect and implement Dynamic Feature Modules in an Android application to reduce initial download size and deliver features on demand?

Evaluate the candidate's ability to reduce Android app size and optimise delivery using Dynamic Feature Modules, the Play Core Library, and reversed dependency injection structures. Use this MOBILE answer to show the decision, trade-off, and evidence rather than a memorised definition.

hardscenario

How do you leverage WorkManager to guarantee execution, handle conflict resolution, and optimise battery usage in an offline-first Android application requiring bidirectional synchronisation?

Evaluate the candidate's understanding of offline-first principles, background processing using Android's WorkManager, conflict resolution strategies, and battery optimization techniques. Use this MOBILE answer to show the decision, trade-off, and evidence rather than a memorised definition.

hardscenario

What does structured concurrency actually give you in Kotlin coroutines, and how does a coroutine scope leak happen despite it?

Structured concurrency ties a coroutine's lifetime to a CoroutineScope so cancellation propagates automatically, but a leak still happens when a coroutine is launched in a scope that outlives the component that should own it, such as GlobalScope or a manually retained scope nobody cancels. Use this KOTLIN answer to show the decision, trade-off, and evidence rather than a memorised definition.

mediumconcept

How does a ViewModel survive a configuration change, and what does it not survive that SavedStateHandle is for?

A ViewModel outlives a configuration change like rotation because the Activity is recreated while the ViewModelStore is retained, but it does not survive process death from memory pressure, which is what SavedStateHandle exists to restore state across.

mediumconcept

You need to run background work on Android - how do you choose between WorkManager, a foreground service, and AlarmManager?

WorkManager is the default for deferrable work that must eventually run, a foreground service is for work the user is actively aware of right now, and AlarmManager is only for work that must fire at a specific wall-clock time regardless of system state.

mediumconcept