P
prepair.app
Start interview →
EnglishУкраїнськаРусскийDeutsch
📱

Senior React Native DeveloperReact Native interview questions

Senior · 5+ years of experience

React Native interviews move through several layers: core React and JSX, then the mobile-specific parts — navigation, styling with Flexbox, reaching native code through the bridge or JSI — and finally build and release. Below are the questions asked most often, each with a model answer. Senior: architecture, trade-offs, mentoring, and decision-making.

Try it — no account needed
Preparing your question…

Topics to prepare

Components, props and state
JSX and hooks (useState, useEffect)
Styling with Flexbox
React Navigation and deep linking
The bridge, JSI and the New Architecture (Fabric)
Performance, platform differences and release (Metro, OTA updates)

5 Senior-level questions with answers

1

Explain Fabric and TurboModules as a system, not just definitions.

Answer

Fabric is the new renderer: it moves layout and view management onto a C++ core shared across platforms, so JS describes the tree via JSI directly into that core instead of going through the bridge's async UIManager calls, and it enables synchronous layout measurement that the old architecture could not do without a round trip. TurboModules are the native-module equivalent — lazily loaded (a module is not instantiated until first used, cutting startup cost) and invoked through JSI's direct C++ bindings instead of the bridge's serialize-queue-deserialize cycle. Together they remove the bridge as the single serialization bottleneck, which is what made the old architecture's ceiling on both startup time and UI thread throughput hard to push past.

2

How do you plan a migration from the old architecture to the New Architecture on a production app?

Answer

Start with an audit of every native module and third-party dependency — the biggest risk is not your own code, it is whether the libraries you depend on have shipped New Architecture support, since an unmaintained native module can block the whole migration. Enable interop mode where the framework supports running old-architecture modules under Fabric/TurboModules, migrate incrementally screen by screen or feature by feature rather than flipping a global switch, and budget real QA time because subtle behavior differences (layout timing, event ordering) show up only under load, not in a quick smoke test. Treat it as a multi-sprint infrastructure project with its own rollback plan, not a version bump.

3

How do you profile a performance problem that is not visible from the JS side?

Answer

Start by isolating whether it is the JS thread, the native UI thread, or actual native work (image decoding, native module calls) — the JS profiler in Flipper only shows you the first of those. Native-side tools (Xcode Instruments' Time Profiler on iOS, Android Studio's profiler on Android) show where the native thread is actually spending time, which is where issues like excessive view hierarchy depth, unoptimized image decoding, or a chatty native module show up. The JS thread and UI thread run independently but block on each other at points like layout and animation, so "JS is fast" and "the app is smooth" are separate claims that both need verifying.

4

You are responsible for release and rollout across a growing mobile team — what does that actually involve?

Answer

A CI/CD pipeline (Fastlane, EAS Build, or Bitrise) that produces signed, versioned builds without a human running Xcode or Android Studio by hand, feature flags so a broken feature can be killed without an emergency store release, and a staged rollout (percentage-based on Play Store, TestFlight groups on iOS) so a bad build reaches 5% of users before 100%. It also means owning the OTA-vs-native-release policy — deciding what is safe to ship instantly and what needs the full review cycle — and making sure crash reporting (Sentry, Bugsnag) is wired to the exact commit and bundle version so a spike is traceable to a specific release.

5

How do you scale a React Native codebase and a growing team working in it at the same time?

Answer

Split the app into modules or a monorepo with clear package boundaries (Nx, Turborepo, or a custom workspace setup) so teams own a vertical slice instead of everyone editing the same screens, and enforce it with lint rules or dependency-graph checks rather than just convention. Standardize the things that cause the most cross-team friction in practice — navigation structure, state management choice, native module ownership, design system components — early, because retrofitting a standard after five squads have diverged costs far more than setting one. The mentoring part is less about code review and more about making the "how do we do X here" answer discoverable without asking a senior every time.

🦎

Reading answers is not enough

In a real interview you speak under pressure. Cam asks these same questions, scores every answer, and shows exactly what to fix.

Practice a Senior React Native Developer interview →
Free · 3 interviews per month

Other levels — React Native Developer

Junior React Native DeveloperMiddle React Native DeveloperAll React Native Developer questions

Other specializations

🔍Senior Manual QA🤖Senior QA AutomationSenior Java Backend🐍Senior Python Backend🐘Senior PHP Backend🦫Senior Go Backend🟢Senior Node.js Backend💎Senior Ruby on Rails🟣Senior .NET Backend Developer🔷Senior C++