Специализация
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, когда вы пытаетесь использовать методы на примитивных типах данных, таких как строки или числа.
Что такое JSON, для чего его используют и какие методы есть?
JSON (JavaScript Object Notation) — это текстовый формат для представления данных в виде объектов и массивов. Он используется для обмена данными между клиентом и сервером. Для работы с JSON в JavaScript используются методы JSON.stringify() для преобразования объекта в строку и JSON.parse() для преобразования строки в объект.
Объясните концепцию прототипного наследования в JavaScript?
Прототипное наследование — это механизм в JavaScript, при котором объекты могут наследовать свойства и методы от других объектов через цепочку прототипов. Каждый объект в JavaScript имеет скрытую ссылку на свой прототип, что позволяет получать доступ к свойствам и методам, которые не определены непосредственно на объекте. Основной механизм наследования в JavaScript базируется на связи через прототипы, а не на классах, как в других языках программирования.
Для чего нужен конструктор объектов и какие правила работы с ним?
Конструктор объектов используется для создания новых экземпляров объектов с одинаковой структурой и методами. В JavaScript для этого можно использовать функцию-конструктор или класс. Конструктор должен быть вызван с ключевым словом new, что создает новый объект, связывая его с прототипом конструктора.
Как сравниваются объекты?
В JavaScript объекты сравниваются по ссылке, а не по значению. Это означает, что два объекта считаются равными (===), только если они ссылаются на один и тот же объект в памяти. Даже если два объекта имеют одинаковые свойства и значения, они не будут равны, если это разные экземпляры.
В чем особенность хранения объектов?
Какие объекты размещаются в куче?
Когда стоит использовать примитивы, а когда объекты в Java?
Сколько памяти занимает массив из 5 ссылок на объекты классов?
Расскажи про анонимные классы и объекты, object и companion object
Рейтинг:
3
Сложность:
3
Объекты в JavaScript хранятся по ссылке. Это означает, что когда объект присваивается переменной или передается в функцию, копируется не сам объект, а ссылка на него. Поэтому любые изменения объекта через одну переменную будут видны и через другие переменные, которые ссылаются на этот объект.
Рейтинг:
2
Сложность:
6
В куче оказываются объекты, помеченные escape-анализом: указатели, структуры, которые возвращаются наружу, элементы мап и срезов при append, объекты, хранящиеся в глобальных переменных или каналах. Простые локальные переменные без escape остаются на стеке.
Рейтинг:
2
Сложность:
4
Примитивы используются, когда важны скорость и память, а объекты — когда требуется больше возможностей, таких как методы или поддержка коллекций. Примитивы подходят для простых данных, а объекты полезны для более сложных операций.
Рейтинг:
2
Сложность:
5
Массив из 5 ссылок хранит 5 указателей (обычно по 8 байт каждый на 64-битных устройствах), то есть примерно 5 × 8 = 40 байт плюс служебные данные массива (capacity, count), порядка нескольких десятков байт дополнительно.
Рейтинг:
2
Сложность:
7
Анонимные классы в Kotlin создаются с использованием ключевого слова object и не требуют явного объявления. Они реализуют интерфейсы или наследуют классы и могут использоваться для одноразовых целей. object в Kotlin также используется для объявления объектов-синглтонов (object declaration) и для создания объектов внутри классов (companion object), которые действуют как статические поля.
Рейтинг:
3
Сложность:
7
Рейтинг:
3
Сложность:
4
Рейтинг:
4
Сложность:
9
Рейтинг:
3
Сложность:
6
Рейтинг:
4
Сложность:
5