Master React Native interviews with 40+ questions on mobile development, performance optimization, and native integration.
React Native uses a bridge to communicate between JavaScript and native code. JS runs in JavaScriptCore (or Hermes), renders to native UI components (not WebView). The bridge serializes/deserializes data between threads. New architecture (Fabric, TurboModules) reduces bridge overhead with JSI for direct native calls. Result: native performance with React development experience.
React: web library, renders to DOM (div, span). React Native: mobile framework, renders to native components (View, Text). Styling: RN uses StyleSheet (subset of CSS, flexbox). Navigation: RN uses react-navigation or native solutions. Platform APIs: RN provides native modules. Code sharing: business logic can be shared, UI needs adaptation.
Strategies: (1) Use FlatList for long lists (virtualization), (2) Memoize with React.memo, useMemo, useCallback, (3) Avoid inline functions in renders, (4) Use Hermes engine, (5) Optimize images (resize, cache), (6) Remove console.logs in production, (7) Use native driver for animations, (8) Reduce bridge traffic, (9) Profile with Flipper/React DevTools.
React Navigation: JS-based, most popular, stack/tab/drawer navigators. React Native Navigation (Wix): native implementation, better performance. Expo Router: file-based routing. Choose React Navigation for most apps (flexibility, community). Use native navigation for complex apps needing native feel. Deep linking supported by all major solutions.
Options: (1) Platform.OS checks (if Platform.OS === "ios"), (2) Platform.select({ ios: value, android: value }), (3) Platform-specific files (.ios.js, .android.js), (4) Platform-specific components. For native modules: separate implementations per platform. Best practice: abstract platform differences into components/hooks for clean cross-platform code.
Practice with interactive quizzes and get instant feedback.
Start Free Practice