Offmute
Interview questions · Mobile Developer

Mobile Developer interview questions

50 questions asked in Mobile Developer interviews, on iOS, Android, React Native and Flutter. They are built from thousands of real job ads. Under each one: what the interviewer is listening for, and the follow-up they may ask. For the recruiter call, see the HR screen questions.

Behavioral questions

Questions about how you work in this role. More in behavioral questions for any tech role.

  1. 1

    Tell me about a time an app release was rejected or held up by the app store. What did you do?

    All levels

    Listening for Calm handling of a blocker outside their control and clear updates to the team.

    Follow-up Ask what they changed so it would not happen again.

  2. 2

    Tell me about a time a design was hard to build well on mobile. How did you work it out with the designer?

    Junior, Mid

    Listening for Raising the problem early with options instead of just saying no.

    Follow-up Ask what the final version looked like and who agreed to it.

  3. 3

    Tell me about a time a backend change broke your app. How did you sort it out with that team?

    All levels

    Listening for Fixing the user impact first, then agreeing a better way to change APIs.

    Follow-up Ask what process changed afterwards.

  4. 4

    Tell me about a time user reviews or complaints changed what you worked on.

    All levels

    Listening for Taking user pain seriously and turning it into concrete work.

    Follow-up Ask how they checked the change actually helped.

  5. 5

    Tell me about a time you had to ship a hotfix for a crash that many users were hitting.

    Mid, Senior

    Listening for Speed with care: finding the cause, testing the fix, talking to support.

    Follow-up Ask how they decided the fix was safe enough to ship.

  6. 6

    Tell me about a time the iOS and Android versions of a feature ended up behaving differently. What did you do about it?

    Mid, Senior

    Listening for Noticing the gap, getting both sides to agree on one behaviour.

    Follow-up Ask how they kept the two apps in step after that.

  7. 7

    Tell me about a time you argued for or against dropping support for older phones or OS versions.

    Mid, Senior

    Listening for Using data on users and cost of support, not only personal preference.

    Follow-up Ask what numbers they used and who made the final call.

Technical discussion questions

Talking through your experience and decisions, not a coding test. Grouped by topic.

Mobile architecture

  1. 1

    How would you design the mobile side of a chat feature, where messages keep arriving while the app is in the background?

    Senior

    Listening for Connection handling, push, local storage and ordering, battery cost.

    Follow-up Ask how they would handle a message sent while offline.

  2. 2

    Our app is one huge module and builds take ten minutes. How would you split it up?

    Senior

    Listening for Splits by feature with clear dependencies, does it step by step.

    Follow-up Ask how they would keep teams from creating new tangles.

  3. 3

    Tell me about an architecture choice in a mobile app that you'd make differently today.

    Senior

    Listening for Honest reflection with the context of the time and what they learned.

    Follow-up Ask what it cost the team to live with that choice.

  4. 4

    Three mobile teams each build features in their own way. How would you raise code quality across all of them?

    Senior

    Listening for Shared guidelines and components built with the teams, not forced on them.

    Follow-up Ask how they would know it was working.

Testing

  1. 5

    What parts of a mobile app do you write tests for, and what do you usually skip?

    Junior

    Listening for A reasoned choice, such as logic in ViewModels over pixel details.

    Follow-up Ask about a bug a test caught for them.

  2. 6

    We ship every two weeks and releases keep breaking things. How would you set up testing for the app?

    Mid, Senior

    Listening for A sensible mix of unit, UI and manual checks, run in CI.

    Follow-up Ask which tests they would not write and why.

  3. 7

    Which UI tests are worth the time in a mobile app, and how do you keep them from being flaky?

    Mid

    Listening for Few tests on key flows, stable test data, no fixed waits.

    Follow-up Ask what they do when a UI test fails only on CI.

Android

  1. 8

    In your own words, what happens to a screen when the user rotates the phone or switches to another app?

    Junior

    Listening for Understands the lifecycle and that state can be lost.

    Follow-up Ask how they keep what the user typed when that happens.

