Android Development (Kotlin and Java) Questions
Native Android programming: the Kotlin language and Java interoperability, coroutines and concurrency, Android collections and data structures, and platform fundamentals. Covers writing correct native Android code and reasoning about the Kotlin/JVM runtime on-device. The primary Android-platform mobile surface.
Describe practical steps to detect, analyze and fix memory leaks in an Android application. Include how to use LeakCanary, Android Studio Memory Profiler, heap dumps, and common fixes for leaks caused by static references, long-lived callbacks and RecyclerView adapters.
Design a secure authentication flow for a mobile Android app using OAuth2 with refresh tokens. Explain why Authorization Code Flow with PKCE is recommended for mobile, how to store tokens securely (or avoid storing refresh tokens on device), how to implement token refresh and revocation, and how to handle deep links or custom tabs for the authentication flow.
Explain Kotlin's null-safety features and the typical patterns used in Android: nullable types, safe-call operator (?.), Elvis operator (?:), non-null assertion (!!). Also explain differences between lateinit var and lazy { } delegates and when you'd use each in an Android component.
Explain the differences between started, bound and foreground Services on Android. Then, in Kotlin pseudocode, outline a minimal foreground audio playback Service that starts in foreground with a persistent notification and handles play/pause actions from the notification.
Implement a debounced search in Kotlin for an EditText using kotlinx.coroutines Flow. The implementation should listen to text changes, debounce inputs by 300ms, cancel in-flight network calls when a new query arrives, and deliver results back to the UI safely on the main thread. Provide the code for wiring EditText -> Flow -> network call -> UI update.
Unlock Full Question Bank
Get access to all 35 Android Development (Kotlin and Java) interview questions and detailed answers.
Sign in to ContinueJoin thousands of developers preparing for their dream job.