React Native Interview Questions and Answers
100 React Native interview questions across 10 topics: React Native Architecture & Bridge / New Architecture, Core Components & Primitives, Styling, Layout & Flexbox, React Navigation & Screen Stacks, State & Local Storage (AsyncStorage, MMKV), Animations & Gestures (Reanimated & RNGH), Native Modules & Hardware APIs, Performance & Memory Optimization, Expo Ecosystem & EAS, and Release, App Stores & CI/CD. They cover Mid-level, Senior, and Junior levels, and every question has a short answer to give in the interview, a deeper explanation, common mistakes, and links to official documentation with a last-reviewed date.
Topics
React Native Architecture & Bridge / New Architecture
10 questions
Core Components & Primitives
10 questions
Styling, Layout & Flexbox
10 questions
React Navigation & Screen Stacks
10 questions
State & Local Storage (AsyncStorage, MMKV)
10 questions
Animations & Gestures (Reanimated & RNGH)
10 questions
Native Modules & Hardware APIs
10 questions
Performance & Memory Optimization
10 questions
Expo Ecosystem & EAS
10 questions
Release, App Stores & CI/CD
10 questions
React Native Architecture & Bridge / New Architecture Interview Questions (React Native)
- What is the traditional React Native architecture (The Bridge), and what performance bottlenecks are associated with it?
- What is the New Architecture in React Native, and what is the role of JSI (JavaScript Interface)?
- What is Fabric, and how does it differ from the old rendering system in React Native?
- What are TurboModules, and how do they improve application startup time?
- What is the role of the Hermes engine, and why did it become the default in React Native?
- What are the main threads in a React Native app, and how is work distributed among them?
- What is Codegen in the new React Native architecture, and why is it required?
- What is the difference between the bare React Native CLI workflow and the Expo Managed Workflow?
- How is the Yoga Layout library connected to the React Native rendering system?
- How do you handle AppState transitions (Active, Background, Inactive) and save power?
Core Components & Primitives Interview Questions (React Native)
- Why is FlatList a much better choice than ScrollView for long lists in React Native?
- What are the key FlatList performance settings (such as windowSize, initialNumToRender, and getItemLayout)?
- What are the differences between TouchableOpacity, TouchableHighlight, and Pressable, and why should we generally use Pressable?
- How does the Image component work in React Native, and what common cache limitations and issues does it have?
- How do you use SectionList to show categorized data grouped into sections with sticky headers?
- How do you handle the keyboard covering inputs with KeyboardAvoidingView?
- What is a Modal in React Native, and how should pop-up windows be handled?
- What is SafeAreaView, how has it evolved in React Native, and how does it integrate with react-native-safe-area-context?
- How do you manage multiple TextInput fields and move focus between them?
- What is the difference between Switch and ActivityIndicator, and how do you customize their appearance across platforms?
Styling, Layout & Flexbox Interview Questions (React Native)
- What are the main differences between browser CSS and the styling system in React Native?
- Why is StyleSheet.create preferred over direct inline styles?
- How do you build responsive layouts for phones and tablets of different sizes?
- How are shadows and elevation handled across iOS and Android?
- How do you support and customize custom fonts and handle height and line-height issues?
- How do you support right-to-left (RTL) writing and layout interfaces for Arabic?
- What is NativeWind, and how does it let developers use Tailwind CSS in React Native?
- How do you smoothly manage dark and light mode using useColorScheme?
- What is the difference between position: "relative" and position: "absolute" in React Native layout?
- What are the benefits and uses of the AspectRatio property for flexible cards and images?
React Navigation & Screen Stacks Interview Questions (React Native)
- What is the key difference between Native Stack Navigator and Stack Navigator in React Navigation?
- How do you implement fully type-safe navigation in React Navigation with TypeScript?
- How do you organize nested app routes, such as combining Bottom Tabs and a Stack?
- How do you configure deep links and universal links to open specific screens from external URLs?
- What are screen lifecycle events in React Navigation (useFocusEffect and useIsFocused)?
- What is the recommended way to implement a conditional authentication flow?
- What is the Expo Router architecture, and how does file-based routing differ from traditional React Navigation?
- How do you customize the top navigation header while preserving native performance?
- How do you handle the physical hardware Back button on Android inside your screens?
- What strategies improve memory use and prevent screens from accumulating in the Navigation Stack (memory pressure)?
State & Local Storage (AsyncStorage, MMKV) Interview Questions (React Native)
- What is the difference between AsyncStorage and react-native-mmkv, and why is MMKV much faster?
- How do you securely store sensitive tokens and secrets using Keychain (iOS) and Keystore (Android)?
- How do you use Zustand with MMKV to create a synchronous global state store persisted locally?
- When should you use a local SQLite database (such as OP-SQLite or WatermelonDB) instead of key-value storage?
- How do you manage offline synchronization and data sync strategies with a server?
- How do you monitor network connectivity in React Native with @react-native-community/netinfo?
- How do you manage caching large amounts of temporary data with TanStack Query?
- What are the guidelines for saving and securing user preferences in an app?
- How do you completely clear user data on logout?
- What is a State Machine architecture, and how do you use XState to manage sensitive flows?
Animations & Gestures (Reanimated & RNGH) Interview Questions (React Native)
- Why is the built-in Animated API slow, and why is React Native Reanimated the industry standard?
- What are Shared Values in Reanimated, and how do they differ from useState?
- How do you combine React Native Gesture Handler (RNGH) with Reanimated for immediate touch gesture interactions?
- What are automatic layout animations in Reanimated?
- What are shared element transitions between screens, and how do you implement them?
- When should you use Lottie animations, and how do you control JSON animation files in React Native?
- What are spring physics animations, and what are their advantages over timing animations?
- How do you build a custom scroll interpolation using useAnimatedScrollHandler?
- What is React Native Skia, and how is it used for high-performance charts and 2D visual effects?
- How do you detect and fix stuttering and dropped frames during animations?
Native Modules & Hardware APIs Interview Questions (React Native)
- How do you request sensitive system permissions on iOS and Android in a way that meets store requirements?
- How do you build a custom native module in Android (Kotlin) and connect it to React Native?
- How do you build a custom native module in iOS (Swift/Objective-C)?
- How do you use motion and hardware sensors (Accelerometer, Gyroscope, Barometer) in React Native?
- How do you handle biometric authentication (Face ID and fingerprint) in an app?
- How do you manage local and remote push notifications and their tokens?
- How do you manage background geolocation without the app being killed?
- How do you use interactive haptic feedback to improve the user experience?
- How do you integrate barcode and QR code scanning?
- How do you save and read local files with FileSystem and share content through the Sharing API?
Performance & Memory Optimization Interview Questions (React Native)
- How do you detect and fix memory leaks in React Native apps?
- What is overdraw on Android devices, and how does it affect rendering smoothness?
- How do you reduce the final app bundle size on Android and iOS?
- How do you improve app startup time (Time to Interactive, TTI)?
- What does removeClippedSubviews do, and when can enabling it be a double-edged sword?
- How do you handle runtime image rendering and downscaling issues?
- How does excessive console.log use affect a React Native app's performance in production?
- What is Shopify's FlashList architecture, and what does it improve over FlatList?
- How do you use the React Profiler to identify causes of component rerenders on mobile screens?
- How do you prevent UI freezes during heavy calculations with InteractionManager?
Expo Ecosystem & EAS Interview Questions (React Native)
- What is the modern Expo architecture, and what is Continuous Native Generation (CNG)?
- What are Expo Config Plugins, and how do they safely modify native code and libraries?
- What is EAS Build, and how does it differ from building locally on a developer's machine?
- What are Over-The-Air (OTA) updates through EAS Update, and what are their risks?
- What is Expo Dev Client, and why has it replaced the traditional Expo Go app for professional development?
- How do you manage environment variables safely and reliably in Expo?
- What is the Expo Modules API architecture, and how does it simplify writing native modules in Swift and Kotlin?
- How do you manage professional startup screens and Splash Screens with expo-splash-screen?
- What are the strict acceptance requirements and tests for App Clips (iOS) and Instant Apps (Android) in Expo?
- How do you diagnose and analyze crash reports with Sentry in Expo apps?
Release, App Stores & CI/CD Interview Questions (React Native)
- What are the strict requirements for publishing apps on the Apple App Store and meeting Apple's review guidelines?
- How do you prepare an Android app for publishing on Google Play, and what is the Android App Bundle (AAB) format?
- How do you manage iOS code-signing certificates with Fastlane Match?
- What strategies can you use to distribute test builds to testers (TestFlight and Internal App Sharing)?
- How do you build a complete CI/CD pipeline for React Native projects with GitHub Actions?
- What is the recommended strategy for upgrading React Native versions?
- How do you manage version numbers across versionCode, versionName, and CFBundleVersion?
- What security checks help protect source code against reverse engineering?
- How do you manage in-app purchases (IAP) and store subscriptions with RevenueCat?
- What are the criteria for phased or staged rollouts, and how do they protect you from undetected problems?