React Native Professional Standards & Competencies 5 — Questions and Answers
Question 1: A senior React Native developer should do which of the following when they discover a security vulnerability in the codebase?
- Fix it silently without telling anyone to avoid panic
- Report it through the team's responsible disclosure process, assess impact, and coordinate a fix and release (Correct answer)
- Post it publicly on GitHub Issues immediately
- Wait until the next scheduled sprint to address it
Correct answer: Report it through the team's responsible disclosure process, assess impact, and coordinate a fix and release
Responsible disclosure coordinates the fix and release before public exposure, protecting users and the organization.
Question 2: Which approach best supports long-term maintainability of a React Native codebase?
- Maximizing code reuse by making every component accept dozens of props
- Following consistent patterns, co-locating related files, and enforcing standards through linting and code review (Correct answer)
- Writing all business logic inside UI components for simplicity
- Avoiding third-party libraries entirely
Correct answer: Following consistent patterns, co-locating related files, and enforcing standards through linting and code review
Consistent patterns, logical file organization, and automated enforcement reduce cognitive overhead as the codebase grows.
Question 3: When performing a React Native upgrade across a major version, the most professional strategy is to:
- Upgrade directly to the latest version in one step
- Use the React Native Upgrade Helper, upgrade one major version at a time, and test each increment before proceeding (Correct answer)
- Rewrite the app from scratch in the new version
- Only upgrade when the current version reaches end-of-life
Correct answer: Use the React Native Upgrade Helper, upgrade one major version at a time, and test each increment before proceeding
Incremental upgrades with the Upgrade Helper minimize the diff size and make it easier to attribute and fix issues at each step.
Question 4: A React Native developer is asked to implement a feature involving camera access. What professional step must happen before writing code?
- Add the camera permission to the manifest and build immediately
- Review platform permission requirements (iOS NSCameraUsageDescription, Android uses-permission), privacy policy implications, and request permissions at runtime with justification (Correct answer)
- Assume the existing permissions cover camera use
- Use a background service to access the camera without prompting the user
Correct answer: Review platform permission requirements (iOS NSCameraUsageDescription, Android uses-permission), privacy policy implications, and request permissions at runtime with justification
Camera access requires platform-specific declarations, runtime permission requests with context, and privacy policy updates to comply with OS guidelines and regulations.
Question 5: Which principle should guide a React Native developer when choosing between a custom native module and a community library?
- Always write custom native modules for full control
- Prefer well-maintained community libraries to reduce maintenance burden, and write native modules only when no suitable library exists (Correct answer)
- Always use community libraries regardless of quality
- Avoid native modules entirely by using only Expo managed workflow
Correct answer: Prefer well-maintained community libraries to reduce maintenance burden, and write native modules only when no suitable library exists
Community libraries distribute maintenance burden; custom native modules are justified only when no maintained alternative meets requirements.
Question 6: How should a React Native developer professionally handle feature flags for a large, risky feature rollout?
- Ship the full feature all at once to all users
- Use a feature flag system to enable the feature for a small percentage of users, monitor metrics, and gradually increase rollout (Correct answer)
- Coordinate a launch event and enable the feature for everyone simultaneously
- Release the feature only to internal employees indefinitely
Correct answer: Use a feature flag system to enable the feature for a small percentage of users, monitor metrics, and gradually increase rollout
Gradual rollout with monitoring lets the team catch issues at small scale before they affect all users.
Question 7: What is the most professional response when a React Native app's CI pipeline begins failing on a test that was passing before your PR?
- Skip the failing test temporarily and merge
- Investigate whether your change caused the failure, check for flaky test history, and fix or flag the issue before merging (Correct answer)
- Assume it is a flaky test and re-run CI until it passes
- Revert your entire PR immediately without investigation
Correct answer: Investigate whether your change caused the failure, check for flaky test history, and fix or flag the issue before merging
Investigating causality before acting avoids both ignoring real regressions and unnecessarily blocking or reverting correct changes.
A senior React Native developer should do which of the following when they discover a security vulnerability in the codebase?