Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React 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