440 просмотров
От 30 мая 2023

Вопросы для собеседования React.js-разработчика

1. Что такое React?

React - JavaScript библиотека, разработанная Facebook в 2011. В основе лежит компонентный подход, позволяющий создавать переиспользуемые UI-компоненты. Служит для создания сложных интерактивных интерфейсов для веб-сайтов и мобильных приложений.

2. Что такое виртуальный DOM?

Виртуальный DOM (VDOM) - это копия Document Object Model, которую в своем ядре выстраивает фреймворк (в данном случае React). Вместо того, чтобы при каждом изменении данных заставлять браузер переформировывать DOM, внутри фреймворка происходит перерасчёт Virtual DOM. Дальше по результатам сравнения построенного Virtual DOM и DOM фреймворк вносит точечные изменения в реальный DOM. Этот механизм существенно повышает производительность React-приложения, так как позволяет избежать ненужных перерисовок и вычислений браузеру.

3. Что такое JSX?

JSX - это дополнение к синтаксису JS, которое позволяет писать HTML в React компонентах. JSX - синтаксический сахар для функции React.createElement(component, props, ...children). За правильный парсинг и дальнейшую обработку отвечает babel.

4. Что такое useEffect?

useEffect(() => { console.log('side effect') }, []) useEffect - это хук, принимающий функцию, которая будет выполнена после каждой перерисовки компонента. Однако, вторым параметром в useEffect передается массив зависимостей (переменные состояния) - при его наличии функция, переданная в useEffect, будет выполняться не при каждой перерисовке, а только в случае изменения элемента из массива зависимостей. useEffect вызывается асинхронно после перерисовки компонента.

5. Что такое useLayoutEffect?

useLayoutEffect(() => { console.log('side effect') }, []) useLayoutEffect - это аналог useEffect, отличающийся тем, что выполняется синхронно до перерисовки компонента, что бывает крайне полезным при взаимодействии в функции-коллбеке с DOM.

6. Как сбросить эффект?

useEffect(() => { let mounted = true; setTimeout(() => { if (mounted) { setUsername('hello world'); } }, 4000); return () => mounted = false; }, []); Функция, переданная в useEffect и useLayoutEffect, может при необходимости возвращать другую функцию, которая будет вызвана в момент размонтирования компонента, а также перед каждым своим исполнением, чтобы сбросить эффект предыдущего рендера).

7. Что такое батчинг ререндеров?

Поддержи проект и получи доступ ко всему контенту всего за 290

8. Как отменить батчинг?

Поддержи проект и получи доступ ко всему контенту всего за 290

9. Что такое React.Suspense?

Поддержи проект и получи доступ ко всему контенту всего за 290

10. Что такое SuspenseList?

Поддержи проект и получи доступ ко всему контенту всего за 290

11. Что такое React.StrictMode?

Поддержи проект и получи доступ ко всему контенту всего за 290

12. Что такое конкурентный режим?

Поддержи проект и получи доступ ко всему контенту всего за 290

13. Что такое порталы в React?

Поддержи проект и получи доступ ко всему контенту всего за 290

14. Что такое React.Fragment?

Поддержи проект и получи доступ ко всему контенту всего за 290

15. Что такое React Context?

Поддержи проект и получи доступ ко всему контенту всего за 290

16. Что такое refs в React?

Поддержи проект и получи доступ ко всему контенту всего за 290

17. setState синхронный или асинхронный?

Поддержи проект и получи доступ ко всему контенту всего за 290

18. В чем разница memo и useMemo?

Поддержи проект и получи доступ ко всему контенту всего за 290

19. Зачем нужен атрибут key?

Поддержи проект и получи доступ ко всему контенту всего за 290

20. Что такое prop drilling?

Поддержи проект и получи доступ ко всему контенту всего за 290

21. Как оптимизировать React-приложение?

Поддержи проект и получи доступ ко всему контенту всего за 290

22. Как тестировать React-приложение?

Поддержи проект и получи доступ ко всему контенту всего за 290

23. Что такое ErrorBoundary?

Поддержи проект и получи доступ ко всему контенту всего за 290

24. Почему этот код нестабилен?

Поддержи проект и получи доступ ко всему контенту всего за 290

25. Что такое reducer?

Поддержи проект и получи доступ ко всему контенту всего за 290
Хочешь стать частью сообщества Девстанции?
Вступай в наш чат в Telegram

Также в этой категории

Шпаргалка
  24 вопроса

Полезные хуки на React.js

Сборник пользовательских хуков на React.js

289 просмотров
От 17 февраля

Вам может быть интересно

Викторина
  32 вопроса

Большой тест по CSS

Большая викторина по вопросам о CSS

40 просмотров
От 2 июня 2023
Викторина
  17 вопросов

Вопросы по основам HTML

Вопросы для собеседования на знание HTML

125 просмотров
От 9 октября 2023
Викторина
  10 вопросов

Сложные вопросы по HTML

Вопросы про HTML для опытных разработчиков

57 просмотров
От 4 октября 2023
Викторина
  15 вопросов

Самая типизированная викторина

Викторина по вопросам о TypeScript

82 просмотра
От 9 октября 2023
Викторина
  12 вопросов

Вопросы по CSS Grid и FLEX

То, что могут спросить про CSS Grid и Flex на собеседовании

34 просмотра
От 9 октября 2023
Викторина
  19 вопросов

Про прототипы: __proto__, prototype

Викторина по вопросам о прототипах в JavaScript

58 просмотров
От 9 октября 2023

Топ тредов

Gravatar for 9tokio
Tokio:
то что раньше было бесплатным теперь платное - вот это я понимаю

Последнее сообщение:
Логотип Девстанции
Девстанция:
Спасибо за поддержку проекта :) Повышение качества контента - один из важнейших приоритетов. Этому м...
3 сообщения
213 просмотров

Логотип Девстанции
Девстанция:
Поиск людей для совместной разработки IT-стартапов

Последнее сообщение:
В этом треде пока нет сообщений
0 сообщений
107 просмотров

Логотип Девстанции
Девстанция:
Какой язык программирования выбрать в качестве первого?

Последнее сообщение:
Gravatar for 2kokke
Kokke:
Python или JS - универсально. Но по уму надо бы с чего-то строгого начинать и достаточно низкоуровне...
1 сообщение
139 просмотров

Все категории