Career roadmap
React Native Engineer
Ship one codebase to both stores, and know enough native to fix what the bridge cannot.
Before you start React Native
- React and JavaScript at working level
- A Mac for iOS builds, or a plan for cloud builds
- Comfort with the command line
Mobile is not the web
Learn what changes when there is no DOM, no URL bar, and a battery to worry about.
No divs, no CSS cascade. The mental model shift is the first hurdle.
- View, Text, Image, ScrollView, Pressable
- Flexbox-only layout and density-independent pixels
- Platform-specific styles and Platform.select
- Safe areas, notches and dynamic island
Stack, tab and modal navigation, plus deep links — asked in every React Native interview.
- React Navigation: stack, tabs, drawer
- Navigation state and params typing
- Deep linking and universal links
- Back handling on Android
Janky lists are the number one React Native complaint and a standard debugging question.
- FlatList vs FlashList
- getItemLayout, keyExtractor and windowing
- Image caching in lists
- Avoiding re-renders in list items
iOS and Android disagree about almost everything. Knowing where saves you weeks.
- Keyboard avoidance behaviour
- Permissions models on each platform
- Back gesture and hardware back button
- Typography and elevation conventions
Expo is now the default recommendation. Knowing when to eject is the senior question.
- Expo managed vs bare workflow
- EAS Build and EAS Update
- Config plugins and native modules
- Development builds vs Expo Go
BuildA three-screen app with navigation, list rendering and a native-feeling transition, running on a real device.
State, data and offline
Mobile networks fail. An app that assumes connectivity is not a mobile app.
Same concepts as web React, but re-mounting and background/foreground add wrinkles.
- Local state, context and Zustand
- Server state with TanStack Query
- Persisting state across app restarts
- App state: active, background, inactive
Choosing between key-value and a real on-device database is a common design question.
- MMKV and AsyncStorage
- SQLite and WatermelonDB
- Secure storage for tokens
- Migration of local schemas
Conflict resolution is where offline apps are actually hard, and where interviews probe.
- Optimistic writes and a mutation queue
- Conflict resolution strategies
- Detecting connectivity reliably
- Background sync limitations per platform
Token storage and biometric unlock, with the platform keychain rather than AsyncStorage.
- Keychain and Keystore via secure storage
- Refresh token rotation on mobile
- Biometric authentication
- Sign in with Apple requirements
Permission timing, token lifecycle and deep linking from a notification.
- APNs and FCM setup
- Permission prompts and opt-in timing
- Foreground vs background handling
- Notification-triggered navigation
BuildMake your app fully usable offline, with a queue that syncs writes when connectivity returns.
Native depth
The line between a mid and senior React Native engineer is comfort dropping into native code.
Fabric, TurboModules and JSI replaced the bridge. Expect to be asked what changed and why.
- The old bridge and its serialisation cost
- JSI and synchronous native calls
- TurboModules and lazy loading
- Fabric renderer and concurrent rendering
Reading Swift and Kotlin well enough to bridge a native SDK is a genuine differentiator.
- Swift/Objective-C module basics
- Kotlin/Java module basics
- Passing data across the boundary
- Native view components
Reanimated on the UI thread is what makes an app feel native rather than adequate.
- Reanimated worklets and shared values
- Gesture Handler and composed gestures
- Layout animations and shared element transitions
- 60fps discipline and dropped frames
Startup time and frame rate, measured with real tools rather than guessed at.
- Hermes and bytecode precompilation
- Flipper and native profilers
- Startup time and bundle size
- Memory leaks and image memory
Enough Xcode and Android Studio to read a build error instead of pasting it into a search box.
- Xcode project structure and signing
- Gradle basics and build variants
- Reading native crash logs
- CocoaPods and Swift Package Manager
BuildWrite one native module for each platform and publish it, or contribute a fix to an existing native library.
Release and operations
Shipping to two app stores is a skill in itself, and one most candidates cannot demonstrate.
Review rejections, staged rollout and version pinning. Real operational knowledge.
- App Store and Play Console submission
- Common review rejection reasons
- Staged rollout and phased release
- Versioning and minimum supported OS
The React Native superpower — and the store rules that constrain it.
- EAS Update and update channels
- What can and cannot be shipped OTA
- Rollback and update targeting
- Native version compatibility
Automated builds for two platforms, including code signing, which is where it usually breaks.
- EAS Build or Fastlane pipelines
- Certificate and provisioning management
- Automated store uploads
- Preview builds for reviewers
You cannot attach a debugger to a user's phone. Telemetry is the only visibility you get.
- Sentry or Crashlytics with source maps
- Symbolication for native crashes
- Product analytics and funnels
- Crash-free session rate as a target
Detox or Maestro for end-to-end, plus device matrix strategy.
- Component tests with Testing Library
- End-to-end with Detox or Maestro
- Device and OS version matrix
- Testing offline and permission states
BuildPublish an app to both stores with automated builds, staged rollout and crash reporting wired up.
Interview preparation
React Native loops mix React fundamentals, mobile specifics and a build exercise.
The recurring set: bridge vs JSI, FlatList performance, and platform differences.
- New Architecture: what changed and why
- List performance debugging walkthrough
- Navigation state and deep linking
- Offline and sync design
Half the interview is still plain React. Do not skip it because the target is mobile.
- Rendering, reconciliation and memoisation
- Hooks rules and custom hooks
- State ownership decisions
- TypeScript with components
Design a chat app or a feed for mobile — offline, battery and push are the extra axes.
- Local-first data architecture
- Sync protocol and conflict handling
- Media upload and caching
- Battery and network efficiency
Lighter than backend loops but present at product companies.
DSA Coding Questions- Arrays, strings, hash maps
- Trees and recursion
- Complexity analysis
- Debugging under time pressure
A live store listing outranks any number of tutorial projects for this role.
- A published app with real screenshots
- Crash-free rate and install numbers if you have them
- One native module you wrote
- Write-up of a performance problem you fixed
BuildA published app on at least one store, with a README covering architecture and native work.
React Native tools on your CV
- React Native
- Expo / EAS
- TypeScript
- React Navigation
- Reanimated
- TanStack Query
- MMKV
- Sentry
- Detox
What React Native employers ask to see
- An app published on the App Store or Play Store
- One native module written in Swift or Kotlin
- A performance write-up: startup time or frame rate, before and after
- An offline-capable feature with a documented sync strategy
Strong demand at startups and agencies that cannot fund two native teams. Web React experience transfers directly, which makes it the fastest route from web into mobile.
Content last reviewed 2026-08-31. Guidance only — no institute or paid placement is endorsed anywhere in this book.