Собеседование Frontend (React) - вопросы и подготовка
Этот набор карточек создан для тех, кто готовится к собеседованию на позицию Frontend-разработчика с фокусом на React. Здесь собраны часто задаваемые вопросы, которые помогут систематизировать знания и уверенно чувствовать себя на интервью. В набор входят: - основы JavaScript и современные возможности ES6+; - ключевые концепции React: компоненты, хуки, состояние, контекст; - оптимизация производительности и работа с жизненным циклом компонентов; - управление состоянием (Redux, Context API и альтернативы); - работа с API и асинхронными запросами; вопросы по HTML, CSS и адаптивной верстке, которые часто встречаются на фронтенд-собеседованиях. Карточки подойдут как начинающим разработчикам, так и опытным специалистам, которые хотят освежить знания перед собеседованием. Благодаря структурированным вопросам и ответам, подготовка станет более быстрой и эффективной.
React
Что такое React?
Что такое React?
Что такое JSX?
Какие основные преимущества использования React?
Какие основные различия между компонентами классов и функциональными компонентами в React?
Что такое Virtual DOM, и как он работает?
Какие методы жизненного цикла компонентов вы знаете?
Что такое "состояние" (state) компонента в React?
Как обновить состояние компонента?
Что такое пропсы (props) в React?
В чем разница между состоянием и пропсами?
Вопрос: Как передать данные между компонентами вверх и вниз по иерархии?
Что такое условный рендеринг в React?
Как обрабатывать события в React?
Как выполнить HTTP-запросы в React?
Что такое контекст (context) в React и для чего он используется?
Как реализовать PureComponent?
Как использовать стили в React-компонентах?
Что такое ключи (keys) в списках React-элементов и зачем они нужны?
Что такое «неуправляемые компоненты» (uncontrolled components)?
Что такое «управляемые компоненты» (controlled components)?
Как создать форму в React?
Что такое «подъем состояния» (lifting state up)?
Как реализовать условное добавление класса к элементу в React?
Что такое фрагменты (fragments) в React?
Что такое HOC (Higher-Order Component) в React?
Каким образом можно оптимизировать производительность React-приложения?
В чем разница между HOC и компонентами рендер-пропсов (render props)?
Что такое рефы (refs) в React и как они используются?
Как реализовать анимацию в React-приложении?
Как реализовать lazy loading в React с использованием Suspense?
Что такое порталы (portals) в React?
Как работает механизм «контекста» (context) для передачи данных?
Как создать собственный хук в React?
Какие нововведения были добавлены в React 16?
Как использовать React DevTools для отладки приложения?
Что такое «хуки» (hooks) в React и для чего они используются?
Как обрабатывать ошибки в React-приложении с помощью Error Boundary?
Какие популярные библиотеки для управления состоянием вы знаете, помимо встроенного useState?
Как работает алгоритм согласования (reconciliation) в React?
Каким образом можно оптимизировать рендеринг компонентов в React?
Что такое «глубокое сравнение» (deep comparison) в контексте оптимизации производительности React?
Как использовать memoization для оптимизации компонентов?
Как работает библиотека React Router?
Какие паттерны использования Redux вы знаете?
Как реализовать асинхронную загрузку компонентов с помощью React Router?
Что такое SSR (Server-Side Rendering) и как он отличается от CSR (Client-Side Rendering)?
Какие преимущества дает использование Redux для управления состоянием приложения?
Что такое Redux Thunk?
Что такое «нормализация состояния» (state normalization) в контексте управления состоянием приложения?
Как реализовать ленивую загрузку Redux-редьюсеров?
Как работает Redux Saga?
Как создать анимированный переход между страницами с помощью React Router?
Что такое Styled Components, и как оно используется?
Как работает CSS-модули (CSS Modules) в React?
Как передать данные с сервера на клиент при использовании SSR в React?
Какие преимущества и недостатки имеют функциональные компоненты по сравнению с компонентами классов?
Какие особенности имеют хуки useEffect и useLayoutEffect?
Что такое CSS Grid и как его использовать в React?
Что такое CSS-in-JS, и какие библиотеки вы знаете для реализации этой концепции в React?
Как обновить состояние компонента после выполнения асинхронной операции?
Как реализовать аутентификацию и авторизацию в React-приложении?
Как работает маршрутизация на стороне клиента в React?
Что такое "code splitting" (разделение кода) в React?
Как управлять состоянием между компонентами, не имеющими близкой связи?
Как работает «ленивая загрузка» (lazy loading) компонентов в React?
Какие средства предоставляет React для тестирования компонентов?
Как реализовать drag-and-drop функциональность в React-приложении?
Что такое «синтетические события» (synthetic events) в React?
Как организовать переиспользование компонентов в React?
Что такое «высоконагруженные компоненты» (имелись в виду компоненты высшего порядка, Higher-Order Components) и как их создать?
Какие принципы следует соблюдать при именовании компонентов в React?
Как реализовать анимацию переходов между компонентами в React Router?
Как реализовать модальное окно в React-приложении?
Что такое «глубокий перенос состояния» (deep state transfer) в React?
Что такое SSR (Server-Side Rendering) и зачем его использовать?
Какие преимущества дает использование CSS-модулей (CSS Modules)?
Что такое «виртуализация списка» (list virtualization) и как она реализуется в React?
Что такое «консилиация» (reconciliation) в контексте React?
Как реализовать include компонентов в React?
Как обрабатывать формы в React?
Какие существуют альтернативы Redux для управления состоянием в React-приложениях?
Как работает «горячая замена модулей» (Hot Module Replacement) в среде разработки React‑приложений?
Как реализовать связывание данных (data binding) в React?
Что такое "мемоизация" (memoization) и как она может быть применена в React?
Какие методы жизненного цикла были убраны в React 16?
Как реализовать перетаскивание (drag-and-drop) элементов в React-приложении?
Что такое "вычисляемые свойства" (computed properties) в контексте React?
Что такое «передача данных через контекст» (context passing) в React?
Что такое «рендер-пропсы» (render props) и как они используются?
Как работает «ленивая загрузка» (lazy loading) сторонних библиотек в React?
Что такое «реактивное программирование» (reactive programming) в контексте React?
Как реализовать «ленивую загрузку» (lazy loading) изображений в React?
Что такое «инкапсуляция состояния» (state encapsulation) в React?
Как обрабатывать ошибки при использовании хуков (hooks) в React?
Как обновить состояние компонента после изменения props?
Что такое стабильные идентификаторы (stable keys) и зачем они нужны в React?
Что такое «компоненты высшего порядка» (Higher-Order Components, HOC) в React?
Как реализовать анимированный переход между компонентами в React Native?
Что такое «реактивный поток данных» (reactive data flow) в контексте React?
Какие есть паттерны для работы с асинхронностью в React?