Статья будет полезна ит специалистам, которые хотят пройти техническое собеседование по react.js успешно. ИТ-рекрутеру также могут почерпнуть знаний для оценки программистов.
15 ответов на вопросы на собеседовании по React.js
1. ЧТО ТАКОЕ REACT.JS?
Совет: ОК, вопрос, который звучит БАЗОВЫМ, но в том-то и дело: он настолько прост, что у вас может не оказаться под рукой краткого определения. И именно поэтому интервьюеры задают этот простой, но убедительный вопрос. Вот несколько моментов, которые нужно осветить:
React JS - это внешняя библиотека JavaScript для создания веб-и мобильных пользовательских интерфейсов (TK).
Он был разработан Facebook в 2011 году.
React позволяет разработчикам создавать повторно используемые компоненты пользовательского интерфейса.
Его поддерживает большое сообщество с открытым исходным кодом.
2. ЧТО ТАКОЕ КОМПОНЕНТЫ REACT? ПОЧЕМУ КОМПОНЕНТЫ ТАК ВАЖНЫ ДЛЯ REACT?
Совет: на этот вопрос должно быть легко ответить, если вы какое-то время работали с React.
Когда дело доходит до использования React, все сводится к компонентам.
Компоненты - это строительные материалы, которые React использует для создания пользовательского интерфейса веб-сайтов и приложений.
Компоненты разбивают пользовательский интерфейс на многоразовые части (одна из основных компетенций React). Затем React отображает каждый компонент пользовательского интерфейса по мере необходимости (отдельно от других), что является большой частью высокой производительности React.
3. В ЧЕМ ОСНОВНОЕ РАЗЛИЧИЕ МЕЖДУ PROPS И СОСТОЯНИЕМ?
Совет: когда дело доходит до подробных технических вопросов, которые вы, вероятно, получите о React, это основная опора. Вы знакомы с React, поэтому у вас есть это, но помните:
«Состояние» описывает значение данных по умолчанию в компоненте React, которое может меняться со временем (обычно на основе действий пользователя, которые требуют изменений в пользовательском интерфейсе).
«Свойства» описывают способ настройки компонента React. Реквизит не меняю.
В итоге: состояние изменчиво (изменяется в зависимости от действий пользователя), а свойства - нет.
4. ВЫБЕРИТЕ ОДИН МЕТОД ЖИЗНЕННОГО ЦИКЛА КОМПОНЕНТА, КОТОРЫЙ ВЫ ИСПОЛЬЗОВАЛИ В ПРОЕКТЕ. КАК ВЫ ЭТО ИСПОЛЬЗОВАЛИ?
Совет: если вы работали с React, вы знаете, что жизненный цикл компонента React включает его рождение (компонент создается и монтируется в DOM проекта), его рост (компонент обновляется с течением времени) и его смерть (компонент размонтирован из DOM проекта).
Между тем, методы жизненного цикла компонента - это функции, которые компонент может выполнять на определенных этапах образа жизни. Лучший способ ответить на этот вопрос - вспомнить конкретный пример из проекта, над которым вы работали, будь то работа или студенческий проект.
Пример: «При создании чат-приложения мы использовали метод жизненного цикла componentDidMount для получения данных с сервера». Затем внесите подробности и подробности по мере необходимости.
5. КОГДА БЫ ВЫ ИСПОЛЬЗОВАЛИ КОМПОНЕНТ КЛАССА ВМЕСТО ФУНКЦИОНАЛЬНОГО?
Совет: React использует два вида компонентов: компоненты класса и функциональные компоненты.
Функциональные компоненты - это самый основной вид компонента React, определяемый (неизменными) свойствами компонентов.
Компоненты класса - это более сложные компоненты React, которые позволяют разработчикам выполнять методы жизненного цикла компонентов и управлять состоянием компонента.
Это означает, что компоненты класса используются поверх функциональных компонентов, когда вам нужно управлять состоянием или использовать методы жизненного цикла компонента.
6. ЧТО ТАКОЕ СОБЫТИЯ REACT?
Совет: знаете, что такое «событие» в React, но не знаете, как лучше всего его объяснить? Попробуй так:
События - это реакции (библиотека называется React, верно?), Которые запускаются определенными действиями пользователя, такими как нажатие кнопки пользовательского интерфейса, наведение курсора мыши на объект пользовательского интерфейса, использование команд клавиатуры с пользовательским интерфейсом и т.д.
7. ЧТО ТАКОЕ JSX?
Совет: JSX - ключевая функция React, поэтому вам нужно иметь возможность давать пояснения в виде эскизов. Используйте эти моменты в качестве руководства:
JSX - это синтаксис, подобный HTML, который позволяет разработчикам писать код стиля HTML на JavaScript, если вы предпочитаете удобочитаемость HTML необработанному JavaScript.
Разработчикам НЕ нужно использовать JSX для создания веб-сайтов или приложений с React, но это может быть полезным инструментом для снижения общей сложности кода (и Facebook рекомендует использовать его в своей официальной документации React).
Если у вас есть опыт использования JSX для создания веб-сайта или приложения, укажите некоторые из конкретных преимуществ или недостатков, с которыми вы столкнулись в связи с этим процессом.
8. ЧТО ТАКОЕ ВИРТУАЛЬНЫЕ МОДЕЛИ DOM И КАК ОНИ РАБОТАЮТ?
Совет: функция Virtual DOM в React - одна из ключевых функций платформы, поэтому вам нужно четко ее объяснить.
Когда веб-браузеры визуализируют HTML-документы и превращают их в веб-сайт или приложение на экране, они создают дерево представления того, как устроен сайт или приложение, которое называется объектной моделью документа (DOM).
Без React ваш веб-сайт или приложение будет использовать HTML для обновления своей DOM, чтобы все «изменилось» на экране, и пользователям не нужно было вручную обновлять страницу. React JS использует другой подход, создавая виртуальную модель DOM - копию «реальной» модели DOM сайта.
React использует эту копию, чтобы определить, какие части реальной DOM необходимо изменить в зависимости от действий пользователя. Затем React берет дату изменения из виртуальной DOM и выборочно обновляет фактическую DOM (вместо перезагрузки всего объекта). Со временем это приводит к значительному повышению производительности веб-сайта или приложения.
9. КАК БЫ ВЫ ОТЛАДИЛИ ПРОБЛЕМУ В КОДЕ REACT? КАКИЕ ИНСТРУМЕНТЫ ОТЛАДКИ ВЫ ИСПОЛЬЗОВАЛИ?
Совет: отладка как важная часть процесса разработки. Прежде чем приступить к следующему собеседованию на работу в React JS, убедитесь, что у вас есть опыт работы со следующими стандартными инструментами отладки (и вы можете объяснить, как их использовать):
Линтеры (eslint, jslint)
Отладчики (инструменты разработчика React)
10. REACT JS И REACT NATIVE - В ЧЕМ РАЗНИЦА?
Совет: если вы подаете заявку на работу, посвященную использованию React JS, вы уже знаете, что такое React. Но как насчет React Native? Работодатели захотят знать, что вы можете провести четкое различие между этими двумя платформами. Так в чем разница?
Опять же, React JS - это интерфейсная библиотека JavaScript с открытым исходным кодом, используемая для создания пользовательского интерфейса.
React Native, с другой стороны, представляет собой мобильную платформу с открытым исходным кодом, которая позволяет разработчикам использовать React на таких платформах, как Android и iOS. «Нативный» - это ссылка на тот факт, что React Native интегрирует компоненты React с собственными возможностями этих мобильных платформ.
11. КАКОВЫ НЕКОТОРЫЕ ИЗ ОСНОВНЫХ ПРЕИМУЩЕСТВ ИСПОЛЬЗОВАНИЯ REACT ПРИ СОЗДАНИИ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА?
Совет: работодатели хотят знать, что - хотя вы знаете, как использовать React, - вы также знаете, ПОЧЕМУ React является таким полезным инструментом в процессе разработки. Некоторые из основных преимуществ использования React:
Повышение производительности приложения за счет модели Virtual DOM
Повышение эффективности кодирования с помощью JSX
Возможность повторного использования компонентов в нескольких проектах
Гибкость и расширяемость за счет дополнительных инструментов, предоставляемых сообществом открытого исходного кода React.
12. КАКОВЫ НЕКОТОРЫЕ ОГРАНИЧЕНИЯ REACT?
Совет: Реализм имеет большое значение на собеседовании. Да, React - потрясающий инструмент, но у него должны быть некоторые ограничения, верно? Знание того, что React НЕ делает так хорошо, показывает, что у вас будет хорошее суждение и контекст, когда вы будете использовать его в проектах. Некоторые из ограничений React включают:
React JS - это библиотека JavaScript, а не полноценный фреймворк, что означает, что для какого-то проекта ее может быть недостаточно.
Библиотека React чрезвычайно велика и может потребоваться дополнительное время и опыт (после начальной фазы обучения), чтобы действительно понять
JSX добавляет новое измерение кодирования для разработчиков, которые раньше не использовали его (хотя у него есть легкая кривая обучения из-за его сходства с HTML)
13. ЧТО ТАКОЕ REDUX?
Совет: Redux - это библиотека, совместимая с React и дополняющая ее, поэтому важно иметь достаточно знаний, чтобы хорошо разбираться в ней на собеседовании при приеме на работу React. Ключевые моменты включают:
Redux помогает разработчикам создавать веб-приложения, которые работают стабильно и легко тестируются. Он также включает инструменты редактирования и отладки кода в реальном времени.
Redux можно использовать с React или любой другой библиотекой пользовательского интерфейса.
React помогает разработчикам разделить пользовательский интерфейс на несколько компонентов, но не имеет специального способа отслеживать данные о состоянии. Redux - это библиотека, которая дополняет React, обеспечивая стабильный способ отслеживания этих данных.
14. В ЧЕМ ПРЕИМУЩЕСТВА REDUX?
Совет: ответ на этот вопрос идет рука об руку с определением Redux, но чтобы добавить в список, попробуйте следующее:
Redux добавляет прочную структуру к коду React, делая ваш код более простым в обслуживании, а предполагаемые результаты кодирования более предсказуемыми.
Redux включает в себя инструменты разработчика, которые позволяют отслеживать производительность вашего веб-приложения в реальном времени - от действий до изменений состояния, разработчики могут отслеживать все, что происходит в приложении в режиме реального времени.
Как и React, Redux имеет сильную поддержку сообщества и надежную экосистему.
15. ПОЧЕМУ ВЫ ВЫБРАЛИ REACT?
Подсказка: этот тип вопросов связан не столько с изложением фактов, связанных с JSX, виртуальными DOM, реквизитами или состоянием, сколько с объяснением работодателю, почему у вас есть профессиональный интерес к работе с React JS. Одна из основных причин, по которой этот вопрос (и ваш ответ) представляет интерес для интервьюера, заключается в том, что он дает представление о том, как вы можете объяснить важность использования React нетехническому клиенту или заинтересованному лицу.
Чтобы ответить, просто подумайте, что вас привлекло в React JS. Это может быть что-то столь же простое, как тот факт, что React легко изучить и начать с него, но дает много возможностей для роста с течением времени (показывая вашу готовность изучать новые вещи и расширять свои знания по мере продвижения), или что-то более практичное, тот факт, что существует так много возможностей трудоустройства для разработчиков React (что показывает, что вы держитесь на вершине отрасли и можете адаптироваться по мере необходимости).