React Interview
Live-coding rooms
Совместное решение задач для собеседования — до 4 участников, у каждого свой редактор и песочница.
Источник задачи
Каталог
Своя
Задача
js-trivia / == и приведение типов
js-trivia / Hoisting: var vs let
js-trivia / Truthy и Falsy значения
js-trivia / Array.sort() без компаратора
js-trivia / NaN: сравнения и проверки
js-trivia / Оператор +: конкатенация vs арифметика
js-trivia / setTimeout в цикле: var vs let
js-trivia / typeof: неожиданные результаты
js-trivia / Оператор запятая
js-trivia / instanceof и цепочка прототипов
javascript / Debounce
javascript / Замыкание-счётчик
javascript / Promise.all полифил
javascript / Получение значения по пути
javascript / EventEmitter
javascript / Выравнивание массива
javascript / Глубокое клонирование
javascript / Мемоизация
javascript / Полифил bind
javascript / Каррирование
this-and-context / this в обработчиках DOM-событий
this-and-context / Стрелочная vs обычная функция: this
this-and-context / Вложенные функции и потеря this
this-and-context / Потеря this в методах класса
this-and-context / Потеря контекста this
this-and-context / Hoisting: объявление vs выражение функции
this-and-context / this в конструкторах: new vs обычный вызов
this-and-context / IIFE, замыкания и this
this-and-context / call, apply, bind: явная привязка this
this-and-context / Финальный босс: все правила this
react-refactoring / Разбить God-компонент Dashboard
react-refactoring / Composition вместо boolean-флагов
react-refactoring / Заменить множество useState на useReducer
react-refactoring / Убрать лишний derived state
react-refactoring / Поднять state вверх (lift state up)
react-refactoring / Исправить зависимости useEffect
react-refactoring / Вынести логику в кастомный хук useFetch
react-refactoring / Мемоизация там, где нужна
react-refactoring / Render props → кастомный хук
react-refactoring / Заменить prop drilling на React Context
refactoring / Switch → объект-маппинг
refactoring / Класс → функциональный стиль
refactoring / Нормализация данных
refactoring / Упрощение условий
refactoring / Выделение валидации
refactoring / Promise-цепочка → async/await
refactoring / DRY: обработчики формы
refactoring / Магические числа
refactoring / Выделение функций
refactoring / Чистый API-слой
async / myRace(promises)
async / debounceAsync(fn, delay)
async / asyncMap(items, fn, concurrency)
async / withTimeout(promise, ms)
async / sequential(tasks)
async / cancellable(promise)
async / delay(ms)
async / parallelLimit(tasks, limit)
async / retry(fn, retries)
async / AsyncQueue
typescript / Перегрузки функции createElement
typescript / FirstArg<T> через infer
typescript / Реализация MyReturnType<T>
typescript / Optional<T> через mapped types
typescript / Type guard для discriminated union
typescript / CSSProperty через template literal types
typescript / DeepReadonly<T>
typescript / Реализация MyPick<T, K>
typescript / Generic identity-функция
typescript / TupleToUnion<T>
algorithms / Анаграмма
algorithms / Палиндром
algorithms / Бинарный поиск
algorithms / Выпрямление объекта
algorithms / Two Sum
algorithms / Максимальная сумма подмассива
algorithms / Группировка массива
algorithms / FizzBuzz
algorithms / Разворот строки
algorithms / Разворот связного списка
react / Кастомный хук useDebounce
react / Хуки внутри условий — найди и исправь
react / Кастомный хук useFetch
react / Обработка данных из API
react / Лишние ре-рендеры из-за Context
react / Кастомный хук useToggle
react / Кастомный хук usePrevious
react / Кастомный хук useLocalStorage
react / Фильтрация пользователей из API
react / Оптимизация React.memo и useCallback
react / Uncontrolled → Controlled форма
react / Баг с key={index} в списке
react / Компонент Accordion
event-loop / Promise.reject и цепочка catch/then
event-loop / Лавина микротасок: queueMicrotask внутри queueMicrotask
event-loop / Конструктор Promise: executor выполняется синхронно
event-loop / Promise vs setTimeout: приоритет очередей
event-loop / Сложный микс: setTimeout, Promise, async/await, queueMicrotask
event-loop / Вложенные setTimeout и Promise внутри таймера
event-loop / Цепочка промисов и микротаски
event-loop / async/await: порядок выполнения
event-loop / Синхронный код vs setTimeout
event-loop / Финальный босс: полный хаос event loop
Ваш никнейм
Создать комнату