React Native

Các Phương Pháp Bảo Mật Tốt Nhất

Lưu trữ an toàn, SSL pinning, obfuscation, bảo vệ chống reverse engineering, dữ liệu nhạy cảm

20 câu hỏi phỏng vấn·
Senior
1

Phương pháp được khuyến nghị để lưu trữ dữ liệu nhạy cảm như token xác thực trong ứng dụng React Native là gì?

Câu trả lời

Dữ liệu nhạy cảm như token xác thực phải được lưu trữ trong Keychain (iOS) hoặc Keystore (Android) bằng các thư viện như react-native-keychain hoặc expo-secure-store. Các hệ thống này cung cấp mã hóa dựa trên phần cứng và bảo vệ chống trích xuất dữ liệu ngay cả trên thiết bị đã root. AsyncStorage lưu trữ dữ liệu dưới dạng văn bản thuần và không bao giờ nên được sử dụng cho thông tin nhạy cảm.

2

SSL pinning là gì và tại sao nên triển khai nó trong ứng dụng React Native?

Câu trả lời

SSL pinning xác thực chứng chỉ máy chủ dựa trên một chứng chỉ hoặc khóa công khai đã biết được nhúng trong ứng dụng, thay vì chỉ tin tưởng vào chuỗi chứng chỉ hệ thống. Điều này bảo vệ chống lại các cuộc tấn công man-in-the-middle ngay cả khi kẻ tấn công đã cài đặt chứng chỉ độc hại trên thiết bị. Các thư viện như react-native-ssl-pinning hoặc TrustKit cho phép triển khai biện pháp bảo vệ này.

3

Làm thế nào để bảo vệ mã JavaScript trong ứng dụng React Native khỏi reverse engineering?

Câu trả lời

Việc obfuscation mã JavaScript bằng các công cụ như Metro bundler, react-native-obfuscating-transformer hoặc Hermes bytecode khiến mã khó hiểu hơn. Hermes biên dịch JavaScript thành bytecode, thêm một lớp bảo vệ. Tuy nhiên, obfuscation không phải là biện pháp bảo vệ tuyệt đối - nó làm chậm kẻ tấn công nhưng không thể ngăn chặn hoàn toàn reverse engineering. Các secret quan trọng không bao giờ nên được lưu trong mã phía client.

4

Làm thế nào để xử lý các khóa API và secret trong ứng dụng React Native ở môi trường production?

5

Phát hiện root/jailbreak là gì và làm thế nào để triển khai nó trong React Native?

+17 câu hỏi phỏng vấn

Các chủ đề phỏng vấn React Native khác

Kiến thức cơ bản về JavaScript

Junior
25 câu hỏi

Kiến thức cơ bản về React

Junior
20 câu hỏi

Kiến thức cơ bản về React Native

Junior
22 câu hỏi

React Hooks

Junior
20 câu hỏi

TypeScript cho React & React Native

Junior
22 câu hỏi

Thành phần & API React Native

Junior
20 câu hỏi

Styling & Layout trong React Native

Junior
18 câu hỏi

Điều hướng React Native

Mid-Level
22 câu hỏi

Quản lý State trong React Native

Mid-Level
24 câu hỏi

Networking & API trong React Native

Mid-Level
20 câu hỏi

Lưu trữ dữ liệu bền vững

Mid-Level
20 câu hỏi

Form & Validation

Mid-Level
18 câu hỏi

Animation trong React Native

Mid-Level
22 câu hỏi

Native Modules & Bridge

Mid-Level
20 câu hỏi

Mã đặc thù theo nền tảng

Mid-Level
18 câu hỏi

Quyền & Device API

Mid-Level
20 câu hỏi

Push Notifications

Mid-Level
18 câu hỏi

Testing React Native

Mid-Level
20 câu hỏi

Debugging React Native

Mid-Level
18 câu hỏi

Build & Deployment

Mid-Level
20 câu hỏi

Expo vs React Native Bare

Mid-Level
18 câu hỏi

Tối ưu hóa hiệu suất

Senior
24 câu hỏi

Quản lý bộ nhớ

Senior
20 câu hỏi

Architecture Patterns

Senior
22 câu hỏi

New Architecture của React Native

Senior
24 câu hỏi

Offline-First Architecture

Senior
20 câu hỏi

CI/CD React Native

Senior
20 câu hỏi

Monorepo & Chia sẻ mã

Senior
18 câu hỏi

Chủ đề nâng cao

Senior
22 câu hỏi

Vòng đời ứng dụng & Thực thi nền

Mid-Level
20 câu hỏi

Xác thực & Quản lý phiên

Mid-Level
22 câu hỏi

Monitoring & Crash Reporting

Senior
20 câu hỏi

Nắm vững React Native cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí