Вопросы:
React JSX #1 // Основы React
01 Введение в React
- Что такое React?
- Перечислите особенности React?
- Назовите преимущества использования React?
- Разница между React и ReactDOM?
- Что такое VirtualDOM и зачем он нужен?
- Что такое React Reconciliation?
- Что такое JSX? Можем ли мы использовать React без JSX?
- JSX, условный рендеринг, работа с коллекциями?
- Разница между createElement() и cloneElement(). Что такое React.isValidElement(object)?
- Как добавить React на страницу?
- Что такое строгий режим в React? Его преимущества?
- Разница между элементом и компонентом?
- Почему названия компонентов должны начинаться с заглавной буквы? Что такое пространство имён в React?
- Как создать компонент в React?
- Можно ли приложение на React встроить в другое приложение на React?
02 Базовые концепции
- Разница между DOM и VirtualDOM?
- Что такое ReactDOMServer?
- Разница между теневым (Shadow) и виртуальным (Virtual) DOM?
- Какие типы данных может возвращать render? Что такое Render Props?
- Можно ли использовать React без рендеринга HTML?
- Что такое Props?
- Что произойдет, если вы используете props в исходном состоянии?
- Что такое children в props?
- Что такое «бурение пропсов» (Prop Drilling)?
- Что такое Code Splitting? Что такое «ленивая» функция? Что такое Suspense?
- Как React обрабатывает, или ограничивает использование пропсов определенного типа?
- Для чего нужен атрибут key при рендере списков?
03 Состояния и события
- Что такое синтетические события (SyntheticEvent)? Что такое event.persist()?
- Как отрендерить HTML код в React-компоненте? Что такое dangerouslySetInnerHTML?
- Разница между состоянием(state) и пропсами(props)?
- Что делает setState?
- Как вы обновляете объект состояния в React?
- Почему мы не должны обновлять состояние напрямую?
- Как выполнить действие с новым состоянием стейта после setState?
- Что такое поднятие состояния вверх (Lifting State Up)?
- Как в React реализовать двустороннее связывание данных? Что такое управляемые компоненты?
- Можете ли вы принудительно выполнить повторный рендеринг компонента без вызова setState?
- Разница между управляемыми (controlled) и не управляемыми (uncontrolled) компонентами?
- Что такое фрагмент (Fragment)? Почему фрагмент лучше, чем div?
04 Инструменты проверки кода
React JSX #2 // Жизненный цикл и API
01 Работа с API
- Что такое AJAX?
- Плюсы и минусы использовании AJAX?
- Что такое XMLHttpRequest?
- Отладка AJAX?
- AJAX и обращение к API?
- Что возвращает fetch? Как получить содержимое ответа? Как обрабатывать ошибки?
- Как вы обрабатываете асинхронные действия в React приложении? Назовите отличия axios и fetch
- Что такое AbortController() ?
02 Жизненный цикл
- Разница между классовым и функциональным компонентами?
- В чем разница между super() и super(props) в React с использованием классов ES6?
- Какова цель использования суперконструктора с аргументом props?
- Что произойдет, если вы используете setState() в конструкторе?
- Опишите, как в React обрабатываются события?
- Как привязать методы или обработчики событий в обратных вызовах JSX?
- Как условно применить атрибуты класса?
- Как создавать элементы в цикле в React?
- Что такое жизненный цикл компонента? В какой метод какие аргументы приходят? Где и как лучше обновлять стейт?
- Методы жизненного цикла компонента в React?
- Хорошо ли использовать setState() в методе componentWillMount()?
- Разница между рендерингом и монтированием?
- Что такое shouldComponentUpdate()?
- Оптимизация производительности? Что такое PureComponent?
- Работа с таймерами?
- Для чего предназначен метод registerServiceWorker() в React?
- Можете ли вы рассказать о преимуществах использования React Context API?
- Что такое React-ссылка (ref)?
- Что такое предохранители (Error Boundaries)?
- Что такое портал (Portal)?
React JSX #3 // Hooks
01 Основы React Hooks
- Что такое React хуки (Hooks)?
- Преимущества хуков?
- Недостатки хуков?
- Правила (ограничения) использования хуков?
- Что такое хук useState() ?
- Что такое Batching?
- Что такое хук useEffect()?
- Как реализовать однократное выполнение операции при начальном рендеринге?
- Разница между useEffect() и componentDidMount()?
- Разница между useEffect() и useLayoutEfffect() ?
- Что такое хук useRef()?
- Что такое forwardRef()?
- В чем разница между createRef() и useRef() ?
- Что такое хук useReducer() ?
- Расскажите о хуках useCallback() и useMemo()?
- Разница между memo() и useMemo() ?
- Как предотвратить повторный рендеринг в React?
- Что такое useContext() ?
- Что такое Компонент высшего порядка (Higher-Order Component)?
- Полиморфные React компоненты
- Асинхронное получение данных и вывод в виде динамического списка?
- Что такое «опрос» (Polling)? Как его реализовать в React?
- Что такое инверсия наследования (Inheritance Inversion)?
02 Продвинутое использование React Hooks
- Что такое хук useImperativeHandle() ?
- Что такое хук useDeferredValue() ? Какие изменения произошли в React19 ?
- Что такое хук useId() ? Как его можно использовать ?
- Что такое хук useTransition() ?
- Actions в React19
- Что такое хук useActionState() ?
- Что такое хук useFormStatus() ?
- Что такое хук useOptimistic() ?
- Какую функцию выполняет API use() в React19 ?
- Как вы создаёте кастомные хуки?
03 React Routing
- Что такое React-routing?
- Как вы обрабатываете роутинг на стороне клиента в приложении React?
- Чем React Router отличается от обычной маршрутизации?
- Что такое компонент-переключатель (Switching Component)?
- Как передавать пропсы в React Router?
- Какие хуки были добавлены в React Router версии 5?
- React Router и Redux-Router. Что? Зачем? Почему?
- Как вы получаете доступ к параметрам запроса с помощью React Router?
04 Продвинутый DOM и техники оптимизации Performance
- С какой версии React пользуешься и какие крупные изменения за это время произошли?
- Какие ломающие изменения произошли в 16 версии?
- Что такое React Fiber?
- Назовите основную цель React Fiber?
- Что такое Concurrent Mode ?
- Является ли React реактивным?
- Что такое OffScreen API в React18 ?
- Когда данные нуждаются в изменении и происходит ререндер состояния?
- Preload в React19
- Поддержка рендеринга тегов метаданных, стилей и async scripts в React19
- Что такое CSS-modules? Что такое styled-components?
- Что такое React-миксины?
- Что такое React Profiler и для чего он используется?
- Оптимизация React-приложений. Как измерить производительность программы?
- Техники оптимизации перфоманса React
- Можете ли вы описать ситуацию, когда вам пришлось оптимизировать React приложение, чтобы повысить его производительность? Как вы это сделали?
- Как вы укажите React работать в режиме Production и как это сделать?
05 Остальные вопросы
-
Что такое React Native? Зачем оно? В чём отличия от обычного React?
-
Как вы справляетесь с управлением состоянием в большом React приложении?
-
Можете ли вы описать, как бы вы реализовали пагинацию в приложении React?