Специализация
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 для этого можно использовать функцию-конструктор или класс. Конструктор должен быть вызван с ключевым словом new, что создает новый объект, связывая его с прототипом конструктора.
Как проверить, является ли объект экземпляром определенного класса (функции-конструктора)?
Для проверки, является ли объект экземпляром определенного класса или функции-конструктора, используется оператор instanceof. Он проверяет, есть ли в цепочке прототипов объекта ссылка на прототип конструктора.
Почему не рекомендуется использовать конструкторы, такие как new String, в JavaScript?
Использование конструкторов, таких как new String или new Number, не рекомендуется, так как они создают объект вместо примитива. Объекты ведут себя иначе, чем примитивные типы данных, и могут приводить к неожиданным результатам в сравнении и других операциях. Примитивные значения (например, строки или числа) следует использовать напрямую без конструкторов.
Что такое конструктор класса / Как создается объект?
Конструктор класса — это специальный метод __init__, который вызывается при создании нового объекта. Он используется для инициализации атрибутов объекта и выполнения других начальных действий.
Что такое конструкторы? Какие типы знаете?
Конструкторы — это специальные методы, используемые для создания и инициализации объектов. Основные типы: конструктор по умолчанию, пользовательский (с параметрами) и копирующий конструктор.
Объясните, что такое конструкторы с безопасными типами в Kotlin.
Что такое цепочка конструкторов в C#?
Чем sealed-классы отличаются от enum-классов, и как у них работают конструкторы?
Почему внедрение зависимостей через конструктор (@RequiredArgsConstructor) предпочтительнее, чем @Autowired в поле? Какие проблемы решает?
Почему автовайринг через конструктор предпочтительнее автовайринга полей? (риск NullPointerException)
Рейтинг:
2
Сложность:
6
Type-Safe Builders позволяют создавать DSL с использованием функций-расширений и лямбд. Они обеспечивают безопасное построение сложных структур данных на этапе компиляции, повышая читаемость и предотвращая ошибки.
Рейтинг:
2
Сложность:
5
Цепочка конструкторов (constructor chaining) позволяет одному конструктору вызывать другой внутри одного класса с помощью this. Это сокращает дублирование кода.
Рейтинг:
2
Сложность:
6
enum class задаёт фиксированный набор однотипных констант без полей состояния, тогда как sealed class позволяет иметь произвольные подклассы с параметризованными конструкторами и собственной логикой. У enum конструктор ограничен перечислением констант, а у sealed каждый подкласс может иметь свой конструктор и свойства.
Рейтинг:
2
Сложность:
6
Внедрение через конструктор делает зависимости явными, класс — иммутабельным и упрощает тестирование. @Autowired в поле скрывает зависимости, усложняет мокирование и может привести к NullPointerException, если Spring не инициализирует поле.
Рейтинг:
1
Сложность:
5
Автовайринг через конструктор предпочтителен, потому что:
Гарантирует, что объект создается только с валидными зависимостями (нет NullPointerException).
Упрощает тестирование, так как зависимости можно явно передать в конструктор.
Делает код более прозрачным, так как все обязательные зависимости видны сразу.
Рейтинг:
3
Сложность:
6
Рейтинг:
3
Сложность:
6
Рейтинг:
2
Сложность:
7
Рейтинг:
3
Сложность:
7
Рейтинг:
3
Сложность:
6