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


Войдите, чтобы использовать вопросы
и провести собеседование.

Вопросы на нативный JS
Типы данных в JS
Методы call и apply. Что делают, в чём различие?
Что делает оператор typeof?
Что такое "всплытие" или "hoisting" в javascript?
Что такое function declaration и function expression? В чём их различия?
Что такое prototype в JavaScript?
Что такое proto в JavaScript?
На чём завершается цепочка прототипов в JavaScript?
Что делают методы toString и valueOf? Когда они вызываются? У каких типов данных есть эти методы?
Какие значения в JavaScript преобразовываются в false?
Как можно создать копию объекта?
В чём разница между var, let и const?
Как передаются значения в функции? Что означает передача по ссылке?
Что такое стрелочные функции? В чём их отличие от обычных функций?
Что такое this в: * обработчиках событий * в методах объектов * в свойствах объектов * в классах
Что такое IIFE (мгновенно вызываемое функциональное выражение - (function() {})() )? Какую проблему она решает?
Знаете ли вы про методы: * Object.create * Object.freeze * Object.assign * Object.defineProperty * Object.defineProperties
Как объявить класс в JavaScript на es5 и на es6?
Что такое делегирование событий?
Чем отличаются методы получения элементов начинающихся семейства getElements от querySelectorAll?
Чем отличаются функции setTimeout и setInterval?
Как очистить интервал или таймер?
Какую проблему решает функция последовательно вызывающая один и тот же setTimeout если сопоставлять его с setInterval?
Что такое event loop, task, microtask?
Какие есть способы создать Promise?
Как устроено наследование в javascript?

Вопросы по react
Для чего нужен React?
Чем отличается библиотека от фреймворка?
За счёт чего такой быстрый?
Отличие элемента от компонента?
Что такое VirtualDOM?
Почему названия компонентов пишутся с заглавной буквы?
Как реакт отличает компоненты React от обычных html элементов?
В чём отличие между расширениями файлов js и jsx?
key, для чего он нужен?
Во что превращается JSX?
Почему нужно импортировать React в файл, даже если сама эта переменная не используется?
Отобразятся ли на странице {true} или {false}?
Какие есть ограничения имён свойств, передаваемых в react компоненты?
Какие есть минусы в использовании spread оператора при передачи всех свойств объекта в компонент?
Чем отличается функциональные компоненты от классовых?
Почему нельзя изменять состояние на прямую через this.state?
Какие есть методы жизненного цикла существуют?
React.Children.map для чего он нужен? Почему мы не можем использовать обычный map?
Как скопировать элемент?
Что такое HOC?
Что такое Context?
Функция compose
defaultProps что это?
propTypes для чего нужен?
Какие есть хуки?
Можно ли написать свой собственный хук?
useState
useEffect (componentDidMount, componentWillUnmount, componentDidUpdate)
useContext
useCallback и useMemo
Можем ли обернуть хуки в условие?
Для чего нужен react-router?
Как ограничить отображение роутига?
Что такое Redux и для чего он нужен?
Зачем нужен Action, Reducer и State?
Что такое чистая функция?
Что такое иммутабельность? Как её обеспечить?
Что такое Store Enhancer?
Что такое Middleware?
Что такое redux-thunk?

Вопросы по TypeScript
Для чего нужен TS?
Какие проблемы позволяет решать?
Чем отличается работа обычного компилятора от компилятора TypeScript?
На какие две группы в целом подразделяются системы типов? В чём преимущества TS перед другими языками?
Что делает JS при попытке выполнить сложение двух значений не совпадающих типов?
Что делает TS при попытке выполнить сложение двух значений не совпадающих типов?
Где происходит настройка TS для проекта?
Что такое тип?
Указание типа аргумента функции ограничивает или расширяет количество принимаемых функцией значений?
Почему следует избегать использование типа any?
Какие операторы помогают уточнять(сужать) типы?
Что такое литерал типа?
Способы типизации (примеры)
Чем структурная типизация отличается от номинальной? Какая используется в TS?
Почему следует избегать использования пустого литерала - {} - при объявлении объекта?
Что такое псевдонимы типов? Вывод псевдонимов? Выводит ли TS псевдонимы типов?
Какие есть способы сделать массив или тьюпл неизменяемым?
Для чего нужен тип never?
Для чего нужен тип void?
Какие проблемы позволяет решать?
Что такое контекстная типизация?
Для чего помечать свойство как readonly? Порождает ли компилятор при использовании readonly javascript код, который физически запрещает изменять значения свойств? А как запретить изменение свойств на уровне JS?
Что такое абстрактный метод?
В чём отличия между типами и интерфейсами?
В чем отличие абстрактных классов от интерфейсов
Как работать с ошибками в TS?
В чём проблемы подхода с выбросом исключений?
Что такое декларации типов? Для чего используется ключевое слово declare? Чем отличаются файлы .ts и .d.ts?
Что делает оператор O[k] в случае типов? Для чего используется конструкция [K in O]?