Специализация
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 в телеграм
Как разрулить “Process out of Memory Exception” в Node.js?
Ошибка “Process out of Memory” возникает при превышении лимита памяти для процесса Node.js. Решить проблему можно с помощью оптимизации кода, управления памятью и увеличения лимита памяти с флагом --max-old-space-size.
Что такое exception? Когда они применяются? Как вызвать exception? Как отловить exception?
Исключения (exceptions) — это специальные объекты, сигнализирующие об ошибке. Они применяются для управления неожиданными ситуациями. Исключение можно вызвать с помощью метода raise и отловить с помощью блока begin-rescue.
Есть ли в Go исключения (exception)?
В Go нет исключений в привычном смысле. Вместо них используется возвращение ошибок из функций. Для критических ситуаций предусмотрены panic и recover.
Как избежать ConcurrentModificationException при удалении элементов из коллекции во время итерации?
Используйте:
Iterator.remove().
Копирование коллекции (new ArrayList<>(list)).
Потокобезопасные коллекции (ConcurrentHashMap).
Почему автовайринг через конструктор предпочтительнее автовайринга полей? (риск NullPointerException)
Автовайринг через конструктор предпочтителен, потому что:
Гарантирует, что объект создается только с валидными зависимостями (нет NullPointerException).
Упрощает тестирование, так как зависимости можно явно передать в конструктор.
Делает код более прозрачным, так как все обязательные зависимости видны сразу.
Возможно ли ConcurrentModificationException в однопоточном коде? Причины.
Как организовать обработку исключений (Exception Handling) в микросервисах?
Для чего нужны исключения (exceptions), их плюсы и минусы по сравнению с возвратом объектов-результатов?
В чём недостатки построения error-handling на основе .NET Exception?
Как можно избежать использования exceptions? Какой альтернативный подход применить? (подсказка: Result Pattern)
Рейтинг:
1
Сложность:
6
Да, это исключение может возникать в одном потоке при изменении коллекции во время итерации (например, через for-each).
Рейтинг:
2
Сложность:
7
Обработка исключений в микросервисах требует единого подхода для всех сервисов. Используются глобальные обработчики исключений (@ControllerAdvice), стандартизированные форматы ошибок (Problem Details for HTTP APIs), корреляционные идентификаторы для отслеживания запросов через сервисы, и паттерны устойчивости (retry, circuit breaker). Важно различать бизнес-исключения и системные ошибки, обеспечивая понятные сообщения для клиентов.
Рейтинг:
3
Сложность:
7
Исключения используются для обработки ошибок и нештатных ситуаций в программе. Их главное преимущество — отделение нормального потока выполнения от обработки ошибок. Плюсы включают чистоту кода и автоматическое распространение ошибок по стеку вызовов. Минусы — сложность отслеживания потока выполнения и потенциальные проблемы с производительностью при частом использовании.
Рейтинг:
4
Сложность:
7
Исключения в .NET — это медленный механизм для нестандартных ситуаций. Их использование для обработки ожидаемых ошибок (например, "игрок не найден" или "нехватка ресурсов") создает чрезмерную нагрузку на производительность и приводит к размыванию логики, так как код обработки бизнес-ошибок смешивается с кодом для критических сбоев.
Рейтинг:
4
Сложность:
6
Основная альтернатива — это Result Pattern (паттерн результата). Вместо выброса исключения метод возвращает специальный объект Result, который явно содержит информацию об успехе или неудаче операции. Этот объект можно проверить, и в случае ошибки обработать её, не тратя ресурсы на генерацию исключения. Это делает поток выполнения очевидным и эффективным.
Рейтинг:
5
Сложность:
7
Рейтинг:
2
Сложность:
7
Рейтинг:
2
Сложность:
6
Рейтинг:
2
Сложность:
6
Рейтинг:
1
Сложность:
5