Skip to content
tezvyn:

📱Mobile Dev

Mobile app development across platforms

652 bites

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

Interview questions in Mobile Dev, page 32

intermediate1 min read

Resolving Conflicting Transitive Versions in SPM

SPM allows only one version per package, so diagnose the graph, then update, pin, or fork to find an overlap.

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.

intermediate2 min read

How do you synchronize app state with GoRouter navigation?

Read auth state in top-level redirect; rebuild GoRouter via refreshListenable on changes; handle deep links in page builders.

intermediate2 min read

Passing params between Stack Navigator screens

Navigate to the route with a params object, read it via route.params on the target, pass an id not a huge object.

intermediate1 min read

Decoupled Cross-Module Navigation in Modular iOS

Depend on a shared abstraction, register concrete routers in a coordinator or registry, resolve at runtime.

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.

intermediate2 min read

Persist a custom Dart object using shared_preferences

Tests JSON serialization bridging custom objects to primitive-only key-value storage. Strong answer: add toJson/fromJson on User, jsonEncode into SharedPreferences as String, jsonDecode on read. Red flag: proposing direct storage or toString hacks.

intermediate2 min read

Android-only native module called safely from JS

Write a ReactContextBaseJavaModule with an exported method, register it in a package, then guard the JS call with Platform.OS or a null check on the module.

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.

intermediate1 min read

XCFrameworks and Binary Distribution Trade-offs

XCFramework bundles slices for multiple platforms/architectures, used to hide source or speed builds.

intermediate2 min read

Explain the difference between tester.pump and tester.pumpAndSettle

This tests your grasp of Flutter frame scheduling. pump draws one frame; pumpAndSettle loops until idle, failing on infinite animations. A red flag is treating pumpAndSettle as universally safe or missing why a loading spinner causes timeouts.

intermediate2 min read

Platform-specific typography in a global theme

Define one theme with Platform.select for fontFamily, expose semantic text styles, and reuse them everywhere rather than per-screen overrides.

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.

intermediate2 min read

Explain map() vs where() on a List and chain them

This tests Dart Iterable laziness and correct chaining. A strong answer states where filters and map transforms, both return Iterables, then chains where before map and converts with toList. A red flag is claiming the original list mutates or omitting toList.

intermediate2 min read

Unifying divergent native video player props

A JS component accepts a unified source prop, then uses Platform.OS to map it into each native view's expected props before rendering.

intermediate2 min read

Design an immutable UserSettings class with copyWith for Flutter state

Tests immutability as Flutter's state foundation. A great answer shows final fields, a const constructor, copyWith with nullable named params and null-aware fallback, and explains how immutability prevents accidental shared mutations during rebuilds.

intermediate2 min read

Offline data storage and sync strategy

Persist locally in SQLite or WatermelonDB, queue mutations with a pending flag, detect reconnection with NetInfo, then replay the queue and resolve conflicts.

intermediate1 min read

Dart reduce versus fold on collections

Reduce combines same-type elements and throws on empty; fold takes an initial value and accumulator of any type, safe on empty.

intermediate2 min read

Creating a native module with a sync method

Extend the RN base class, mark the method exported and synchronous, register in a package or bridging file.

intermediate2 min read

Riverpod providers are objects, not widgets. What are the practical advantages?

Tests architectural decoupling of state and UI in Flutter. Strong answers hit compile-time safety, unit testing without widget trees, and logic that survives outside BuildContext. Red flag: praising syntax sugar without explaining the coupling problem.

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