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


Как работают fallback-механизмы в HTML5 для старых браузеров и какие техники следует применять для кроссбраузерной совместимости?

HTML5 предлагает новые теги и функции, которые не всегда поддерживаются старыми браузерами. Чтобы страницы корректно работали в таких браузерах, используются fallback-механизмы — альтернативный контент или теги, которые подхватываются, если основной функционал недоступен. Например, для видео можно использовать элемент <object> или ссылку для скачивания файла, если <video> не поддерживается. Для кроссбраузерной совместимости также применяются полифилы и шимы — скрипты, добавляющие поддержку современных функций в старых браузерах.

Подробнее

Есть ли у стрелочной функции методы call, apply и bind?

Стрелочные функции могут использовать методы call, apply и bind, но эти методы не изменяют контекст this внутри стрелочной функции. В отличие от обычных функций, стрелочные функции наследуют значение this из своей внешней области видимости (лексический контекст), и методы call, apply и bind не могут его изменить.

Подробнее

Методы call, apply, bind — для чего они нужны?

Методы call и apply позволяют вызвать функцию с заданным значением this, но call передаёт аргументы через запятую, а apply — в виде массива. Метод bind возвращает новую функцию с фиксированным значением this, которая может быть вызвана позже. Эти методы полезны для контроля контекста выполнения функции, особенно при работе с методами объектов.

Подробнее

Для чего нужны callback и что такое Callback Hell?

Колбэк (callback) — это функция, которая передается другой функции в качестве аргумента и вызывается позже, когда произойдет какое-то событие или завершится операция. Проблема "Callback Hell" возникает, когда функции начинают вкладываться друг в друга слишком глубоко, что делает код трудночитаемым и сложным для поддержки.

Подробнее

Отличие useMemo от useCallback.

useMemo и useCallback оба предназначены для оптимизации производительности в React, но служат разным целям. useMemo запоминает вычисленные значения, а useCallback запоминает функции. Это позволяет избежать лишних вычислений и создания функций при каждом рендере компонента.

Подробнее

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

Что такое маршруты-заглушки (fallback routes), и как их реализовать?

Для чего нужны useMemo и useCallback? Как работает мемоизация?

Где хранить кэшированные данные? (LocalStorage, IndexedDB). Что делать, если IndexedDB не поддерживается?

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

  • Рейтинг:

    3

  • Сложность:

    7

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

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

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

    2

  • Сложность:

    6

Маршруты-заглушки обрабатывают ситуации, когда запрашиваемый маршрут не существует. Они реализуются с помощью маршрута * и позволяют показывать страницу ошибки или редиректить на основной маршрут.

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

    2

  • Сложность:

    7

  • useMemo: Кэширует результат вычислений, пересчитывая только при изменении зависимостей.

  • useCallback: Кэширует функцию, предотвращая её пересоздание.
    Оба помогают избежать лишних ререндеров.

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

    3

  • Сложность:

    7

Для кэширования данных используйте LocalStorage для небольших текстовых данных (до 5MB), IndexedDB для больших объемов и сложных структур. Если IndexedDB не поддерживается, можно использовать LocalStorage как fallback, либо реализовать полифилл для IndexedDB. Для совсем старых браузеров можно использовать cookies или серверное хранение.

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

    4

  • Сложность:

    6

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

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

    1

  • Сложность:

    6

  • Рейтинг:

    3

  • Сложность:

    5

  • Рейтинг:

    4

  • Сложность:

    6

  • Рейтинг:

    5

  • Сложность:

    6

  • Рейтинг:

    5

  • Сложность:

    7