Back to candidates
Interview PrepFor Candidates

How to Prepare for an Android Developer Interview

Every stage of the Android Developer hiring process, what to study for each, a week-by-week plan, and the questions to expect with model answers.

Cohesyve · Practice for candidates

Preparing for an Android Developer role? Start by finding out where you stand.

Import the actual job you're going for, run a simulation built from it, and get a scored report showing which of these areas you're weakest in — before you spend weeks studying the wrong thing.

3

free assessments

$0

no card required

Full

scored report every run

Every

question type included

3 free assessments · No card required · Pro from $16/mo

Overview

Android hiring processes have narrowed around a fairly consistent set of concerns: lifecycle correctness, concurrency with coroutines, architecture that survives configuration changes, and whether you have shipped to the Play Store and dealt with the aftermath. A typical process runs from CV screen through a recruiter call, a practical or take-home app task, technical interviews, and a final conversation about ownership and release practice. This page covers what each stage tests and how to prepare for it without simply reading framework documentation end to end.

The hiring process, stage by stage

1

Application and CV screen

Reviewers scan for Kotlin, whether you have used Compose or are still primarily on Views, the type of app (consumer, enterprise, offline-heavy) and whether you shipped to production.

How to prepare: Put the language, UI toolkit and app type in the first two lines. Link a Play Store listing if you have one and say what you owned in that app. Be accurate about Compose experience, because it is checked quickly.

2

Recruiter screen

A short call on background, level, notice period and expectations, plus confirmation of your platform experience. Often where the assessment format is explained.

How to prepare: Prepare a plain-language description of an app you shipped and who used it. Ask which UI toolkit the team uses now and whether there is a migration in progress, since that shapes what you should revise. Have your range ready.

3

Take-home app task or timed assessment

Usually a small app or feature: fetch from an API, render a list, handle detail navigation, survive rotation, handle offline and error states. Reviewers weight architecture and state handling above visual polish.

How to prepare: Build the same small app several times against a timer until the skeleton is automatic. Rehearse the states that get skipped: no network, empty response, process death and restoration. Include a README explaining your architecture choice in a few sentences.

4

Technical interview or code review session

A live discussion of your submission plus questions on lifecycle, coroutines, memory, and how you would scale the architecture. Sometimes a debugging exercise on a provided project.

How to prepare: Be ready to justify every architectural boundary in your submission and to say what you would change for a larger app. Rehearse explaining structured concurrency and lifecycle-aware collection out loud, since these are the questions where vagueness shows.

5

Final interview with the mobile lead or manager

Covers release practice, crash triage, working with designers and backend teams, and how you handle a bad release.

How to prepare: Prepare a story about a production crash you diagnosed, one about a release you had to roll back or hotfix, and one about negotiating an API shape with a backend team.

What to study

Lifecycle and state restoration

It is the most common source of Android defects and the fastest way an interviewer can separate real experience from tutorial experience.

Activity and fragment lifecycles, and what actually survives a configuration changeViewModel scope, SavedStateHandle and restoring after process deathLifecycle-aware collection of flows and why collecting naively leaks workHandling permissions and results across recreation

Kotlin coroutines and concurrency

Almost all modern Android asynchronous work runs through coroutines, and misuse causes leaks, dropped work and untestable code.

Structured concurrency, scopes and cancellation propagationDispatchers and which work belongs on which oneFlow, StateFlow and SharedFlow, and where each is appropriateTesting suspending code with a test dispatcher and controlled time

Architecture and modularisation

Interviewers use architecture questions to level candidates, because the right answer depends on app size and team shape.

Unidirectional data flow and modelling screen state as a single objectRepository boundaries and where mapping between layers belongsDependency injection and how it affects testabilityWhen modularisation pays for itself and what it costs in build complexity

Jetpack Compose and UI behaviour

Most teams are on Compose or migrating, and recomposition mistakes are a common source of jank.

Recomposition, stability and why a lambda or list causes extra workState hoisting and remember versus rememberSaveableLists, keys and avoiding expensive work inside compositionInteroperating with existing View code during a migration

Performance, offline and release quality

Mobile failures are visible, hard to hotfix and tracked publicly, so teams care about how you keep quality after shipping.

Diagnosing jank and dropped frames with profiling toolsOffline caching, conflict handling and sync strategiesReading crash reports and reproducing from a stack traceStaged rollouts, remote configuration and rolling back a bad release

Cohesyve for candidates

Practise an Android Developer assessment before the real one

Run the same AI job simulations companies use to evaluate applicants. You get a scored report showing where you're strong and where you're not, plus what to work on.

Your preparation plan

Four weeks out

Rebuild fluency in the areas Android interviews consistently probe.

  • •Build a small app from scratch with networking, a list, detail navigation and offline caching
  • •Revise lifecycle and process death by deliberately testing restoration on a device
  • •Work through coroutines and Flow until scoping and cancellation are automatic
  • •Update your CV and Play Store links so applications are not delayed later

Two weeks out

Practise defending architecture decisions aloud.

  • •Rebuild the same app under a strict timer and note where the time goes
  • •Record yourself explaining your architecture and listen for hand-waving
  • •Prepare stories about a crash, a rollback and a disagreement over an API shape
  • •Practise reading an unfamiliar Android project and summarising its structure quickly

The final week

Simulate the assessment rather than adding new material.

  • •Complete one full timed task from a cold start including tests and a README
  • •Prepare a project template with your usual dependencies wired up
  • •Test on a low-end device or emulator profile, not just your development phone
  • •Draft your questions about release process, crash rate and testing practice

