Специализация
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 в телеграм
Как работает процесс boxing и unboxing в JavaScript и где это применяется?
Boxing — это процесс, при котором примитивные значения (например, числа или строки) временно преобразуются в объекты, чтобы иметь доступ к методам, как у объектов. Unboxing — это обратный процесс, когда объект возвращается обратно в примитивное значение. Эти процессы происходят автоматически в JavaScript, когда вы пытаетесь использовать методы на примитивных типах данных, таких как строки или числа.
Что такое упаковка (boxing) и распаковка (unboxing) в .NET и зачем они нужны?
Boxing — это упаковка значения value type в объект object (на куче), а unboxing — извлечение значения обратно в value type. Необходимы для прозрачной работы с общим базовым типом object или интерфейсами. Упаковка создаёт дополнительный объект и копирует данные, распаковка проверяет тип и снова копирует, что может влиять на производительность.
Всегда ли экземпляры value type хранятся в стеке и какие бывают исключения (boxing, поля в классе, статические переменные)?
Нет, value type (struct) обычно хранятся в стеке, но могут находиться на куче, если являются полями класса, элементами массива в куче или при boxing (упаковке в object). Статические переменные value type хранятся в сегменте данных приложения. Boxing копирует значение в объект в куче.
Почему упаковка (boxing) значимого типа в ссылочный — дорогостоящая операция?
Упаковка создает новый объект в куче и копирует в него значение типа. Это требует выделения памяти и дополнительных ресурсов процессора. Распаковка обратно тоже требует явного преобразования и проверки типов. Частая упаковка может перегрузить сборщик мусора.
Рейтинг:
3
Сложность:
7
Рейтинг:
2
Сложность:
6
Рейтинг:
2
Сложность:
7
Рейтинг:
2
Сложность:
5