Skip to content
tezvyn:

📱Mobile Dev

Mobile app development across platforms

1324 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.

Everything in Mobile Dev, page 4

intermediate1 min read

What is Hermes and its advantages over JSC?

Hermes is an open-source engine optimized for RN, with faster startup via precompiled bytecode and lower memory use.

intermediate1 min read

useMemo and useCallback for stable references

UseMemo caches a computed value, useCallback caches a function identity across renders; both prevent recompute and unnecessary re-renders of memoized children.

easy2 min read

Cost of console.log and production-safe debugging

Each console.log serializes data and, when devtools are attached, crosses the bridge synchronously, blocking the JS thread; strip logs in release and use Flipper, dev tools, or remote crash and analytics tools.

easy2 min read

FlatList and list virtualization

Use FlatList (or SectionList) which virtualizes, rendering only items near the viewport and recycling as you scroll, unlike ScrollView which mounts everything.

easy2 min read

The JS thread and why it bottlenecks performance

A single thread runs your JS, React reconciliation, and event handling; blocking it delays updates and gestures, and it is separate from the UI thread.

advanced2 min read

Streaming accelerometer data without bridge overload

The bottleneck is flooding the async bridge and re-rendering at sensor rate; fix by throttling, processing in worklets or native, and animating via shared values not setState.

advanced2 min read

Handling push notifications across app states

Foreground onMessage, background and quit setBackgroundMessageHandler and getInitialNotification, plus data-only messages and native background tasks like Background Fetch or Notification Service…

advanced2 min read

Building a custom native module

Write native classes in Kotlin/Java and Swift/Objective-C, expose methods via the module macros, register the module, and import via NativeModules with promises or events.

intermediate2 min read

Managing camera lifecycle in Vision Camera

Bind the isActive prop to screen focus via useIsFocused and to app state, so the camera stops when blurred or backgrounded.

intermediate2 min read

Background GPS tracking challenges and approaches

Request always-allow permission, declare background modes, use a native background task or geofencing API rather than JS timers, manage battery and OS throttling.

intermediate2 min read

Push notification data flow with APNs and FCM

Device registers and gets a token, server sends to FCM, FCM routes to APNs for iOS and directly for Android, the OS delivers to the app.

easy1 min read

Getting a one-time GPS location

Ensure permission, then call a getCurrentPosition wrapped in a promise (or Expo Location.getCurrentPositionAsync) with await inside try/catch, reading coords.latitude and longitude.

easy1 min read

Requesting runtime permissions on iOS and Android

Declare permissions in Info.plist and AndroidManifest, then check status and request at runtime just before use, handling granted, denied, and blocked.

easy1 min read

Persisting key-value preferences across launches

AsyncStorage for simple non-sensitive key-value, MMKV for speed, SecureStore or Keychain for secrets.

advanced1 min read

Shared element transitions with Reanimated

Wrap both views in Animated.View with the same sharedTransitionTag, use a native-stack navigator so Reanimated interpolates between source and target.

advanced2 min read

What is a worklet in Reanimated

A worklet is a JS function marked to run on the UI thread runtime with a captured snapshot of its scope, enabling synchronous per-frame work.

intermediate1 min read

Animated.event for scroll-driven parallax

Animated.event maps an event path to an Animated.Value, wire it to onScroll with useNativeDriver, then interpolate the value for header transform.

intermediate1 min read

Shared values and useAnimatedStyle in Reanimated

UseSharedValue holds a mutable .value readable on both threads, useAnimatedStyle derives styles as a worklet, mutate .value with withTiming or withSpring.

intermediate1 min read

Animated API versus Reanimated architecture

Animated declares animations that the native driver runs, but logic and gestures cross the bridge; Reanimated runs worklets directly on the UI thread.

intermediate1 min read

Animated.sequence versus Animated.parallel

Sequence runs animations one after another in order, parallel starts them at the same time.

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