The day before and the day of

Remove tooling friction and set your opening plan.

  • •Check that the IDE, emulator and screen share all work together
  • •Re-read your submission and note the three weakest points a reviewer will find
  • •Plan the first five minutes: clarify requirements, agree scope, then build the data flow
  • •Have a device ready in case you are asked to demonstrate something live

Questions to expect

“What happens to your screen state when the process is killed in the background?”

What they're really asking: Have you actually shipped an app and dealt with restoration, or only tested by rotating the device?

How to answer: Distinguish configuration change from process death clearly. Explain what a ViewModel survives and what it does not, then describe how you persist the minimum state needed to restore. Mention that you test it deliberately rather than assuming it works.

“How do you scope a coroutine that outlives a screen?”

What they're really asking: Do you understand structured concurrency, or do you launch work and hope it finishes?

How to answer: Start with the default position that work should be cancelled with the screen. Then name the specific cases where it should not, and describe the scope you would use instead, along with how the result gets back to the user. Note the leak you are avoiding.

“Your list scrolls with visible jank. How do you diagnose it?”

What they're really asking: Do you profile or do you guess, and do you understand what happens during composition and layout?

How to answer: Say you would measure first with a profiler on a representative device, then separate causes: expensive work during composition, unstable parameters forcing recomposition, image decoding on the main thread, or oversized layouts. Give the fix for the one you found most often and how you confirmed it.

“How would you structure a feature so it can be tested?”

What they're really asking: Is testability a design consideration for you or something you retrofit under duress?

How to answer: Describe pushing logic out of the UI layer into something with no framework dependency, injecting dispatchers and clocks, and modelling screen state as data you can assert on. Give an example of a bug your tests actually caught.

“Tell me about a crash you found in production.”

What they're really asking: Can you work backwards from a stack trace, and do you follow through beyond the immediate fix?

How to answer: Describe how you noticed it, how you narrowed from the crash report to a reproduction, what the root cause was, and how you prevented the class of problem rather than the single instance. Include how the fix reached users and how quickly.

“When would you modularise an app?”

What they're really asking: Do you apply architectural patterns because they are fashionable or because of a real constraint?

How to answer: Name the triggers you would act on: build times, team boundaries, or the need for feature delivery independence. Then name the costs: dependency wiring, build configuration and navigation complexity. Conclude with what you would do in a small team, which is usually less.

What to bring as evidence

  • A Play Store listing or internal app with a clear statement of what you owned

  • A repository showing a small app with a clean architecture and tests

  • A crash-rate or startup-time improvement with the change that produced it

  • A short note on an architecture decision and what you would change now

  • Two references who can speak to your release discipline

  • A tidy take-home submission with a README covering scope and trade-offs

Common mistakes

  • Testing state restoration only by rotating the device and never simulating process death

  • Launching coroutines from the UI layer with no consideration of cancellation

  • Submitting an app that works on a fast device but stutters on anything older

  • Ignoring the offline and error states in a take-home that clearly involves a network

  • Adopting a heavyweight architecture for a small task and running out of time

  • Describing Compose experience loosely when the interview will probe recomposition specifics

Questions to ask them

  • ?

    What is the current crash-free rate, and what caused the last significant regression?

  • ?

    How far through a Compose migration is the codebase, and who is driving it?

  • ?

    What does the release cadence look like, and how are staged rollouts handled?

  • ?

    How much of the app has automated tests, and are they trusted?

  • ?

    How do mobile and backend agree on API changes before they land?

  • ?

    What is the oldest part of the app, and what makes it hard to change?

Frequently Asked Questions

How much does Compose versus Views experience matter?

It matters for the first screen and less afterwards. Teams on Compose want to see that you understand recomposition and state hoisting, not that you have years of it. If your experience is mainly Views, say so and demonstrate a small Compose build, because the underlying architecture skills transfer.

Do I need to know Java as well as Kotlin?

New work is overwhelmingly Kotlin, but many production apps still contain Java, so being able to read it and work in a mixed codebase is useful. It is rarely a screening criterion. Focus your preparation on Kotlin, coroutines and Flow.

What if I have only worked on enterprise apps, not consumer ones?

That is a real difference in constraints — release cadence, device diversity, offline requirements — so address it directly rather than hoping it is unnoticed. Show that you understand what changes at consumer scale: staged rollouts, crash monitoring, performance on low-end devices and the inability to hotfix quickly.

How long should an Android take-home take?

Most set a limit of a few hours and mean it. Build the vertical slice first — data, state, one screen that works — then add polish only if time remains. A small, correct app with sensible architecture reviews better than an ambitious one with broken restoration.

Is it worth practising the assessment stage first?

For Android it usually is, because the marks are lost to time management and skipped states rather than to unfamiliar APIs. Cohesyve lets you import the job, run a simulation shaped around the role, and receive a scored report with a learning pathway. Your first three scored assessments come with the free tier and require no card.

Prepare for another role

Cohesyve · Practice for candidates

Don't walk in guessing. Find out where you stand first.

Three free scored practice runs, a full report on every one, and a learning pathway built from what you actually got wrong. No card required.

3

free assessments

$0

no card required

Full

scored report every run

Every

question type included

3 free assessments · No card required · Pro from $16/mo

For hiring teams

Hiring for an Android Developer role? See how your applicants perform before you spend interview time.

Practise before it counts

3 free assessments

Start practising free