Специализация
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 в телеграм
Почему не рекомендуется использовать конструкторы, такие как new String, в JavaScript?
Использование конструкторов, таких как new String или new Number, не рекомендуется, так как они создают объект вместо примитива. Объекты ведут себя иначе, чем примитивные типы данных, и могут приводить к неожиданным результатам в сравнении и других операциях. Примитивные значения (например, строки или числа) следует использовать напрямую без конструкторов.
Чем __init__() отличается от __new__()?
__new__() отвечает за создание нового объекта, вызывается перед __init__() и возвращает сам объект. __init__() отвечает за инициализацию уже созданного объекта, он настраивает его атрибуты. Обычно __new__() переопределяется только в особых случаях, например, при наследовании от неизменяемых типов, таких как int или tuple.
Что делает метод __new__?
Метод __new__ отвечает за создание нового объекта класса. Он вызывается перед __init__ и управляет выделением памяти под объект. Обычно он переопределяется при создании Singleton или других специализированных классов.
Опишите паттерн "новый тип" (new type pattern) в Rust
Паттерн "новый тип" заключается в оборачивании существующего типа в новый, чтобы добавить поведение, ограничить доступ или изменить контекст его использования.
Что делает функция make и чем она отличается от new?
new(T) выделяет память под тип T, возвращает указатель *T с нулевым значением. make(T, args…) инициализирует и возвращает сам тип (не указатель) для срезов, мап и каналов: make([]T, len, cap), make(map[K]V, hint), make(chan T, size). Для других типов make неприменим, а new универсален.
Чем отличается new от make?
В чем разница выводов – throw 'message' и throw new Error('message')?
Какие проблемы может вызвать Executors.newCachedThreadPool()? Когда его уместно применять?
Какие базовые концепции Python должны быть известны: типы данных, декораторы, итераторы/генераторы, ООП, методы __new__, __init__, __del__, структуры данных?
Что произойдёт при REQUIRES_NEW?
Рейтинг:
2
Сложность:
6
new(T) выделяет нулевой T и возвращает *T. make(T, ...) инициализирует и возвращает готовые к работе срезы, мапы и каналы (типы-руководители), но не применяется к простым структурам.
Рейтинг:
3
Сложность:
6
throw 'message' — выбрасывает строку, но без стека вызовов и деталей ошибки.
throw new Error('message') — создает объект ошибки с stack, name и другими свойствами, что упрощает отладку.
Рейтинг:
2
Сложность:
5
newCachedThreadPool() создает потоки по требованию и убирает неиспользуемые через 60 секунд. Опасен неограниченным ростом потоков при высокой нагрузке, что приводит к исчерпанию памяти или CPU. Уместен только для редких коротких задач.
Рейтинг:
5
Сложность:
5
Начинающий разработчик должен понимать встроенные типы данных и уметь работать со структурами данных. Также важно знать ООП, принципы работы конструкторов и деструкторов. Декораторы, генераторы и итераторы формируют стиль написания современного Python-кода. Эти темы создают основу для понимания большинства библиотек и фреймворков.
Рейтинг:
5
Сложность:
7
При REQUIRES_NEW текущая транзакция приостанавливается, и создаётся новая. Внутренний метод выполняется полностью независимо. Его commit или rollback не влияет на внешнюю транзакцию. После завершения внутренняя транзакция закрывается, и внешняя продолжается. Это используется для изолированных операций.
Рейтинг:
2
Сложность:
7
Рейтинг:
2
Сложность:
5
Рейтинг:
3
Сложность:
6
Рейтинг:
3
Сложность:
7
Рейтинг:
2
Сложность:
7