React Native

Найкращі практики безпеки

Безпечне зберігання, SSL pinning, обфускація, захист від reverse engineering, конфіденційні дані

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

Який рекомендований метод зберігання конфіденційних даних, таких як токени автентифікації, у застосунку React Native?

Відповідь

Конфіденційні дані, такі як токени автентифікації, повинні зберігатися в Keychain (iOS) або Keystore (Android) за допомогою бібліотек на кшталт react-native-keychain чи expo-secure-store. Ці системи забезпечують апаратне шифрування та захист від вилучення даних навіть на пристроях з root-доступом. AsyncStorage зберігає дані у вигляді відкритого тексту й ніколи не повинен використовуватися для конфіденційної інформації.

2

Що таке SSL pinning і чому його слід впроваджувати в застосунку React Native?

Відповідь

SSL pinning перевіряє сертифікат сервера на відповідність відомому сертифікату або відкритому ключу, вбудованому в застосунок, замість того щоб довіряти лише системному ланцюжку сертифікатів. Це захищає від атак man-in-the-middle, навіть якщо зловмисник встановив шкідливий сертифікат на пристрої. Бібліотеки на кшталт react-native-ssl-pinning або TrustKit дозволяють реалізувати цей захист.

3

Як захистити код JavaScript у застосунку React Native від reverse engineering?

Відповідь

Обфускація коду JavaScript за допомогою інструментів на кшталт Metro bundler, react-native-obfuscating-transformer чи Hermes bytecode ускладнює розуміння коду. Hermes компілює JavaScript у bytecode, додаючи рівень захисту. Однак обфускація не є абсолютним захистом - вона уповільнює зловмисників, але не може повністю запобігти reverse engineering. Критичні секрети ніколи не повинні зберігатися в клієнтському коді.

4

Як керувати API-ключами та секретами у виробничому застосунку React Native?

5

Що таке виявлення root/jailbreak і як його реалізувати в React Native?

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

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

Основи JavaScript

Junior
25 запитань

Основи React

Junior
20 запитань

Основи React Native

Junior
22 запитань

React Hooks

Junior
20 запитань

TypeScript для React та React Native

Junior
22 запитань

Компоненти та API React Native

Junior
20 запитань

Стилізація та макет у React Native

Junior
18 запитань

Навігація в React Native

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

Управління станом у React Native

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

Networking та API в React Native

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

Збереження даних

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

Форми та валідація

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

Анімації React Native

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

Native Modules & Bridge

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

Код, специфічний для платформи

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

Дозволи та API пристрою

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

Push Notifications

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

Тестування React Native

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

Налагодження React Native

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

Build & Deployment

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

Expo vs React Native Bare

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

Оптимізація продуктивності

Senior
24 запитань

Управління пам'яттю

Senior
20 запитань

Architecture Patterns

Senior
22 запитань

React Native New Architecture

Senior
24 запитань

Offline-First Architecture

Senior
20 запитань

CI/CD React Native

Senior
20 запитань

Monorepo та спільне використання коду

Senior
18 запитань

Складні теми

Senior
22 запитань

Життєвий цикл застосунку та фонове виконання

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

Автентифікація та керування сесіями

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

Monitoring & Crash Reporting

Senior
20 запитань

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

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

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