React Native Developer Certification β Questions and Answers
Question 1: A multi-tenant SaaS app must switch between different API environments (staging vs production) without rebuilding. What is the standard approach?
- Read the URL from a remote config service on every app launch
- Use react-native-config to inject environment variables at build time per scheme/flavor (Correct answer)
- Hardcode both URLs and toggle with a flag in AsyncStorage
- Store the active URL in Redux and change it from a hidden admin screen
Correct answer: Use react-native-config to inject environment variables at build time per scheme/flavor
react-native-config reads .env files per build variant, injecting the correct API URL at build time without runtime switches.
Question 2: What is a risk mitigation strategy in React Native practice?
- Implementing controls that reduce the likelihood or impact of identified risks (Correct answer)
- Only addressing risks after they occur
- Ignoring low-probability risks
- Transferring all responsibility
Correct answer: Implementing controls that reduce the likelihood or impact of identified risks
This is fundamental to React Native practice. Implementing controls that reduce the likelihood or impact of identified risks represents the professional standard for risk management in the React Native certification framework.
Question 3: What is a Drawer Navigator in React Navigation?
- A component for drag-and-drop
- A bottom sheet component
- A collapsible list view
- A side-menu navigation pattern (Correct answer)
Correct answer: A side-menu navigation pattern
Drawer Navigator renders a navigation menu that slides in from the side of the screen, commonly used for app menus.
Question 4: What is the purpose of the useReducer hook?
- To optimize list rendering
- To reduce the bundle size
- To manage complex state logic using actions and a reducer function (Correct answer)
- To compress images
Correct answer: To manage complex state logic using actions and a reducer function
useReducer is an alternative to useState for managing complex state transitions using a reducer function that handles action types.
Question 5: Which React Native feature must be configured to comply with iOS's requirement that users be shown a purpose string before granting camera access?
- CAMERA permission in app.json
- AndroidManifest.xml permission tag
- react-native-permissions plist entry
- NSCameraUsageDescription in Info.plist (Correct answer)
Correct answer: NSCameraUsageDescription in Info.plist
iOS requires an NSCameraUsageDescription key in Info.plist containing a plain-language explanation of why the app needs camera access.
Question 6: Research into React Native state management shows which library has become the evidence-based default for global state in large-scale apps as of 2024?
- Recoil
- Context API alone
- Redux Toolkit (RTK) (Correct answer)
- MobX
Correct answer: Redux Toolkit (RTK)
Redux Toolkit eliminates Redux boilerplate and is the official, community-validated evolution of Redux, consistently ranked as the top production state management choice in React Native surveys.
Question 7: A healthcare app must support biometric login (Face ID / fingerprint) on both iOS and Android. Which library provides a unified API?
- react-native-keychain
- react-native-biometrics
- expo-local-authentication (Correct answer)
- react-native-touch-id
Correct answer: expo-local-authentication
expo-local-authentication provides a cross-platform API for biometric authentication that works on both iOS and Android without platform-specific code.
Question 8: What is the implementation of the Navigator component in React Native?
- HTML
- C++
- JavaScript (Correct answer)
- Java
Correct answer: JavaScript
The Navigator component, or navigation solutions in general within React Native, are implemented using JavaScript. React Native itself allows you to build native mobile apps using JavaScript and React. All components, including those for navigation, are written and managed within the JavaScript environment, which then bridges to native UI components.
Question 9: A researcher benchmarks animation approaches in React Native. Which API is evidence-based best practice for smooth 60fps animations that run on the UI thread?
- Animated API with useNativeDriver: true (Correct answer)
- CSS transitions via StyleSheet
- Animated API without useNativeDriver
- setInterval-based state updates
Correct answer: Animated API with useNativeDriver: true
Setting useNativeDriver: true offloads animation calculations to the native UI thread, bypassing the JS bridge and enabling smooth 60fps animations even when the JS thread is busy.
Question 10: How do you go back to the previous screen programmatically in React Navigation?
- navigation.goBack() (Correct answer)
- navigation.previous()
- navigation.back()
- navigation.pop()
Correct answer: navigation.goBack()
navigation.goBack() navigates to the previous screen in the stack, equivalent to pressing the hardware back button.
Question 11: Which method on FlatList helps improve performance by specifying item dimensions?
- getItemLayout (Correct answer)
- itemSize
- itemHeight
- layoutConfig
Correct answer: getItemLayout
getItemLayout allows FlatList to skip measurement of items when heights are known, significantly improving scroll performance.
Question 12: How do you access parameters passed to a screen in React Navigation?
- this.props.navigation.state.params
- navigation.params
- props.params
- route.params (Correct answer)
Correct answer: route.params
Parameters passed during navigation are accessed via the route.params object, which is provided as a prop to screen components.
Question 13: What does the useCallback hook optimize in React Native?
- Handles error callbacks
- Manages callback queues
- Memoizes callback functions to prevent unnecessary re-creation (Correct answer)
- Async function execution
Correct answer: Memoizes callback functions to prevent unnecessary re-creation
useCallback returns a memoized version of a callback that only changes if its dependencies change, preventing child re-renders.
Question 14: How do you create a shadow effect that works on both iOS and Android in React Native?
- Use a third-party library since React Native has no built-in shadow support
- Use boxShadow which is supported on both platforms
- Use the shadow* style props which work identically on both platforms
- Use shadow* props for iOS and elevation for Android (Correct answer)
Correct answer: Use shadow* props for iOS and elevation for Android
iOS uses shadowColor, shadowOffset, shadowOpacity, and shadowRadius, while Android uses the elevation prop to cast a native material shadow.
Question 15: A React Native team stores API keys directly in their JavaScript source code. What is the correct risk mitigation?
- Obfuscate the source code with ProGuard to hide the keys
- Use Base64 encoding to prevent key extraction from the bundle
- Store keys in AsyncStorage populated at first launch
- Move secrets to environment variables loaded via react-native-config or a secrets manager, never bundle them in JS (Correct answer)
Correct answer: Move secrets to environment variables loaded via react-native-config or a secrets manager, never bundle them in JS
Bundled JavaScript can be extracted from any APK/IPA, so API keys must live server-side or in secure environment configs, not in the JS bundle.
Question 16: A React Native app is collecting user location data. Which professional practice is legally and ethically required in the US?
- Use background location without disclosure to improve accuracy
- Share location data with analytics providers without user consent
- Store location data in AsyncStorage for convenience
- Collect location only when the app is active and disclose usage clearly in a privacy policy (Correct answer)
Correct answer: Collect location only when the app is active and disclose usage clearly in a privacy policy
US regulations and both platform guidelines require clear disclosure and appropriate permissions when collecting sensitive data like location.
Question 17: Which metric is MOST useful for assessing the risk of a React Native app's JavaScript bundle size on user retention?
- Total lines of JavaScript source code
- Hermes bytecode output file count
- Number of React components in the component tree
- Time-to-interactive (TTI) on low-end devices with slow storage (Correct answer)
Correct answer: Time-to-interactive (TTI) on low-end devices with slow storage
TTI on low-end devices directly correlates with user abandonment; large bundles increase I/O time before the app is usable.
Question 18: During a stakeholder demo, a critical React Native feature crashes on stage. How should you handle the communication in the moment?
- Acknowledge the crash calmly, switch to a backup scenario or screen recording, and commit to a follow-up with root cause and fix timeline (Correct answer)
- End the meeting immediately
- Apologize repeatedly without offering any alternative or next steps
- Blame the device or the network and move on without acknowledging the crash
Correct answer: Acknowledge the crash calmly, switch to a backup scenario or screen recording, and commit to a follow-up with root cause and fix timeline
Staying calm, pivoting to a backup, and committing to a follow-up preserves credibility and demonstrates professionalism under pressure.
Question 19: What is the JavaScript Bridge in React Native's architecture?
- A type-checking system
- A code bundler
- The asynchronous communication layer between JS and native code (Correct answer)
- A network bridge for API calls
Correct answer: The asynchronous communication layer between JS and native code
The JavaScript Bridge allows the JS thread and native threads to communicate by passing serialized messages asynchronously.
Question 20: What Android permission group must a React Native app declare to access the device's precise GPS location in the foreground?
- android.permission.LOCATION_HARDWARE
- android.permission.ACCESS_COARSE_LOCATION only
- android.permission.BACKGROUND_LOCATION
- android.permission.ACCESS_FINE_LOCATION (Correct answer)
Correct answer: android.permission.ACCESS_FINE_LOCATION
ACCESS_FINE_LOCATION grants access to precise GPS coordinates in Android, and must be declared in the AndroidManifest and requested at runtime.
Question 21: In React Native, what does the `onLayout` prop provide to its callback?
- A ref to the underlying native view
- An event with the component's x, y, width, and height measurements (Correct answer)
- The component's z-index and opacity
- The parent container's dimensions
Correct answer: An event with the component's x, y, width, and height measurements
The onLayout callback receives a nativeEvent containing layout data: x, y, width, and height of the component.
Question 22: How do you apply multiple styles to a single component in React Native?
- style={[style1, style2]} (Correct answer)
- style="style1 style2"
- style={StyleSheet.combine(style1, style2)}
- style={style1.merge(style2)}
Correct answer: style={[style1, style2]}
Passing an array of style objects merges them from left to right, with later styles overriding earlier ones.
Question 23: Which React hook is used to manage local component state in React Native?
- useState (Correct answer)
- useLocalState
- useData
- useStore
Correct answer: useState
useState returns a state variable and a setter function, enabling functional components to manage local reactive state.
Question 24: Which HTTP security header should a React Native app's backend enable to prevent MIME-type sniffing attacks on API responses?
- X-Content-Type-Options: nosniff (Correct answer)
- X-Frame-Options
- Strict-Transport-Security
- Content-Security-Policy
Correct answer: X-Content-Type-Options: nosniff
The X-Content-Type-Options: nosniff header prevents browsers and clients from interpreting responses as a different MIME type than declared.
Question 25: What is the risk of using `InteractionManager.runAfterInteractions` incorrectly when navigating between heavy screens?
- If not properly queued, expensive operations can still run during the navigation animation, causing jank (Correct answer)
- Metro hot reload is disabled while InteractionManager has pending callbacks
- The callback is never executed if the component unmounts before navigation completes
- InteractionManager blocks the native UI thread on Android
Correct answer: If not properly queued, expensive operations can still run during the navigation animation, causing jank
Work queued before the current interaction (animation) completes still runs during it; ensure you register the task after the interaction start event.
Question 26: How do you navigate to a new screen using the navigation prop in React Navigation?
- navigation.open('ScreenName')
- navigation.push('ScreenName')
- navigation.navigate('ScreenName') (Correct answer)
- navigation.go('ScreenName')
Correct answer: navigation.navigate('ScreenName')
navigation.navigate('ScreenName') moves to the specified screen, and if the screen is already in the stack, it returns to it.
Question 27: You need to explain why React Native's Metro bundler is slow on large projects during a team retrospective. What is the most constructive approach?
- Complain that Metro is poorly designed without proposing solutions
- Tell the team to just wait longer for builds
- Suggest migrating to Expo to avoid the topic
- Present benchmark data, explain the root cause (large dependency graph), and propose concrete mitigations like Haul or RAM bundle configuration (Correct answer)
Correct answer: Present benchmark data, explain the root cause (large dependency graph), and propose concrete mitigations like Haul or RAM bundle configuration
Data-backed root cause analysis combined with actionable solutions turns a complaint into a productive retrospective discussion.
Question 28: Which command regenerates native iOS files after changing dependencies in a React Native project?
- npx react-native upgrade
- npx pod-install (or pod install inside the ios/ directory) (Correct answer)
- xcodebuild clean
- react-native run-ios --reset-cache
Correct answer: npx pod-install (or pod install inside the ios/ directory)
pod install (via npx pod-install or directly inside the ios folder) fetches and links CocoaPods dependencies whenever the Podfile changes.
Question 29: Evidence-based analysis of React Native CI/CD pipelines shows which service is most widely adopted for automating iOS and Android builds?
- Bitrise
- CircleCI
- Jenkins
- Fastlane (Correct answer)
Correct answer: Fastlane
Fastlane automates codesigning, building, testing, and deployment for both iOS and Android and is the most widely adopted automation tool in the React Native community.
Question 30: Research into React Native architecture patterns shows that which pattern most effectively separates business logic from UI components for testability?
- Putting all logic in useEffect hooks inside the component
- Class components with componentDidMount for all data fetching
- Redux actions containing all business rules inline
- Model-View-Presenter (MVP) or custom hooks extracting logic from components (Correct answer)
Correct answer: Model-View-Presenter (MVP) or custom hooks extracting logic from components
Extracting business logic into custom hooks or presenter layers decouples logic from rendering, making it independently testable without mounting components.
Question 31: What is the purpose of the `react-native-reanimated` library in React Native apps?
- To schedule animations using requestAnimationFrame on the JS thread
- To provide pre-built animation presets like lottie files
- To replace the Animated API with CSS-based animations
- To run animations entirely on the UI thread, avoiding bridge serialization jank (Correct answer)
Correct answer: To run animations entirely on the UI thread, avoiding bridge serialization jank
Reanimated 2+ uses worklets that execute on the UI thread, producing smooth 60/120fps animations even when the JS thread is busy.
Question 32: What does the `useWindowDimensions` hook return in React Native?
- The safe area insets for notched devices
- The device's physical screen resolution in pixels
- Only the screen width as a static value
- The width and height of the app window that update on rotation (Correct answer)
Correct answer: The width and height of the app window that update on rotation
useWindowDimensions returns an object with width and height that automatically updates when the window size changes (e.g., on orientation change).
Question 33: Empirical studies on cross-platform React Native code reuse report what typical percentage of shared code between iOS and Android when using a single codebase?
- 70β90% (Correct answer)
- 25β40%
- 99β100%
- 50β65%
Correct answer: 70β90%
Industry reports from teams like Airbnb and Discord estimate 70β90% shared code, with platform-specific files handling the remainder via the .ios.js / .android.js convention.
Question 34: Which React hook provides the current window dimensions and updates automatically on screen rotation in React Native?
- useScreenSize()
- useLayout()
- useDimensions()
- useWindowDimensions() (Correct answer)
Correct answer: useWindowDimensions()
`useWindowDimensions()` is a built-in hook that returns `{ width, height }` and re-renders the component when dimensions change.
Question 35: A client insists that their React Native app should support iOS 11. What is the best way to handle this stakeholder request?
- Agree immediately without checking React Native's minimum iOS support
- Check React Native's current minimum iOS version requirement, then communicate whether the request is feasible and what trade-offs exist (Correct answer)
- Silently drop iOS 11 support and hope the client does not notice
- Tell the client all React Native apps support all iOS versions
Correct answer: Check React Native's current minimum iOS version requirement, then communicate whether the request is feasible and what trade-offs exist
Verifying technical constraints before committing prevents over-promising and allows an informed, honest conversation with the client.
Question 36: Which method replaces the current screen without adding to the navigation stack?
- navigation.navigate
- navigation.replace (Correct answer)
- navigation.switch
- navigation.swap
Correct answer: navigation.replace
navigation.replace() removes the current screen from the stack and replaces it with the new screen, preventing back navigation.
Question 37: Which React Navigation hook gives access to the navigation object inside a component?
- useNavigation (Correct answer)
- useNavigate
- useRoute
- useNavigator
Correct answer: useNavigation
useNavigation hook returns the navigation prop, allowing any component in the tree to trigger navigation actions without prop drilling.
Question 38: You are onboarding a new React Native developer who will work on a complex legacy codebase. What communication artifact best accelerates onboarding?
- Prepare an onboarding guide covering project structure, key architectural decisions, local setup steps, and known gotchas specific to the codebase (Correct answer)
- Share only the README and nothing else
- Assign a full feature to the new developer on day one without guidance
- Tell the new developer to read all the code and ask questions if stuck
Correct answer: Prepare an onboarding guide covering project structure, key architectural decisions, local setup steps, and known gotchas specific to the codebase
A tailored onboarding guide reduces ramp-up time by surfacing non-obvious knowledge that would otherwise require weeks of discovery.
Question 39: Which Metro bundler flag lets you start the packager on a custom port?
- --port (Correct answer)
- --rn-port
- --server-port
- --listen
Correct answer: --port
Running `npx react-native start --port 8082` starts Metro on a non-default port.
Question 40: A React Native app stores auth tokens in AsyncStorage. What should a security-conscious developer do?
- Base64-encode the tokens before storing them in AsyncStorage
- Store tokens in a Redux store with persistence
- Leave it as-is since AsyncStorage is encrypted by default
- Migrate tokens to react-native-keychain or an equivalent secure storage solution that uses platform Keychain/Keystore (Correct answer)
Correct answer: Migrate tokens to react-native-keychain or an equivalent secure storage solution that uses platform Keychain/Keystore
AsyncStorage is unencrypted plain text; platform Keychain/Keystore provides OS-level encryption appropriate for auth credentials.
Question 41: What does a Stack Navigator do in React Native?
- Stacks UI components vertically
- Navigates screens in a last-in-first-out stack pattern (Correct answer)
- Manages app state in a stack
- Manages API request queues
Correct answer: Navigates screens in a last-in-first-out stack pattern
Stack Navigator pushes screens onto a stack and allows users to navigate back by popping screens off the stack.
Question 42: What is the function of `react-native link` (or autolinking in RN 0.60+)?
- It configures deep link URL schemes in the app manifest
- It syncs Gradle and CocoaPods lock files after npm install
- It links JavaScript modules to their TypeScript type definitions
- It connects native module code in third-party libraries to the iOS and Android build systems (Correct answer)
Correct answer: It connects native module code in third-party libraries to the iOS and Android build systems
Autolinking (introduced in RN 0.60) automatically registers native modules from node_modules into the Xcode and Gradle build without manual configuration.
Question 43: How can you apply platform-specific styles in React Native?
- Using device detection libraries only
- Using CSS @media queries
- Using Platform.select() or platform-specific file extensions (.ios.js/.android.js) (Correct answer)
- React Native automatically handles all platform differences
Correct answer: Using Platform.select() or platform-specific file extensions (.ios.js/.android.js)
`Platform.select()` returns the appropriate value based on the current OS, and `.ios.js`/`.android.js` files allow entirely separate implementations.
Question 44: What risk does relying solely on `try/catch` for error handling in async React Native code introduce?
- The JavaScript engine will stop executing after the first caught error
- Native module errors cannot be caught in JavaScript
- Unhandled promise rejections in event handlers and callbacks silently fail without triggering the catch block (Correct answer)
- Hermes disables the call stack for caught errors in production
Correct answer: Unhandled promise rejections in event handlers and callbacks silently fail without triggering the catch block
Not all async errors propagate to a try/catch β unhandled rejections in fire-and-forget promises and event callbacks require a global rejection handler.
Question 45: Which tool provided by Google helps React Native Android developers verify that their app complies with Play Store target API level requirements?
- Android Vitals Dashboard
- APK Analyzer in Android Studio
- Play Console's Pre-launch report (Correct answer)
- Firebase App Distribution
Correct answer: Play Console's Pre-launch report
Google Play's Pre-launch report automatically tests APKs on real devices and flags API-level compliance issues before the app goes live.
Question 46: What does the initialRouteName prop do in a Navigator?
- Sets the app's initial loading screen
- Defines which screen renders first in the navigator (Correct answer)
- Sets the default animation
- Defines the home route URL
Correct answer: Defines which screen renders first in the navigator
initialRouteName specifies which screen in the navigator is rendered when the navigator first mounts.
Question 47: Which flex property controls alignment of children along the main axis in React Native?
- justifyContent (Correct answer)
- alignItems
- alignContent
- alignSelf
Correct answer: justifyContent
`justifyContent` positions flex children along the main axis (determined by `flexDirection`).
Question 48: How does the InteractionManager API improve React Native performance?
- It defers heavy work until after animations and interactions complete (Correct answer)
- It manages touch interactions
- It batches multiple API calls
- It optimizes component tree interactions
Correct answer: It defers heavy work until after animations and interactions complete
InteractionManager.runAfterInteractions() schedules tasks to run after all animations and interactions finish, keeping the UI smooth.
Question 49: Which risk is introduced by using `KeyboardAvoidingView` without testing on both iOS and Android physical devices?
- Metro will emit a warning and skip the component in the production bundle
- The behavior prop value differs between platforms, causing overlapping or displaced UI on one platform (Correct answer)
- The component prevents ScrollView from scrolling on iOS
- KeyboardAvoidingView causes memory leaks on Android 11+
Correct answer: The behavior prop value differs between platforms, causing overlapping or displaced UI on one platform
`behavior='padding'` works on iOS while `behavior='height'` is often needed on Android, and failure to test both leads to broken layouts.
Question 50: Your team is adopting a new state management library. How should you communicate this change to a stakeholder who funds the project?
- Ask the stakeholder to approve the specific library choice
- Make the change without mentioning it since it is an internal implementation detail
- Explain the technical problem the change solves, the expected benefit, the migration cost, and the risk mitigation plan (Correct answer)
- Tell the stakeholder only after the migration is complete
Correct answer: Explain the technical problem the change solves, the expected benefit, the migration cost, and the risk mitigation plan
Framing technical decisions in terms of business benefits, costs, and risks allows funders to make informed go/no-go decisions.
Question 51: Which risk does enabling `android:allowBackup="true"` in a React Native Android app's manifest introduce?
- The app will fail Google Play's target API level check
- Push notification tokens become invalidated on restore
- Sensitive app data including AsyncStorage can be extracted via ADB backup on non-rooted devices (Correct answer)
- Metro bundler cannot generate a valid APK
Correct answer: Sensitive app data including AsyncStorage can be extracted via ADB backup on non-rooted devices
ADB backup can extract the app's data directory, exposing unencrypted AsyncStorage and SQLite databases on debug-enabled devices.
Question 52: How should React Native professionals evaluate new technology tools?
- Assess functionality, reliability, security, cost-effectiveness, and alignment with professional needs (Correct answer)
- Wait until competitors adopt first
- Avoid all new technology
- Adopt all new technology immediately
Correct answer: Assess functionality, reliability, security, cost-effectiveness, and alignment with professional needs
This is fundamental to React Native practice. Assess functionality, reliability, security, cost-effectiveness, and alignment with professional needs represents the professional standard for technology in the React Native certification framework.
Question 53: A language learning app plays short audio clips for pronunciation. Clips must start within 100ms of a button tap. What causes audio latency and how is it fixed?
- Async storage reads; cache the audio URI in a ref
- Network latency; preload audio files into local storage before the lesson starts
- React re-renders; wrap the play function in useCallback
- JavaScript bridge overhead; use a native audio module with preloaded buffers (Correct answer)
Correct answer: JavaScript bridge overhead; use a native audio module with preloaded buffers
Audio latency under 100ms requires native audio modules that keep buffers ready in memory, bypassing the JS bridge on each play call.
Question 54: GDPR's data minimization principle requires React Native developers to:
- Delete user data after 30 days
- Encrypt all data with AES-256
- Store all user data in the EU only
- Collect only data that is adequate, relevant, and limited to what is necessary (Correct answer)
Correct answer: Collect only data that is adequate, relevant, and limited to what is necessary
GDPR Article 5(1)(c) mandates data minimization: only collect personal data that is necessary for the specified purpose.
Question 55: What risk does the `react-native-upgrade-helper` tool specifically help mitigate?
- JavaScript bundle size bloat after upgrades
- Expo SDK compatibility gaps
- Missing or incorrect native file changes during an RN version upgrade (Correct answer)
- Android ProGuard rule conflicts
Correct answer: Missing or incorrect native file changes during an RN version upgrade
The Upgrade Helper diffs the RN template between versions so developers can manually apply the correct native file changes.
Question 56: How has digital technology transformed React Native practice?
- It has enhanced data collection, analysis, communication, and operational efficiency (Correct answer)
- It has replaced all traditional methods
- It only affects large organizations
- It has had no impact
Correct answer: It has enhanced data collection, analysis, communication, and operational efficiency
This is fundamental to React Native practice. It has enhanced data collection, analysis, communication, and operational efficiency represents the professional standard for technology in the React Native certification framework.
Question 57: A third-party React Native library has not been updated in 18 months. Which risk assessment concern is MOST relevant?
- The library's JS bundle will be rejected by Metro
- The library cannot be linked with CocoaPods
- The library may not support new Android/iOS API levels or new RN architecture (Correct answer)
- The library's README will be outdated
Correct answer: The library may not support new Android/iOS API levels or new RN architecture
Unmaintained libraries risk incompatibility with newer OS API levels, new RN architecture (Fabric/JSI), and security patches.
Question 58: What does the headerShown option control in a Stack Navigator screen?
- Whether the status bar is visible
- Whether the screen title is shown
- Whether back button text is visible
- Whether the navigation header bar is displayed (Correct answer)
Correct answer: Whether the navigation header bar is displayed
Setting headerShown: false in screen options hides the entire navigation header bar for that screen.
Question 59: Which library is the most widely used for navigation in React Native applications?
- React Router Native
- Native Navigation
- React Navigation (Correct answer)
- React Native Router
Correct answer: React Navigation
React Navigation is the community-standard navigation library for React Native, supporting stack, tab, and drawer navigators.
Question 60: What is the role of professional journals in React Native practice?
- They are outdated by publication time
- They only benefit academics
- They are optional reading
- They disseminate current research, best practices, and professional developments (Correct answer)
Correct answer: They disseminate current research, best practices, and professional developments
This is fundamental to React Native practice. They disseminate current research, best practices, and professional developments represents the professional standard for research in the React Native certification framework.
Question 61: A fitness app needs to continue tracking a workout even when the user locks their phone. Which API enables this on both platforms?
- BackgroundFetch with a 15-minute minimum interval
- PushNotificationIOS for silent push-triggered updates
- AppState API with 'background' listener
- Headless JS on Android and Background Modes on iOS (Correct answer)
Correct answer: Headless JS on Android and Background Modes on iOS
Headless JS (Android) combined with iOS Background Modes allows long-running background tasks on both platforms.
Question 62: A telemedicine app shows a video call UI. During the call, incoming phone calls must not terminate the video session on Android. What API handles this?
- AppState listener to pause and resume the video stream
- Using a foreground service to keep the process alive during interruptions
- ConnectionService API via react-native-callkeep to integrate with the system dialer (Correct answer)
- Setting android:launchMode='singleTask' in AndroidManifest.xml
Correct answer: ConnectionService API via react-native-callkeep to integrate with the system dialer
react-native-callkeep integrates with Android's ConnectionService to manage VOIP calls at the system level, preventing interruptions from cellular calls.
Question 63: How should an React Native professional handle an outcome that differs from expectations?
- Ignore the discrepancy
- Blame external factors
- Repeat the same approach
- Analyze contributing factors, document findings, and adjust approach based on lessons learned (Correct answer)
Correct answer: Analyze contributing factors, document findings, and adjust approach based on lessons learned
This is fundamental to React Native practice. Analyze contributing factors, document findings, and adjust approach based on lessons learned represents the professional standard for practical in the React Native certification framework.
Question 64: What is the correct way to apply platform-specific code in React Native?
- Use environment variables set in .env files per platform
- Use Platform.OS or Platform.select(), or create files with .ios.js / .android.js extensions (Correct answer)
- Wrap code in try-catch blocks that catch platform errors
- Call NativeModules.getPlatform() at runtime
Correct answer: Use Platform.OS or Platform.select(), or create files with .ios.js / .android.js extensions
React Native offers Platform.OS checks, Platform.select(), and file extensionβbased splitting (.ios.js/.android.js) for platform-specific logic.
Question 65: What distinguishes quality assurance from quality control in React Native practice?
- QC is more important than QA
- QA focuses on preventing defects through process improvement while QC detects defects through inspection (Correct answer)
- They are identical concepts
- QA applies only to manufacturing
Correct answer: QA focuses on preventing defects through process improvement while QC detects defects through inspection
This is fundamental to React Native practice. QA focuses on preventing defects through process improvement while QC detects defects through inspection represents the professional standard for quality in the React Native certification framework.
Question 66: How do you listen for navigation events like blur and focus on a screen?
- Using navigation.addListener() (Correct answer)
- Using useNavigationEvents()
- Using onScreenChange prop
- Using navigation.listen()
Correct answer: Using navigation.addListener()
navigation.addListener() subscribes to navigation events such as focus, blur, and state, returning an unsubscribe function.
Question 67: Which React Native feature helps QA teams reproduce crashes by capturing the exact sequence of user actions leading to an error?
- React Native Inspector overlay
- LogBox error history
- Breadcrumb logging in error tracking SDKs like Sentry (Correct answer)
- Redux DevTools time-travel debugging
Correct answer: Breadcrumb logging in error tracking SDKs like Sentry
Sentry and similar SDKs record breadcrumbs β a trail of events (navigation, taps, network calls) β that show what happened before a crash.
Question 68: What role does peer review play in React Native practice?
- It is only for beginners
- It creates unnecessary competition
- It replaces formal certification
- It provides quality assurance and professional development through collegial evaluation (Correct answer)
Correct answer: It provides quality assurance and professional development through collegial evaluation
This is fundamental to React Native practice. It provides quality assurance and professional development through collegial evaluation represents the professional standard for professional standards in the React Native certification framework.
Question 69: What is the purpose of linking configuration in React Navigation?
- Linking navigation stacks together
- Connecting to backend APIs
- Linking social media accounts
- Enabling deep linking and URL-based navigation (Correct answer)
Correct answer: Enabling deep linking and URL-based navigation
The linking configuration maps URL patterns to screens, enabling deep links and universal links to open specific screens.
Question 70: Which HTML keywords aren't available in JSX?
- class
- None of the above
- for
- both a & b (Correct answer)
Correct answer: both a & b
JSX is a syntax extension for JavaScript that allows you to write HTML-like code within your JavaScript files. However, because JSX is still JavaScript, it cannot use reserved JavaScript keywords directly. 'for' is a JavaScript loop keyword, and 'class' is a JavaScript keyword for defining classes, so in JSX, you use `htmlFor` and `className` respectively to avoid conflicts.
React Native Developer Certification
Validates proficiency in building cross-platform mobile applications with React Native, covering core components, navigation, state management, performance optimization, and practical application development.
Exam Rules
- You can skip questions and return to them later
- Flag questions for review before submitting
- No feedback shown until you submit the entire exam
- Unanswered questions count as wrong β answer everything
- 10 pretest questions are mixed in and don't affect your score
- Timer auto-submits when time runs out
- Your progress is auto-saved every 30 seconds