Логотип 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


Что такое промис и для чего он нужен?

Промис (Promise) — это объект, представляющий результат асинхронной операции, который может завершиться успешно (с результатом) или с ошибкой. Промисы помогают избежать "callback hell" и позволяют писать асинхронный код в более управляемой и линейной форме.

Подробнее

Расскажите про все методы Promise?

Основные методы промиса включают: then() — для обработки успешного выполнения, catch() — для обработки ошибок, finally() — для выполнения кода по завершению промиса, независимо от результата. Есть также методы Promise.all(), Promise.race(), Promise.allSettled() и Promise.any(), которые позволяют работать с несколькими промисами одновременно.

Подробнее

В чем различие между Observable и Promise? Где применяется каждый из этих паттернов?

Promise — это объект, который работает с одним значением или ошибкой, и его результат может быть получен только один раз. Он идеален для однократных асинхронных операций, таких как запросы к API. Observable позволяет работать с множественными значениями и управлять подписками на поток данных, что делает его полезным для событий, потоков данных или длительных операций. Основное различие — в многократности значений и возможностях управления потоком.

Подробнее

Объясните разницу между последовательным и параллельным выполнением асинхронных функций. Как работают Promise.all() и Promise.allSettled()?

Последовательное выполнение асинхронных функций означает, что каждая следующая функция начинается только после завершения предыдущей, тогда как параллельное выполнение позволяет нескольким функциям выполняться одновременно.

Метод Promise.all() запускает несколько промисов параллельно и возвращает результат, когда все они успешно завершатся, а Promise.allSettled() возвращает результат независимо от того, завершился ли каждый промис успехом или ошибкой.

Подробнее

Блокирует ли тяжелый код в Promise рендер страницы?

Да, блокирует. Promise не делает код асинхронным сам по себе — он лишь откладывает его выполнение. Если внутри промиса есть сложные вычисления (например, цикл), они будут выполняться в основном потоке и заморозят интерфейс.

Подробнее

Что такое Promise?

Почему async/await вместо Promises?

На смену чего пришли промисы и какие у них основные состояния?

Какие статические методы для работы с промисами есть?

Есть два параллельных запроса: один возвращает A, другой B. Как получить их результаты и объединить A и B, если нельзя использовать Promise.all?

  • Рейтинг:

    4

  • Сложность:

    4

Promise (Обещание) — это объект, который представляет результат асинхронной операции. Он может находиться в одном из трех состояний: ожидание (pending), успех (fulfilled) или ошибка (rejected). Промисы помогают избежать "ада колбэков" и делают код чище.

Подробнее
  • Рейтинг:

    2

  • Сложность:

    6

async/await делает асинхронный код:

  1. Читаемым (похож на синхронный).

  2. Удобным для отладки (стек вызовов не «разрывается»).

  3. Лёгким в обработке ошибок (через try/catch).

Подробнее
  • Рейтинг:

    3

  • Сложность:

    6

Промисы пришли на смену callback hell и предоставили более чистый способ работы с асинхронными операциями. Промис имеет три состояния: pending (ожидание), fulfilled (выполнено успешно) и rejected (выполнено с ошибкой). После перехода в fulfilled или rejected состояние промиса больше не меняется.

Подробнее
  • Рейтинг:

    2

  • Сложность:

    6

Основные статические методы Promise: Promise.all() для ожидания всех промисов, Promise.race() для первого завершившегося, Promise.allSettled() для всех результатов (успешных и неудачных), Promise.any() для первого успешного, Promise.resolve() и Promise.reject() для создания сразу resolved/rejected промисов.

Подробнее
  • Рейтинг:

    4

  • Сложность:

    6

Для объединения результатов двух параллельных запросов без Promise.all можно использовать: счетчик завершения, async/await с отдельными await, Promise.race для контроля времени, или ручное создание промисов с отслеживанием состояния. Также подходят библиотеки как RxJS или кастомная реализация механизма ожидания.

Подробнее
  • Рейтинг:

    5

  • Сложность:

    5

  • Рейтинг:

    5

  • Сложность:

    6

  • Рейтинг:

    3

  • Сложность:

    8

  • Рейтинг:

    3

  • Сложность:

    7

  • Рейтинг:

    3

  • Сложность:

    8