Специализация
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 в телеграм
Объекты exports, require и module глобально доступны в каждом файле, но каждый файл имеет их собственные экземпляры. Как такое возможно?
Объекты exports, require и module не являются настоящими глобальными объектами. Node.js оборачивает каждый модуль (файл) в функцию-обертку, которая предоставляет каждому файлу его собственные версии этих объектов. Это изолирует модули друг от друга.
Почему внедрение зависимостей через конструктор (@RequiredArgsConstructor) предпочтительнее, чем @Autowired в поле? Какие проблемы решает?
Внедрение через конструктор делает зависимости явными, класс — иммутабельным и упрощает тестирование. @Autowired в поле скрывает зависимости, усложняет мокирование и может привести к NullPointerException, если Spring не инициализирует поле.
Что такое required инициализатор и когда он нужен?
required инициализатор — это инициализатор, который обязаны реализовать все подклассы. Он гарантирует, что каждый наследник поддерживает определённый способ создания объекта. Чаще всего используется в иерархиях классов и при работе с протоколами. Компилятор не позволит забыть его реализацию. Это повышает безопасность и предсказуемость кода.
Что произойдёт при REQUIRES_NEW?
При REQUIRES_NEW текущая транзакция приостанавливается, и создаётся новая. Внутренний метод выполняется полностью независимо. Его commit или rollback не влияет на внешнюю транзакцию. После завершения внутренняя транзакция закрывается, и внешняя продолжается. Это используется для изолированных операций.
Рейтинг:
4
Сложность:
6
Рейтинг:
2
Сложность:
6
Рейтинг:
4
Сложность:
6
Рейтинг:
5
Сложность:
7