📱 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.