Skip to content
tezvyn:

Android & Kotlin

Jetpack Compose, Android Studio, Kotlin, Material You

111 bites

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

Intermediate interview questions in Android & Kotlin, page 6

intermediate2 min read

Difference between @Path and @Query in Retrofit with example URLs

Tests Retrofit URL construction. @Path fills a path template like /users/{user}/repos with "octocat" to make /users/octocat/repos. @Query appends ?q=retrofit to /search/repos. Red flag: claiming @Query changes the path.

OneTimeWorkRequest vs PeriodicWorkRequest and minimum repeat interval
intermediate2 min read

OneTimeWorkRequest vs PeriodicWorkRequest and minimum repeat interval

Tests WorkManager scheduling constraints and battery tradeoffs. Contrast one-shot chaining with non-chained periodic work, cite the 15-minute minimum, and tie it to system batching under Doze and App Standby. Red flag: claiming exact intervals or no minimum.

Chain WorkManager tasks and pass a file URI between workers.
intermediate2 min read

Chain WorkManager tasks and pass a file URI between workers.

This tests WorkManager chaining and data passing. A strong answer chains Download, Unzip, and Process with WorkContinuation, passes URI via outputData, and reads it with inputData. A red flag is suggesting global state, SharedPreferences, or thread blocking.

Roles of minifyEnabled and shrinkResources and common pitfalls
intermediate2 min read

Roles of minifyEnabled and shrinkResources and common pitfalls

Tests R8 code shrinking vs resource stripping and runtime risks. Outline: minifyEnabled shrinks code; shrinkResources removes unused assets and requires minifyEnabled; dynamic access like getIdentifier() crashes; keep resources with tools:keep or keep.xml.

Create a custom View from scratch that draws a shape
intermediate2 min read

Create a custom View from scratch that draws a shape

This tests Android View measurement and drawing contracts. A strong answer covers: onMeasure resolves dimensions against parent MeasureSpec; onDraw renders with Canvas and Paint; constructors parse attributes.

intermediate2 min read

How do you implement OAuth2 token refresh with Retrofit Authenticator?

Implement authenticate() with a blocking refresh, new Request with new token, Mutex for parallel 401s.

How would you implement a constrained photo upload with WorkManager?
intermediate2 min read

How would you implement a constrained photo upload with WorkManager?

Tests knowledge of WorkManager constraints and retry policies for deferrable background uploads. A strong answer names OneTimeWorkRequest with Constraints for charging and unmetered network, plus BackoffPolicy for retry.

Architect periodic and on-demand sync with WorkManager
intermediate2 min read

Architect periodic and on-demand sync with WorkManager

Tests combining periodic and push WorkManager requests safely. Outline: one Worker class, PeriodicWorkRequest hourly and OneTimeWorkRequest on push, with ExistingWorkPolicy.KEEP plus constraints. Red flag: two Workers, no deduplication, or ForegroundService.

How does WorkManager guarantee task execution across reboots and process death?
intermediate2 min read

How does WorkManager guarantee task execution across reboots and process death?

Tests your understanding of WorkManager's durability under process death. Strong answer: Room database persists requests; JobScheduler or AlarmManager executes them; BroadcastReceiver reschedules on reboot.

intermediate1 min read

Build a custom layout in Jetpack Compose

Use the Layout composable with a MeasurePolicy, measure each child once with constraints, then place children and report your size.

intermediate2 min read

R8 shrinking, obfuscation, and optimization

Shrinking removes unused code/resources, obfuscation renames symbols to short opaque names, optimization inlines and simplifies; shrinking also strips unreachable code that could be exploited.

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