P
prepair.app
Пройти интервью →
EnglishУкраїнськаРусскийDeutsch
📱

Junior React Native DeveloperВопросы на собеседовании React Native

Junior · без опыта / до 1 года

Собеседования на позицию React Native разработчика идут по нескольким слоям: базовый React и JSX, затем специфика мобильной платформы — навигация, стили через Flexbox, доступ к нативному коду через мост или JSI, и наконец сборка и релиз. Ниже вопросы, которые задают чаще всего, каждый с эталонным ответом. Junior: базовая теория, определения и простые практические кейсы.

Попробовать — без регистрации
Готовим вопрос…

Темы для подготовки

Компоненты, props и state
JSX и хуки (useState, useEffect)
Стилизация через Flexbox
React Navigation и deep linking
Мост, JSI и New Architecture (Fabric)
Производительность, различия платформ и релиз (Metro, OTA-обновления)

6 вопросов уровня Junior с ответами

1

Что такое компонент в React Native, и в чём разница между функциональным и классовым компонентом?

Ответ

Компонент — переиспользуемый кусок UI, написанный как функция (или, исторически, класс), возвращающая JSX с описанием того, что рендерить. Функциональные компоненты с хуками сейчас норма — код чище, нет проблем с биндингом this, и статeful-логику можно переиспользовать между компонентами через кастомные хуки так, как не позволяли методы жизненного цикла класса. Классовые компоненты по-прежнему работают и встречаются в старых кодовых базах, но новый код по умолчанию функциональный.

2

В чём разница между props и state?

Ответ

Props приходят от родителя, и компонент не может их менять — относитесь к ним как к входным данным только для чтения. State принадлежит самому компоненту, создаётся через useState, и его изменение запускает ре-рендер. Текст на кнопке обычно props; открыто ли сейчас модальное окно — обычно state.

3

Что делает `useEffect`?

Ответ

Запускает функцию после рендера компонента для всего, что не является чистым рендерингом — загрузка данных, подписка на событие, установка таймера. Массив зависимостей контролирует, когда эффект перезапускается, а функция очистки, возвращённая из него, отписывает перед следующим запуском или при размонтировании. Пропуск массива зависимостей означает, что эффект будет запускаться после каждого рендера, что редко нужно на самом деле.

4

Как стилизовать компонент в React Native?

Ответ

С помощью JS-объекта, обычно созданного через StyleSheet.create({...}) и переданного в проп style — отдельного CSS-файла нет. Раскладка по умолчанию использует Flexbox с flexDirection: 'column', поэтому flex: 1, justifyContent и alignItems — самые используемые свойства для расположения дочерних элементов. StyleSheet.create также позволяет React Native валидировать стили и ссылаться на них по ID вместо пересоздания объекта на каждом рендере.

5

Как переключаться между экранами через React Navigation?

Ответ

Обернуть приложение в навигатор — обычно stack-навигатор для типичного паттерна push/pop, — зарегистрировать каждый экран под именем и вызвать navigation.navigate('ScreenName') из экрана, чтобы перейти на него. Параметры передаются вместе с вызовом, navigation.navigate('Details', { id: 5 }), а целевой экран читает их через route.params. Возврат назад — через navigation.goBack() или нативный жест/кнопку «назад», которые stack-навигатор подключает автоматически.

6

Чем React Native отличается от React для веба?

Ответ

Здесь нет DOM и браузера — <View>, <Text> и <Image> заменяют <div>, <span> и <img> и рендерятся в реальные нативные UIKit/Android view, а не в HTML-элементы. Стилизация — JS-объекты вместо CSS, нет className, а браузерных API вроде localStorage не существует — у React Native свои аналоги, например AsyncStorage. Модель компонентов, хуки и однонаправленный поток данных — в остальном та же ментальная модель, что и в React для веба.

🦎

Прочитать ответы недостаточно

На собеседовании ты говоришь вслух под давлением. Кем задаст эти же вопросы, оценит каждый ответ и покажет, что именно подтянуть.

Пройти интервью Junior React Native Developer →
Бесплатно · 3 интервью в месяц

Другие уровни — React Native Developer

Middle React Native DeveloperSenior React Native DeveloperВсе вопросы React Native Developer

Другие специализации

🔍Junior QA Manual🤖Junior QA AutomationJunior Java Backend🐍Junior Python Backend🐘Junior PHP Backend🦫Junior Go Backend🟢Junior Node.js Backend💎Junior Ruby on Rails🟣Junior .NET Backend Developer🔷Junior C++