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


Как обрабатывать ошибки в JavaScript?

В JavaScript ошибки обрабатываются с помощью блока try...catch. В блоке try размещается код, который может вызвать ошибку, а в блоке catch — инструкции для обработки этой ошибки. Также можно использовать finally, чтобы выполнить код независимо от того, возникла ошибка или нет. Обработку ошибок можно расширить с помощью кастомных ошибок.

Подробнее

Что содержит объект ошибки?

Объект ошибки в JavaScript содержит информацию, которая помогает диагностировать проблемы. Ключевые свойства объекта ошибки — это name (тип ошибки), message (текст ошибки) и stack (трассировка вызовов, ведущих к ошибке). Эти данные полезны для выявления причины ошибки и её устранения.

Подробнее

Что такое деоптимизация кода? Какие ошибки могут вызвать деоптимизацию?

Деоптимизация кода — это процесс, при котором JavaScript-движок отменяет оптимизации, примененные к функциям или участкам кода. Это может произойти из-за изменений в структуре данных, использования динамически изменяемых свойств или вызова функций в необычных контекстах. Например, если функция начинает работать с разными типами данных, движок может вернуть её к более медленному методу выполнения.

Подробнее

Для чего используется директива use strict в JavaScript и как она влияет на код?

Директива use strict активирует строгий режим в JavaScript, который помогает писать более безопасный и предсказуемый код. Она предотвращает использование небезопасных или устаревших возможностей языка, таких как автоматическое создание глобальных переменных.

Строгий режим помогает быстрее находить ошибки и улучшает производительность в некоторых случаях.

Подробнее

Чем по смыслу отличаются 400 и 500 ошибки HTTP?

  • 400-е ошибки (например, 400 Bad Request, 404 Not Found) означают, что проблема на стороне клиента (неправильный запрос, отсутствие страницы и т. д.).

  • 500-е ошибки (например, 500 Internal Server Error, 502 Bad Gateway) означают, что сервер не смог обработать корректный запрос из-за своей ошибки.

Подробнее

Как перехватить JS ошибки на странице?

Можно ли создать собственный тип ошибки (custom error type)? Как?

Какие типы ошибок позволяет отлавливать TypeScript?

Как сделать так, чтобы TypeScript ругался на несуществующий ключ объекта?

Какие ошибки чаще всего допускают при работе с зависимостями useEffect?

  • Рейтинг:

    4

  • Сложность:

    6

Для перехвата ошибок используют:

  • try/catch — для синхронного кода.

  • window.onerror или addEventListener('error') — для глобальных ошибок.

  • Promise.catch() — для асинхронного кода (например, fetch).

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

    3

  • Сложность:

    5

Да, можно создать собственный тип ошибки. Для этого нужно создать класс, который наследуется от встроенного класса Error, и добавить необходимые свойства и методы. В конструкторе обязательно нужно вызвать super() и установить Object.setPrototypeOf(this, CustomError.prototype) для правильной работы instanceof.

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

    5

  • Сложность:

    5

TypeScript отлавливает ошибки типов на этапе компиляции. Он предотвращает неправильное использование переменных, функций и объектов. Также помогает избежать undefined и null-ошибок. Многие runtime-ошибки превращаются в compile-time. Это снижает количество багов в продакшене.

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

    5

  • Сложность:

    6

Чтобы TypeScript ругался на несуществующий ключ, нужно ограничить ключи через keyof и не использовать тип string или any. Если ключ типизирован как keyof T, компилятор разрешит доступ только к реально существующим свойствам объекта. Любая попытка передать невалидный ключ вызовет ошибку на этапе проверки типов. Это основной механизм типобезопасного доступа к объектам.

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

    5

  • Сложность:

    7

Чаще всего забывают добавлять зависимости, что приводит к устаревшим данным, или наоборот — добавляют лишние, вызывая лишние эффекты. Также распространена ошибка с функциями и объектами, которые пересоздаются на каждом рендере. Всё это может приводить к race condition и багам, которые сложно отлаживать. Правильная работа с зависимостями — один из ключевых навыков React-разработчика.

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

    4

  • Сложность:

    5

  • Рейтинг:

    2

  • Сложность:

    5

  • Рейтинг:

    1

  • Сложность:

    8

  • Рейтинг:

    2

  • Сложность:

    4

  • Рейтинг:

    3

  • Сложность:

    6