Home › Blog › React Native interview questions with answer outlines

React Native interview questions with answer outlines

React Native interviews combine React knowledge with mobile realities: how JavaScript talks to native code, rendering performance on real devices, lists, navigation, state management, offline storage, platform differences and native modules. Expect questions on the newer architecture (Fabric, TurboModules, JSI), on diagnosing slow screens, and on when a feature needs native code. Strong React fundamentals are assumed.

Fifteen common React Native interview questions

  1. How does React Native render native UI from JavaScript?
  2. What changed with the new architecture: JSI, Fabric and TurboModules?
  3. What is Hermes?
  4. FlatList versus ScrollView?
  5. How do you optimise a long list?
  6. What causes dropped frames, and how do you find them?
  7. How do you handle navigation?
  8. How do you manage state and server data?
  9. How do you store data offline?
  10. How do you handle platform-specific code?
  11. When do you need a native module?
  12. How do you handle permissions?
  13. Expo versus bare React Native?
  14. How do you ship updates and handle app store releases?
  15. How do you test a React Native app?

Architecture

Performance

ProblemFix
Long lists slow or memory-heavyFlatList or SectionList (virtualised), stable keyExtractor, getItemLayout for fixed heights
Unnecessary re-rendersReact.memo, useMemo, useCallback, keeping state local
Janky animationsNative-driver or UI-thread animation libraries
Slow start-upHermes, lazy loading screens, smaller bundles
Large imagesResize and cache; avoid loading full-resolution images in lists

Profile with the performance monitor, React DevTools profiler and platform tools before optimising. ScrollView renders all children at once, so use it only for short content.

Navigation, state and storage

Navigation libraries provide stack, tab and drawer navigators with deep linking. Keep local UI state in components, use a server-cache library for API data (handling caching, retries and background refetch), and a lightweight store for shared app state. For offline storage: key-value storage for small settings, a fast native key-value store for frequent access, SQLite-based databases for structured data, and secure storage for tokens. Design for intermittent connectivity — queue writes and sync when online.

Native code and platforms

Releases and updates

Expect questions on shipping. Native code changes require app store builds and review; JavaScript-only changes can be delivered with over-the-air update services, within the stores' rules about not changing an app's core purpose. Mention staged rollouts, crash monitoring after each release, versioning the JavaScript bundle against the native binary it's compatible with, and a rollback plan. Teams care that you've shipped to real users, not just run apps in simulators.

Testing a React Native app

Use unit tests for logic and hooks, component tests that render components and interact with them through user-visible text and roles, and end-to-end tests on simulators or devices for critical flows such as sign-in and checkout. Mock native modules in unit tests. Keep end-to-end suites small and stable, because device tests are slow and flaky when overused.

Practising

The fastest way to find gaps is to be asked. Run a spoken mock round on React Native topics — a free AI interview assistant such as CoPilot Interview builds one from your résumé and the job description and scores every answer — then study whatever you stumbled on. Prepare a story about a performance problem you fixed on a real device, with how you measured it. See also React interview questions and JavaScript interview questions.

Disclosure: CoPilot Interview is our product, so weigh what we say about it accordingly. Everything else on this page applies whichever tool you use, or none.

Frequently asked questions

What is the React Native new architecture?

A rework that replaces the asynchronous bridge with JSI for direct JavaScript–native calls, the Fabric rendering system and lazily loaded, typed TurboModules, improving performance and interop.

FlatList or ScrollView?

FlatList virtualises items, rendering only what's on screen, so it suits long or dynamic lists. ScrollView renders everything at once and suits short content.

When do you need a native module in React Native?

When you need a platform API no library provides, heavy native computation, or deep integration such as background processing or custom hardware access.

Expo or bare React Native?

Expo speeds setup, builds and updates and now supports most native needs. Bare React Native gives complete control over native projects when you need unusual native configuration.

Practise on real interview questions

Run 145 real interview questions across 10 tracks, answer out loud and see a structured answer to compare with yours. Free, no signup.

Try a practice question