Mobile performance

  1. 9

    A long list in our app stutters when you scroll fast. What would you check first?

    All levels

    Listening for Measures before fixing: profiler, heavy work on the main thread, images, layout.

    Follow-up Ask how they would prove the fix worked.

  2. 10

    Our app takes five seconds to open on older Android phones. How would you find out where the time goes?

    Mid, Senior

    Listening for Measures startup with real tools and real devices, then defers or removes work.

    Follow-up Ask how they would stop it getting slow again.

  3. 11

    How would you track down a memory leak in a mobile app?

    Mid

    Listening for Uses memory tools, knows common causes like retained screens or listeners.

    Follow-up Ask about a leak they actually fixed.

  4. 12

    Users say our app drains their battery. How would you investigate, and what would you change?

    Senior

    Listening for Looks at background work, location, network polling and measures on devices.

    Follow-up Ask how they would show the fix in numbers.

Networking

  1. 13

    Walk me through a screen you built recently, from the API call to what the user sees.

    Junior

    Listening for Clear layers: request, parsing, state, UI, plus loading and error states.

    Follow-up Ask what the user sees when the request fails.

  2. 14

    The user's login token expires while they're using the app. How should the app handle that?

    Mid

    Listening for Refresh flow, retrying the failed request, not logging the user out by surprise.

    Follow-up Ask what happens when several requests fail at the same time.

CI/CD

  1. 15

    What happens in your team's CI when you open a pull request?

    Junior

    Listening for Knows the checks (build, lint, tests) and why they exist.

    Follow-up Ask about a time CI caught a mistake of theirs.

  2. 16

    Walk me through how a change goes from a merged PR to users' phones on your current team.

    Mid, Senior

    Listening for Knows the whole path: builds, signing, testing tracks, staged rollout.

    Follow-up Ask which step they would automate next.

  3. 17

    A bad version is already in the app store and you can't roll back like on a server. How do you plan for that?

    Senior

    Listening for Staged rollouts, kill switches, forced update, fast hotfix path.

    Follow-up Ask which of these they would set up first on a new app.

Rest apis

  1. 18

    How would you load a list of thousands of items from an API without making the app slow?

    Junior, Mid

    Listening for Pagination, lazy lists and caching.

    Follow-up Ask how they handle the user scrolling faster than pages load.

  2. 19

    The backend wants to change an API our app uses, but old app versions are still out there. How do you handle it?

    Mid, Senior

    Listening for Understands users do not update, so APIs must stay compatible or versioned.

    Follow-up Ask how they would force an update if they really had to.

Mvvm

  1. 20

    Your project uses MVVM. What goes in the ViewModel, and what stays in the view?

    Junior, Mid

    Listening for Clear split between UI and logic and why it helps testing.

    Follow-up Ask where they would put a rule like 'disable the button until the form is valid'.

Jetpack compose

  1. 21

    Have you built screens with Jetpack Compose? How is it different from the old XML layouts in practice?

    Junior, Mid

    Listening for Understands state-driven UI and recomposition, not only syntax.

    Follow-up Ask about a bug caused by state being in the wrong place.

  2. 22

    We want to move a large app to Jetpack Compose or SwiftUI. How would you plan the migration?

    Senior

    Listening for Gradual, screen by screen, with interop and a reason beyond fashion.

    Follow-up Ask how they would decide which screens go first.

Offline storage

  1. 23

    Last time you needed data to stay on the phone after the app restarts, what did you use, and why?

    Junior, Mid

    Listening for Knows the options (key-value, database, files) and when each fits.

    Follow-up Ask what they would never store there without encryption.

  2. 24

    Our users often lose signal on the subway. How would you let them keep using the app offline?

    All levels

    Listening for Local cache, queued actions, clear UI about offline state.

    Follow-up Ask what happens when two queued actions conflict with the server.

  3. 25

    A note is edited offline on a phone and at the same time on the web. How would you handle the conflict when the phone reconnects?

    Senior

    Listening for Names a clear rule (last write, merge, ask the user) and its cost.

    Follow-up Ask what the user would see in each case.

