Навыки, необходимые для работы с React.js, относятся к самым востребованным в сфере технологий. Поэтому подготовка к собеседованию по React.js требует серьезной проработки ключевых понятий React. Разберем ответы на 5 вопросов, наиболее часто встречающихся на собеседовании. Материал будет изложен настолько просто, что его поймет даже 14-летний подросток.
1. Что такое JSX и почему он используется в React
Вопрос: Что такое JSX и как он упрощает написание кода в React?
Ответ: JSX расшифровывается как JavaScript XML. Это способ писать HTML-подобный код внутри JavaScript. Он упрощает описание того, как должен выглядеть пользовательский интерфейс.
Вместо того, чтобы писать сложный код document.createElement
, можно написать: <h1>Hello, World!</h1>
.
JSX нуждается в таком инструменте, как Babel, для преобразования его в обычный JavaScript, чтобы браузер мог его понять.
Думайте об этом так: написание сокращенного текста, который переводчик (Babel) превращает в полноценное предложение, считываемое браузером.
2. Что такое React-компоненты
Вопрос: Почему в React все называется «компонентом»?
Ответ: Компоненты — строительные блоки приложения.
- Представьте автомобиль: двигатель, колеса и сиденья — его компоненты.
- Точно так же в приложении React компонентом может быть кнопка (button), форма (form) или даже вся страница.
Существует два основных типа компонентов:
- Основанные на функциях (функциональные) — простые компоненты, возвращающие пользовательский интерфейс.
const Hello = () => <h1>Hello!</h1>;
- Основанные на классах — компоненты, которые могут выполнять более сложные задачи, но сейчас менее популярны.
Думайте об этом так: каждый компонент — мини-программа, которая совместно с другими компонентами участвует в создании приложения.
3. В чем разница между state и props
Вопрос: Как «state» и «props» помогают управлять данными в React?
Ответ:
State (состояние) — нечто вроде ящика памяти внутри компонента. В нем хранятся данные, которые могут меняться, например счет в игре. Пример:
const [score, setScore] = useState(0);
Можно обновить состояние с помощью setScore(newValue)
.
Props (свойства) — нечто вроде подарков, передаваемых от одного компонента к другому. Они доступны только для чтения и используются для обмена данными. Пример:
<Greeting name="John" />
.
Думайте об этом так:
- State: ваш личный дневник.
- Props: записки, которые кто-то передает вам для прочтения.
4. Что такое React-хуки и какие из них наиболее часто используются
Вопрос: Как хуки упрощают написание кода в React?
Ответ: Хуки позволяют использовать такие возможности, как состояние и методы жизненного цикла в функциональных компонентах.
Два важных хука:
- useState: позволяет добавить state в функциональный компонент:
const [count, setCount] = useState(0);
- useEffect: запускает код, когда что-то меняется, например при получении данных из API:
useEffect(() => { console.log("Hello, World!"); }, []);
Думайте об этом так: хуки похожи на наборы инструментов, каждый из которых предназначен для чего-то конкретного, а вместе они помогают создавать эффективные приложения.
5. Что такое Virtual DOM и почему она важна
Вопрос: Как React так быстро обновляет экран?
Ответ: Virtual DOM (виртуальная DOM — Document Object Model) — копия реальной DOM (структуры сайта).
- React использует эту копию, чтобы понять, что изменилось.
- Вместо того, чтобы обновлять все, он обновляет только ту часть, которая изменилась.
Думайте об этом так: ресторан, где официант заменяет только те тарелки, которые вы использовали, вместо того, чтобы заново накрывать стол.
Virtual DOM делает React очень быстрым и эффективным.
Заключительные советы
- Практикуйтесь в написании кода: чтобы быстрее освоить React, создавайте небольшие приложения, например список дел.
- Разберитесь в понятиях: не ограничивайтесь простым запоминанием терминов — старайтесь понять, как каждая функция помогает решать реальные проблемы.
- Будьте уверены в себе: большинство интервьюеров просто хотят убедиться, что вы умеете логически мыслить и решать проблемы.
Читайте также:
- Революция в условном рендеринге React
- 5 важных принципов работы с хуками в React
- Frontend Masters: принципы SOLID в React/React Native
Читайте нас в Telegram, VK и Дзен
Перевод статьи Be 10x Engineer: 70% Interviewer will ask these 5 React.js question [ 2025 ]