Skip to content
tezvyn:

Android & Kotlin

Jetpack Compose, Android Studio, Kotlin, Material You

245 bites

Test yourself: Top 30 Android & Kotlin interview questionsMultiple choice, with the correct answer and why it is correct on every question. Free, no sign-in.

Interview questions in Android & Kotlin, page 5

What is the Android Debug Bridge (ADB)?
intermediate2 min read

What is the Android Debug Bridge (ADB)?

This tests practical command-line proficiency and understanding of the host-device link. A good answer defines the client-server-daemon architecture and gives two commands like adb install and adb logcat.

Explain the difference between Gradle build types and product flavors.
advanced2 min read

Explain the difference between Gradle build types and product flavors.

If you know build types are how an app is built—debug versus release—while flavors are what is shipped, like free versus paid. Variants are the Cartesian product.

Explain Gradle Build Types vs. Product Flavors
advanced2 min read

Explain Gradle Build Types vs. Product Flavors

Tests your grasp of Gradle's build matrix. A great answer defines build types for lifecycle (debug/release) and product flavors for user-facing versions (free/paid), then explains how they combine into variants.

Gradle Build Types vs. Product Flavors
advanced2 min read

Gradle Build Types vs. Product Flavors

This tests your understanding of Gradle's build matrix for creating different app versions. A great answer defines build types (how it's built) vs. flavors (what is built) and explains that variants are the cross-product. A red flag is confusing their roles.

Which Android Studio Profiler tool diagnoses high memory usage and leaks?
advanced2 min read

Which Android Studio Profiler tool diagnoses high memory usage and leaks?

Heap dump, check retained size for leaked Activities, trace reference chains to root retainer.

How do you diagnose a memory leak using the Android Studio Profiler?
advanced2 min read

How do you diagnose a memory leak using the Android Studio Profiler?

This tests your practical skill with the Android Memory Profiler, not just theory. A great answer involves capturing a heap dump, filtering for unreachable objects, and inspecting the reference tree to find the leak's source.

How do you diagnose a memory leak with Android Studio Profiler?
advanced2 min read

How do you diagnose a memory leak with Android Studio Profiler?

This tests your systematic process for debugging memory issues. A good answer outlines using the Memory Profiler, forcing GC, capturing heap dumps, and analyzing object references. A red flag is just naming the tool without explaining the 'how'.

advanced2 min read

How do you manage API keys across Gradle build variants securely?

Gitignore a properties file, load it in build.gradle, map secrets to BuildConfig or manifest placeholders by flavor, and commit safe defaults.

advanced2 min read

Managing Sensitive Information in Gradle Builds

Tests secure credential handling in Android builds. A good answer uses a git-ignored .properties file, the secrets-gradle-plugin to parse it, and accesses keys via BuildConfig. A red flag is storing keys directly in build.gradle or committing them.

advanced2 min read

How would you manage API keys in Gradle without version control?

Tests secure credential handling in Android builds. A good answer proposes the Secrets Gradle Plugin, which reads from an untracked properties file and exposes keys via BuildConfig, while also noting this doesn't protect against APK decompilation.

Describe the Android Activity lifecycle and callback order
easy2 min read

Describe the Android Activity lifecycle and callback order

Away calls onPause then onStop; back calls onRestart, onStart, onResume; onCreate only runs after destruction.

Trace an Activity's lifecycle when a user navigates away and returns
easy2 min read

Trace an Activity's lifecycle when a user navigates away and returns

This tests your understanding of resource management and state preservation, not just memorization. A great answer traces onPause -> onStop when leaving, and onRestart -> onStart -> onResume when returning, explaining what happens in each.

Describe the Android Activity lifecycle when navigating away and back
easy2 min read

Describe the Android Activity lifecycle when navigating away and back

Tests understanding of resource management via lifecycle callbacks. A good answer traces onPause -> onStop -> onRestart -> onStart -> onResume, explaining what work happens in each.

Activity rotation: what happens to EditText text?
easy2 min read

Activity rotation: what happens to EditText text?

Rotation destroys and recreates the Activity; EditText auto-saves text if it has an ID, else onSaveInstanceState or SavedStateHandle.

What happens to an Activity and its text on screen rotation?
easy3 min read

What happens to an Activity and its text on screen rotation?

Tests understanding of configuration changes and state preservation. A great answer explains the Activity is destroyed and recreated, EditText state is often saved automatically, but the robust solution is using a ViewModel with SavedStateHandle.

How do you save UI state during screen rotation?
easy2 min read

How do you save UI state during screen rotation?

Tests your grasp of the Activity lifecycle and state restoration. A great answer explains the destroy/recreate cycle, notes that EditText handles its own state via its ID, and contrasts the modern ViewModel + SavedStateHandle with the older…

What is the difference between a started service and a bound service?
easy2 min read

What is the difference between a started service and a bound service?

Started services run until stopped via startService with no caller interface; bound services expose an IBinder and destroy when all clients unbind.

Started vs. Bound Services: Differences and Use Cases
easy2 min read

Started vs. Bound Services: Differences and Use Cases

Tests Android component lifecycle and IPC knowledge. A good answer defines lifecycle control (start vs. bind), communication (one-way vs. two-way IBinder), and gives clear use cases. A red flag is assuming services run on a background thread by default.

Started vs. Bound Services: Differences and Use Cases
easy2 min read

Started vs. Bound Services: Differences and Use Cases

Tests your grasp of Android component lifecycles. A strong answer defines each by its lifecycle control (who starts/stops it) and communication pattern (fire-and-forget vs. client-server), then gives distinct use cases.

How does a ViewModel survive configuration changes and what is its scope?
intermediate2 min read

How does a ViewModel survive configuration changes and what is its scope?

The framework retains ViewModels in a store scoped to an Activity or Fragment across config changes, clearing them only when the owner finishes for good.

We are hiring for this. Every open role lists the topics its interview covers, so you can prepare for the real thing rather than guessing.

See open roles