Accessibility

  1. 26

    A user with a very large font size says buttons on our screen are cut off. How would you fix it?

    Junior, Mid

    Listening for Knows dynamic type or font scaling and layouts that grow.

    Follow-up Ask how they would check other screens for the same problem.

  2. 27

    How would you check that a screen works for someone using a screen reader?

    All levels

    Listening for Actually tries VoiceOver or TalkBack, labels, focus order.

    Follow-up Ask about something they found that looked fine but was not usable.

  3. 28

    A big client needs our app to meet accessibility rules before they sign. How would you plan that work?

    Mid, Senior

    Listening for Audit first, fix shared components, add checks so it stays fixed.

    Follow-up Ask how they would split the work with design and QA.

Swiftui

  1. 29

    When would you still pick UIKit over SwiftUI for a new screen?

    All levels

    Listening for Honest trade-offs from experience, not fashion.

    Follow-up Ask how they mix the two in one app.

Coroutines

  1. 30

    How do you make sure a slow network call doesn't freeze the screen? Talk me through how your project does it.

    Junior

    Listening for Knows main thread versus background work in their stack.

    Follow-up Ask what happens if the user leaves the screen before the call returns.

  2. 31

    The user leaves a screen while a request is still running. How do you avoid leaks or crashes?

    All levels

    Listening for Cancelling work tied to the screen's lifecycle (scopes, cancellation).

    Follow-up Ask about a leak or crash they actually saw.

  3. 32

    Tell me about a threading or async bug you've fixed in a mobile app.

    Mid, Senior

    Listening for Real experience with coroutines or Swift concurrency and a concrete bug.

    Follow-up Ask how they found it and how they would test for it.

React Native

  1. 33

    From your experience, what's tricky about React Native compared with fully native apps?

    All levels

    Listening for Real pain points like native modules, upgrades or performance.

    Follow-up Ask how they decided React Native was still the right choice.

  2. 34

    In a React Native app, when would you write a native module instead of staying in JavaScript?

    Mid, Senior

    Listening for Clear reasons like performance or a missing platform API, weighed against upkeep on two platforms.

    Follow-up Ask about one they wrote or used.

Experimentation

  1. 35

    Have you worked with feature flags or remote config? How did they change the way you released?

    Junior, Mid

    Listening for Sees flags as a way to separate deploy from release.

    Follow-up Ask what happens to old flags after the feature is fully out.

  2. 36

    Product wants to A/B test a new checkout screen. How would you build it so you can switch it off quickly?

    All levels

    Listening for Flags or remote config, keeping both versions clean, tracking events.

    Follow-up Ask how they remove the losing version afterwards.

  3. 37

    An A/B test says the new onboarding helps on iOS but hurts on Android. How would you dig into that?

    Senior

    Listening for Checks the data and the build before trusting the result, looks for real platform differences.

    Follow-up Ask what they would recommend shipping meanwhile.

GraphQL

  1. 38

    Have you used GraphQL in a mobile app? What did it make easier or harder compared with REST?

    All levels

    Listening for Concrete pros and cons such as fewer requests versus caching and errors; if they have not used it, ask what they find hard about their REST APIs.

TypeScript

  1. 39

    In a React Native or TypeScript project, how do you make sure your types match what the API really returns?

    Junior

    Listening for Sees that types alone do not check runtime data.

    Follow-up Ask what happens in the app when the API sends a field they did not expect.

Observability

  1. 40

    A bug happens on a user's phone but you can't reproduce it on yours. How do you get the information you need?

    Junior

    Listening for Uses logs, crash reports, device and OS details, and asks good questions.

    Follow-up Ask which tool they use to see what happened on that phone.

  2. 41

    A user reports the app crashes when they open their profile. How would you find the cause?

    Junior, Mid

    Listening for Starts from crash reports and stack traces, narrows down by device and version.

    Follow-up Ask what they would do if there is no crash report at all.

  3. 42

    After a release, how do you know the app is healthy? What do you watch in the first few days?

    Mid, Senior

    Listening for Crash-free rate, key flows, store reviews, staged rollout to stop early.

    Follow-up Ask what number would make them halt the rollout.

General

  1. 43

    Which part of mobile development was hardest for you to learn, and how did it finally click?

    Junior

    Listening for Honest about a real gap and a concrete way they learned.

    Follow-up Ask how they would explain that part to a new teammate.