Skip to content
tezvyn:

Mobile

90 bites tagged Mobile — interview questions with model answers, and 60-second explainers.

UX Research2 min read

Translating a Job Story into mobile features

Decompose situation, motivation, expected outcome; map commute constraints to offline, audio, quick-scan features. Reading context, motivation, outcome from a Job Story.

React Native2 min read

React Native Android Release Builds

A release build is the shipping crate: optimized JS, shrunk native code, and a cryptographic signature the Play Store trusts. Generate it before any Play Store upload. Lose your signing keystore and you can never update the app again; back it up immediately.

React Native2 min read

Mapping JavaScript Props to Native Views

React Native bridges JS props to native views via annotated setters. Use it when wrapping platform views like maps or video players. The footgun is a missing annotation: the prop crosses the bridge but native never receives it, causing silent failures and…

React Native2 min read

Bridging Data Types in React Native

The React Native bridge only moves serializable data, so values crossing between JS and native must be primitives, arrays, or plain objects. You face this building native modules. The footgun is passing functions or class instances; the bridge strips them.

React Native2 min read

Building Android Native Modules in React Native

Native modules let JavaScript invoke Android APIs in Kotlin or Java. You build them when no library covers a device capability or you must reuse native code. The classic mistake is blocking the UI thread inside a @ReactMethod or mismatching getName() in JS.

React Native2 min read

AsyncStorage: React Native's Async Key-Value Store

AsyncStorage is React Native's bare-bones key-value closet: strings on disk, retrieved asynchronously. Use it for auth tokens, onboarding flags, or cached JSON that survives app restarts. It is plain text and unencrypted; never store passwords or PII here.

React Native2 min read

React Native Offline Sync Strategies

React Native offline sync writes to local storage first, then reconciles with the server later. It keeps forms and messages working offline. The footgun is non-idempotent mutations replayed, creating duplicates or overwriting fresh data.

React Native2 min read

Handling Network Errors in React Native

Network errors are normal state, not bugs to silence. In React Native, every fetch should expect flakiness and surface a retry path. The footgun is treating a timeout as permanent failure and wiping optimistic local state.

React Native2 min read

React Native State Persistence

React Native state dies when the OS kills your app. Persistence writes critical data to disk so users resume where they left off. The footgun is testing with a swipe-close instead of a real process kill, or restoring stale data without schema checks.

React Native2 min read

Composing Gestures: Race, Simultaneous, Exclusive

Gesture composition lets multiple detectors negotiate one touch stream. Use it when a view must scroll and pinch together. The footgun is assuming gestures cooperate by default; without explicit composition, one steals the stream and breaks the rest.

React Native2 min read

React Native Gesture Handler: Native-Driven Touch

React Native Gesture Handler moves touch recognition to the native thread so gestures stay smooth when JavaScript is busy. Use it for swipeable cards and bottom sheets. The footgun is using it without Reanimated, gaining complexity without the frame-rate win.

Flutter & Dart2 min read

Set up an integration test for a multi-screen login flow

This tests your grasp of integration_test's device runtime versus headless widget tests. A strong answer covers the integration_test directory, ensureInitialized, driving a login flow end-to-end on device.

Flutter & Dart2 min read

When to use shared_preferences and its primary limitations?

This tests whether you know appropriate local persistence tiers. A strong answer names simple primitives like flags or tokens, notes async disk writes, and warns against large blobs, relational data, or secrets.

Flutter & Dart3 min read

Walk me through a Flutter CI/CD pipeline for Play Store and TestFlight

Tests your ability to orchestrate multi-platform Flutter builds, manage signing secrets, and automate deployments to Google Play Internal Testing and Apple TestFlight.

Flutter & Dart2 min read

Navigator.push vs Navigator.pushNamed in Flutter

Tests Flutter navigation patterns and scalability. A strong answer contrasts inline widget construction with centralized route tables, noting pushNamed centralizes routes but complicates type-safe data. Red flag: named routes are always better for large apps.

Flutter & Dart2 min read

Explain Flutter's GestureArena and overlapping detector scenario

The arena opens on pointer down; recognizers accept or reject; the last accepted member wins. Your grasp of Flutter gesture disambiguation beyond widgets. Claiming depth or z-order alone decides the winner.

CSS & Design Systems2 min read

What is the viewport meta tag and what does width=device-width, initial-scale=1.0 do?

This tests mobile viewport behavior and CSS pixels. The tag instructs browsers how to size the viewport; width=device-width sets width to screen CSS pixels; initial-scale=1.0 sets a 1:1 zoom ratio. A red flag is confusing viewport width with physical pixels.

Content & Copywriting2 min read

How does A/B testing native mobile apps differ from web?

Native mobile constraints versus web deployment. A strong answer covers: app store cycles forcing remote flags; device fragmentation skewing segments; and offline usage delaying events. Assuming mobile mirrors web with instant updates.

Content & Copywriting2 min read

A/B test copy in a native app without app store releases

Tests native release friction versus web. Strong answers cite app store review, binary caching, and stale config; then remote fetch, local defaults, and user targeting. A red flag is assuming updates are instant like the web.

Android & Kotlin2 min read

What is an Android App Bundle and its advantages over APK?

Tests knowledge of modern Play distribution. AAB is the publishing format with all code and resources; Play generates device-specific APKs for smaller downloads and supports dynamic features. Red flag: calling it a compressed APK or ignoring dynamic delivery.

Android & Kotlin2 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. Activity callback order during user navigation. Claiming onDestroy or onCreate run on every away-and-back.

Android & Kotlin2 min read

What is ADB? Describe two common commands and what they accomplish.

This tests command-line debugging fluency. Define ADB as a client-server bridge, then give two commands such as adb install for APK deployment and adb logcat for streaming device logs. Red flag: calling it the Android Studio debugger or omitting the daemon.

Analytics & Metrics2 min read

Instrument a mobile event and surface it in analytics

This tests full-stack analytics plumbing. A good answer hits: structured client logging, batched transmission, backend validation, warehouse aggregation, and dashboard verification. A red flag is fire-and-forget logging with no schema checks or reconciliation.

Android & Kotlin2 min read

What is a Gradle product flavor?

This tests your understanding of build variants beyond debug/release. Define flavors for user-facing versions (free/pro), contrast with build types, and configure with `applicationIdSuffix` and `buildConfigField`.

Get Mobile bites daily.

Five a day, five minutes, offline. With quizzes so it sticks.

Open testing — you’ll join as an early tester.