Android engineer interview questions from a job description

Map an Android engineer job description to the Kotlin, lifecycle, and release questions it usually produces.

Matched in your browser from the requirements in the posting and Luna’s interview-question hub. These are practice prompts, not a claim that this wording will be asked.

Requirements in the posting

Android Engineer
Build the Android app in Kotlin.

You will:
- Ship features with Jetpack and keep state correct across rotation and process death
- Call REST APIs that can be slow, and show an honest loading and error state
- Decide which Android versions and devices you will actually test
- Ship through Play with a rollout plan for a bad release
- Collaborate with backend engineers on the API contract, sometimes next to a JavaScript client

We will ask about a crash that only some devices hit.

Likely questions

Coding

Android

Build the Android app in Kotlin.

Question 1

How do you keep an Android screen correct across rotation, backgrounding, and a slow response?

Approach. Say what state survives and what you refetch, in terms of the flow in the posting.

Question 2

Which device or OS split matters for this app, and which would you stop trying to cover?

Approach. Name the split that hits users and the long tail you would sample instead of boil the ocean.

Google coding questions

Coding

JavaScript

Collaborate with backend engineers on the API contract, sometimes next to a JavaScript client

Question 3

Walk through a JavaScript function you would write for this role and the bug you would check before calling it done.

Approach. Restate the input, give the naive version, then name one edge — empty, duplicate, or async — and how you would prove it.

Question 4

When would you reach for a plain object, a Map, or an array, and what does that choice cost?

Approach. Tie the structure to the access pattern in the posting, and say the time cost of the common operation.

Google coding questions

JavaScript array-method pitfalls

System design

APIs

Call REST APIs that can be slow, and show an honest loading and error state

Question 5

Design the API a client of this product would call first. What is the request, the success, and the error?

Approach. One resource, the idempotency story, and what the user sees on a timeout.

Question 6

How would you change this API without breaking clients that are already shipped?

Approach. Say what you would version or add, and the client you refuse to strand.

Stripe system design questions

API design starter

System design

Backend services

Collaborate with backend engineers on the API contract, sometimes next to a JavaScript client

Question 7

Where would you draw the service boundary for this product, and what would you keep in one process for now?

Approach. Start from the request that must be fast, then name the split you would postpone.

Question 8

A dependency you call is slow or down. What does this product do?

Approach. Say the user-visible fallback and the failure you will not hide.

Amazon system design questions

Behavioral

Collaboration

Collaborate with backend engineers on the API contract, sometimes next to a JavaScript client

Question 9

Tell me about a disagreement with someone who did not report to you. What did you do with their objection?

Approach. Name the objection, what you changed, and what you did not. Do not flatten it into “we aligned.”

Question 10

How do you bring a partner along when this posting’s work depends on their team?

Approach. Say the ask, the artifact you left them, and what you refused to take over.

Google behavioral questions

Keep the action long

What to prepare

  • Be ready to talk about one lifecycle bug and the state you had to keep.
  • Rehearse one array transformation out loud, including the empty case and the cost.
  • Write one endpoint on paper: method, body, error, and what a retry should do.
  • Draw one service boundary and say what you would not split out yet.
  • Have one story where someone disagreed and you kept the working relationship.
  • Mark the three requirements you cannot yet support with a story.
  • Say each answer out loud once, in under two minutes.

Android postings point at lifecycle and device spread. Kotlin and Jetpack mean they will ask what state survives rotation and backgrounding. API bullets mean a slow response while the screen is gone. Play release and device-subset bullets are the “which split do you stop covering?” question.

A posting that also mentions a shared JavaScript layer still expects a native answer for lifecycle. Do not hide in the shared code.

Have one bug that only happened on a subset of devices and how you found that subset. The sample is a Kotlin app role.

Sample job description

The posting below is already in the tool. The questions are the ones its requirements point to. Replace it with a posting you are actually interviewing for.

Related: Google coding questions · Google interview questions · Edge-case checklist