📱 React Native Interview Questions & Answers (2025)
Basic Level Questions
What is React Native?▶
React Native is a JavaScript framework for building native mobile apps using React principles, targeting both Android and iOS platforms.
How does React Native differ from React?▶
React is for building web interfaces using the virtual DOM, whereas React Native builds native mobile UI components instead of HTML.
What are core components in React Native?▶
Core components include View, Text, Image, ScrollView, TextInput, and Button, analogous to HTML elements but native.
What is JSX?▶
JSX is a syntax extension that lets you write markup-like code in JavaScript to define UI components.
How do you style components?▶
Styling is done using a StyleSheet object with CSS-like styles but camelCase properties.
What is Flexbox?▶
Flexbox is the layout system used in React Native to arrange components in rows or columns flexibly.
What are props and state?▶
Props are immutable inputs from parent components; state holds mutable data internal to the component affecting rendering.
Describe component lifecycle.▶
Lifecycle includes mounting, updating, and unmounting phases. Functional components use hooks like useEffect for side effects.
What is Hot Reloading?▶
Hot Reloading updates UI instantly on code changes without losing the app state, aiding developer productivity.
Can React Native access device features?▶
Yes, via APIs and native modules for camera, GPS, accelerometer, contacts, etc.
Intermediate Level Questions
What is Virtual DOM and how does React Native update UI?▶
React Native uses a Virtual DOM abstraction to batch and optimize updates sent via a bridge to native UI components.
Difference between Controlled and Uncontrolled components?▶
Controlled components have value managed via React state; uncontrolled rely on native DOM for state management.
What are React Hooks?▶
Hooks are functions enabling state and lifecycle management in functional components, e.g., useState, useEffect, useContext.
How is navigation handled?▶
Libraries like React Navigation provide stack, tab, and drawer navigators for routing and screen transitions.
Class vs Functional components?▶
Class components use ES6 classes and lifecycle methods; functional components use hooks for similar functionality.
Performance optimization techniques?▶
Use PureComponent, React.memo, optimize FlatList, avoid unnecessary renders, lazy load components.
What is React Native Bridge?▶
Bridge enables asynchronous communication between JavaScript and native code modules for accessing native functionality.
How to manage different screen sizes?▶
Use Flexbox, Dimensions API, PixelRatio, and percentage-based styling for responsive layouts.
How are app permissions handled?▶
React Native uses native APIs and libraries like react-native-permissions to request and manage runtime permissions.
Difference between Live Reload and Hot Reload?▶
Live Reload reloads entire app losing state; Hot Reload updates only changed modules preserving state.
What is Redux and why use it?▶
Redux is a predictable state container used to manage global state across components efficiently.
Explain Redux Middleware.▶
Middleware intercepts actions for async tasks, logging, or conditional dispatch; popular ones are Redux Thunk and Saga.
Debugging React Native apps?▶
Use React Native Debugger, Flipper, Chrome DevTools, or VS Code debugger with breakpoints and profiling tools.
What are Native Modules?▶
Native modules allow writing native platform code (Objective-C, Java) for functionality unavailable in JavaScript.
How to optimize startup time?▶
Use lazy loading, minimize bundle size, enable Hermes engine, defer heavy processing on startup.
Role of Hermes?▶
Hermes is a lightweight JS engine optimized to enhance React Native app startup, memory use, and performance.
Handling offline data sync?▶
Use local databases (Realm, SQLite) and background sync with queued changes on connectivity restoration.
Testing strategies?▶
Unit testing with Jest, component testing with Enzyme or React Test Renderer, and end-to-end testing with Detox or Appium.
Internationalization (i18n)?▶
Use libraries like react-native-i18n or i18next to support multiple languages and locale formats.
Security best practices?▶
Avoid storing sensitive data in JS, use encrypted storage, enable SSL pinning, validate inputs, and keep dependencies updated.
Advanced Level Questions
Explain Redux architecture.▶
Redux follows a unidirectional data flow with a single immutable store, actions, and reducers managing state changes predictably.
Middleware usage patterns in Redux.▶
Used for async flows, logging, crash reporting, routing, handling side effects in Redux ecosystems.
Best practices for debugging React Native apps.▶
Use source maps, React DevTools, Flipper plugins, Hermes profiler, and console logs effectively.
How to create custom native modules?▶
Write platform-specific code in Java/Objective-C, expose APIs via React Native bridge, and handle callbacks/events.
Explain React Native architecture.▶
Includes JavaScript thread, native thread, and the bridge facilitating communication between them asynchronously.
Explain Reconciliation.▶
The process whereby React compares new and old virtual DOM trees and determines the minimal DOM operations required to update the UI.
Performance profiling tools.▶
Use React DevTools Profiler, profiling in Flipper, and Hermes Profiler to diagnose performance bottlenecks.
How to secure API calls in React Native?▶
Use HTTPS, token-based authentication, certificate pinning, and secure storage for credentials and tokens.
Handling deep linking.▶
Configure URL schemes and intent filters; use deep linking libraries to route app navigation from external links.
What is code push?▶
Code Push is a cloud service that enables pushing JavaScript code updates directly to devices without app store release.
What is the difference between Expo and React Native CLI?▶
Expo offers an easy-to-use platform with managed workflow but limits native code customization; React Native CLI offers full access but requires more setup.
How to handle gesture recognition?▶
Use Gesture Responder System or libraries like react-native-gesture-handler for handling touch gestures with good performance.
Explain layout animations.▶
LayoutAnimation API enables smooth, native-driven animations of layout changes.
Explain bridging and its limitations.▶
Bridge facilitates cross-language communication but is asynchronous and can cause performance overhead if overused.
What are inline and external styles?▶
Inline styles are objects defined directly in components; external styles use StyleSheet.create for better performance and reusability.
Memory management in React Native?▶
Relies on JS garbage collection and native platform memory management, optimized for minimal leaks and efficient usage.
Challenges in React Native development?▶
Challenges include performance bottlenecks, platform-specific bugs, native module bridging, and managing third-party dependencies.
Advanced debugging techniques.▶
Use Flipper plugins, native debugger integration, logging enhancements, remote debugging, and profiling tools.
How to optimize network requests?▶
Batch requests, use caching strategies, debounce inputs, and minimize bridge calls for network efficiency.
React Native best practices for scalability.▶
Component-based architecture, modular code, lazy loading, memoization, and effective state management improve scalability.