React Native

Security Best Practices

Secure storage, SSL pinning, obfuscation, reverse engineering protection, sensitive data

20 питань зі співбесід·
Senior
1

What is the recommended method for storing sensitive data like authentication tokens in a React Native application?

Відповідь

Sensitive data like authentication tokens must be stored in Keychain (iOS) or Keystore (Android) using libraries like react-native-keychain or expo-secure-store. These systems provide hardware-backed encryption and protection against data extraction even on rooted devices. AsyncStorage stores data in plain text and should never be used for sensitive information.

2

What is SSL pinning and why should it be implemented in a React Native application?

Відповідь

SSL pinning validates the server certificate against a known certificate or public key embedded in the application, rather than trusting only the system certificate chain. This protects against man-in-the-middle attacks even if an attacker has installed a malicious certificate on the device. Libraries like react-native-ssl-pinning or TrustKit enable implementing this protection.

3

How to protect JavaScript code in a React Native application against reverse engineering?

Відповідь

JavaScript code obfuscation using tools like Metro bundler, react-native-obfuscating-transformer or Hermes bytecode makes code harder to understand. Hermes compiles JavaScript to bytecode, adding a protection layer. However, obfuscation is not absolute protection - it slows down attackers but cannot completely prevent reverse engineering. Critical secrets should never be stored in client code.

4

How to handle API keys and secrets in a production React Native application?

5

What is root/jailbreak detection and how to implement it in React Native?

+17 питань зі співбесід

Інші теми співбесід React Native

JavaScript Essentials

Junior
25 запитань

React Fundamentals

Junior
20 запитань

React Native Basics

Junior
22 запитань

React Hooks

Junior
20 запитань

TypeScript for React & React Native

Junior
22 запитань

React Native Components & API

Junior
20 запитань

React Native Styling & Layout

Junior
18 запитань

React Native Navigation

Mid-Level
22 запитань

React Native State Management

Mid-Level
24 запитань

React Native Networking & API

Mid-Level
20 запитань

Data Persistence

Mid-Level
20 запитань

Forms & Validation

Mid-Level
18 запитань

React Native Animations

Mid-Level
22 запитань

Native Modules & Bridge

Mid-Level
20 запитань

Platform-Specific Code

Mid-Level
18 запитань

Permissions & Device APIs

Mid-Level
20 запитань

Push Notifications

Mid-Level
18 запитань

React Native Testing

Mid-Level
20 запитань

React Native Debugging

Mid-Level
18 запитань

Build & Deployment

Mid-Level
20 запитань

Expo vs React Native Bare

Mid-Level
18 запитань

Performance Optimization

Senior
24 запитань

Memory Management

Senior
20 запитань

Architecture Patterns

Senior
22 запитань

React Native New Architecture

Senior
24 запитань

Offline-First Architecture

Senior
20 запитань

React Native CI/CD

Senior
20 запитань

Monorepo & Code Sharing

Senior
18 запитань

Advanced Topics

Senior
22 запитань

App Lifecycle & Background Execution

Mid-Level
20 запитань

Authentication & Session Management

Mid-Level
22 запитань

Monitoring & Crash Reporting

Senior
20 запитань

Опануй React Native для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно