React Native looks like React until performance and native integration bite. These questions check whether a candidate understands the mobile realities underneath.
Hiring a React Native developer is easy. Telling a real one from a convincing résumé is the hard part — and it’s most of what we do. These are grouped by level, because the same question that stretches a junior is a warm-up for a senior.
Junior React Native interview questions
0–2 years
Core concepts.
How does React Native differ from React for web?
It renders to native UI components rather than the DOM, using primitives like View and Text instead of HTML.
Uses div/span and web CSS mental models.
How does styling work in React Native?
A subset of CSS via JS style objects and flexbox; there is no cascade, and units are density-independent pixels.
Expects full CSS including the cascade and media queries.
What is the difference between View, Text and ScrollView?
View is a container, Text renders text, ScrollView scrolls its children; text must be inside Text.
Puts raw strings outside a Text component.
When do you use FlatList instead of ScrollView?
FlatList virtualises long lists, rendering only visible items; ScrollView renders everything and is only for small content.
Renders a huge list in a ScrollView and it janks.
How does navigation work?
Via a library like React Navigation providing stack, tab and drawer navigators; there is no URL bar by default.
Tries to route with web-style URLs.
How do you handle platform differences?
Platform.select, platform-specific files (.ios/.android), and conditionals for divergent behaviour.
Assumes one implementation works identically on both.
How do you handle images and assets?
Bundled assets via require or remote URIs with defined dimensions; unlike web, remote images need explicit sizing.
Forgets to size remote images and they don’t render.
What is Expo?
A framework and toolchain that simplifies building, running and shipping RN apps, with managed native modules.
No idea what Expo provides.
Mid-level React Native interview questions
2–5 years
Native integration and state.
What is the bridge / new architecture?
Historically JS and native communicated asynchronously over a bridge; the new architecture (JSI, Fabric, TurboModules) enables faster, synchronous native calls.
Unaware of how JS talks to native at all.
How do you debug performance issues?
Profile with Flipper/DevTools, reduce re-renders, virtualise lists, avoid heavy work on the JS thread, and watch bridge traffic.
Blames the framework without profiling.
How do you optimise long lists?
FlatList with stable keys, getItemLayout, windowing props and memoised item components.
Re-renders every row on each update.
When do you write a native module?
When you need platform APIs or performance not available in JS; you expose native code to JS via modules.
Thinks everything must be pure JS.
How do you handle offline and data persistence?
Local storage (AsyncStorage/MMKV), a local database, and sync strategies with conflict handling.
Assumes constant connectivity.
How do animations work performantly?
Use the native driver (or Reanimated) so animations run on the UI thread, not the JS thread.
Animates on the JS thread and it stutters.
How do you manage app state?
Local state, context for small shared state, and a store (Redux/Zustand) plus a server-state layer for data.
Puts everything in one global store.
How do you handle keyboard and safe areas?
KeyboardAvoidingView and safe-area insets so UI isn’t obscured by the keyboard or notches.
Ignores notches and keyboard overlap.
Senior React Native interview questions
5+ years
Architecture and release.
How do you structure a large RN codebase?
Feature-based modules, a shared design system, typed navigation, and clear native/JS boundaries.
One giant screens folder with shared mutable state.
How do over-the-air updates work and their limits?
Tools like CodePush/EAS Update push JS changes without an app-store review, but native changes still require a store release.
Thinks any change can be shipped OTA.
How do you handle the app release process?
Managing builds, signing, store submissions, staged rollouts and crash monitoring for both platforms.
No grasp of store review or signing.
How do you reduce app size and startup time?
Hermes engine, removing unused native modules, asset optimisation, and lazy loading heavy screens.
Ships a bloated bundle with slow cold start.
How do you diagnose native crashes?
Symbolicated crash reports (Sentry/Crashlytics) and platform logs to trace native vs JS causes.
Only looks at JS errors.
What are the tradeoffs of React Native vs native?
Shared code and speed of delivery vs some performance ceilings and native edge cases; justify per project.
Claims RN is always as good as native.
How does the Hermes engine help?
A JS engine optimised for RN with faster startup and lower memory via bytecode precompilation.
Never heard of Hermes.
How do you keep native dependencies healthy?
Manage versions carefully, test upgrades, and watch for breaking changes across iOS/Android toolchains.
Upgrades blindly and breaks the native build.
Build and score a full interview with our free interview scorecard tool, browse the full question hub, or see how we interview engineers.