71 Android interview questions with answers
71 Android interview questions with detailed answers, sorted from basic to advanced. Free to practice, with progress saved automatically.
All Android interview questions
What is the difference between `val` and `var` in Kotlin?
Explain Kotlin null safety and the difference between nullable and non-nullable types.
What are extension functions in Kotlin and how do they work?
What is a data class in Kotlin and what does it auto-generate?
Explain sealed classes and their use case in Android.
What are scope functions (let, run, apply, also, with) and when to use each?
What are coroutines and why are they better than callbacks?
Explain the difference between `launch` and `async` in Kotlin coroutines.
What are suspend functions in Kotlin?
How does Kotlin handle exception handling in coroutines?
What is a companion object in Kotlin?
Explain destructuring in Kotlin.
Explain the Android Activity lifecycle and each method's purpose.
What is the difference between `replace()` and `add()` in Fragment transactions?
What are Intents in Android and what are the two types?
What is a Service in Android and when should you use it?
What are BroadcastReceivers and how do they work?
What is ContentProvider and its use case?
What are the different Android permission types and how do you handle runtime permissions?
What is the difference between savedInstanceState and onSaveInstanceState()?
Explain Intent filters and implicit intents.
What are the differences between Process and Thread in Android?
What is Jetpack Compose and why is it replacing XML layouts?
What is a Composable function and what makes something Composable?
Explain state management in Jetpack Compose using `mutableStateOf` and `remember`.
What is the difference between `remember` and `rememberSaveable`?
Explain state hoisting in Jetpack Compose and why it's important.
What is `LaunchedEffect` and when should you use it?
Explain the difference between `LaunchedEffect`, `DisposableEffect`, and `SideEffect`.
What is a Modifier in Jetpack Compose and give examples.
How do you handle navigation in Jetpack Compose?
What is `derivedStateOf` and when should you use it?
How do you implement theming in Jetpack Compose?
What are CompositionLocals and how do they work?
What is MVVM architecture and how is it structured?
What is MVI architecture and how does it differ from MVVM?
What is the Repository pattern and why is it important?
Explain the difference between LiveData and StateFlow.
What is a ViewModel and why should you use it?
What is dependency injection and why is it important in Android?
What is Hilt and how does it simplify dependency injection?
Explain Clean Architecture and its layers.
What is the Use Case pattern and when should you create one?
What are the different Hilt scopes and what do they mean?
What is Room database and why use it instead of SQLite directly?
What is a DAO (Data Access Object) in Room?
What is Retrofit and how does it work?
What are Interceptors in Retrofit/OkHttp and how do you use them?
How do you implement authentication with Retrofit?
What is DataStore and how does it differ from SharedPreferences?
What is WorkManager and when should you use it?
What is the Paging 3 library and why use it?
What is ProGuard and R8, and how do they optimize apps?
What are App Bundles and how do they reduce app size?
What are dynamic feature modules and when should you use them?
How do you optimize app performance and what are the key metrics?
What is testing in Jetpack Compose and how does it differ from Espresso?
What is Kotlin Multiplatform (KMP) and how does it relate to Android?
Explain instrumentation testing and unit testing, and when to use each.
What are the best practices for memory management in Android?
How do you implement CI/CD for Android apps?
What is certificate pinning and how do you implement it?
What is the Observer pattern and how is it used in Android?
How do you handle configuration changes (like screen rotation)?
What is the difference between hot and cold flows?
What is `Context` in Android? Contrast Application context vs Activity context (memory-leak angle).
What is an ANR (Application Not Responding) and how do you prevent it?
What is `RecyclerView` and how does its view-recycling mechanism work?
What is Gradle and what role does it play in building an Android app?
What are inline functions in Kotlin? Explain `inline`, `noinline`, and `reified`.
Distinguish cold / warm / hot start and how to optimize app startup time.