Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Специализация

Python Backend Developer

Java Backend Developer

Node.js Backend Developer

Golang Backend Developer

React Frontend Developer

Посмотреть все

Выберите навыки

React

React

JavaScript

JavaScript

Git

Git

Redux

Redux

Webpack

Webpack

Посмотреть все

Сложность

1-3

4-6

7-8

9-10

Рейтинг вопросов

1

2

3

4

5

Подпишись на React Developer в телеграм

Вопросы React Frontend Developer


Что такое Distributive Conditional Types в TypeScript?

Distributive Conditional Types — это условные типы, которые автоматически распределяются по элементам union-типа. Это мощный механизм для трансформации типов в более гибкие и детализированные конструкции.

Подробнее

Где могут быть полезны Conditional Types?

Conditional Types (условные типы) в TypeScript позволяют определять типы, которые выбираются на основе условия, проверяющего другие типы. Они чрезвычайно полезны для создания общих (generic) утилит, которые динамически адаптируются к переданным им типам. Классические примеры — это типы Exclude<T, U>, Extract<T, U>, NonNullable<T>, а также для определения типов возвращаемого значения функций или типов свойств в глубоко вложенных структурах.

Подробнее

Что такое race condition при запросах?

Race condition — это ситуация, когда несколько запросов выполняются параллельно, и результат более медленного запроса перезаписывает результат более быстрого. В итоге состояние приложения может оказаться некорректным. Это часто происходит при быстрых изменениях параметров запроса. Проблема связана не со скоростью сети, а с порядком завершения запросов.

Подробнее

Как возникает race condition в React?

Race condition в React возникает, когда несколько асинхронных запросов выполняются параллельно и обновляют одно и то же состояние. React не знает, какой запрос является “последним” или актуальным. В результате более старый запрос может завершиться позже и перезаписать более свежие данные. Это приводит к отображению устаревшей информации в UI.

Подробнее

Как cleanup-функция помогает решить race condition?

Cleanup-функция в useEffect позволяет отменить или игнорировать результат старого запроса, когда эффект больше не актуален. Она вызывается перед повторным запуском эффекта или при размонтировании компонента. Благодаря этому устаревшие запросы не могут обновить состояние. Это один из базовых способов защиты от race condition.

Подробнее

Почему код с callback может работать некорректно в асинхронном контексте?

Какие проблемы могут возникать при работе с асинхронным обновлением состояния?

Как решить проблему race condition при отправке запросов из input?

  • Рейтинг:

    4

  • Сложность:

    3

Callback-функция может работать некорректно в асинхронном контексте из-за замыканий и состояния гонки. Если callback использует переменные из внешней области видимости, их значение может измениться до вызова callback, так как асинхронная операция завершится позже. Например, в цикле с асинхронными вызовами все callback могут получить одно и то же значение последней итерации. Это происходит из-за того, что переменная цикла изменяется синхронно, а callback вызываются асинхронно.
Подробнее
  • Рейтинг:

    4

  • Сложность:

    5

При асинхронном обновлении состояния в React могут возникать проблемы с устаревшими данными, когда замыкание захватывает старое значение. Также возможны race conditions, если несколько асинхронных операций обновляют состояние одновременно. Для решения нужно использовать функциональную форму setState или useReducer.
Подробнее
  • Рейтинг:

    4

  • Сложность:

    5

Race condition возникает, когда несколько асинхронных запросов отправляются последовательно, но ответы приходят в другом порядке. Это приводит к отображению устаревших данных. Решение — использовать debounce для задержки отправки запроса до завершения ввода, а также отменять предыдущие запросы с помощью AbortController или проверять актуальность ответа по идентификатору запроса.
Подробнее
  • Рейтинг:

    4

  • Сложность:

    8

  • Рейтинг:

    4

  • Сложность:

    8

  • Рейтинг:

    4

  • Сложность:

    7

  • Рейтинг:

    5

  • Сложность:

    7

  • Рейтинг:

    5

  • Сложность:

    8