Специализация
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 в телеграм
Разница между поверхностным (copy.copy()) и глубоким (copy.deepcopy()) копированием объектов.
copy() создаёт новый объект, но вложенные объекты остаются общими.
deepcopy() рекурсивно копирует все вложенные объекты.
Что представляет собой срез списка (shallow/deep copy)?
Срез списка (list[start:end]) создаёт shallow copy — новый список, но с ссылками на те же вложенные объекты. Для полного копирования нужен deepcopy.
Отличие shallow copy от deep copy?
Shallow copy создаёт новый объект, но копирует ссылки на вложенные элементы.
Deep copy рекурсивно копирует все вложенные объекты. Изменения в копии не затрагивают оригинал.
Что означает copy-on-write?
Copy-on-write — это механизм, при котором PHP не копирует данные при присваивании переменной другой переменной. Копирование выполняется только тогда, когда одна из переменных пытается изменить общее значение. Пока данные неизменяемы — обе переменные указывают на один и тот же блок памяти. Это снижает нагрузку на память и ускоряет выполнение кода. Сам факт изменения становится триггером реального копирования.
Как работает zero-copy в Go и когда можно передавать данные между слоями без выделений памяти?
Zero-copy — это механизм передачи данных между компонентами без копирования. В Go это возможно через slices, io.Reader/io.Writer, sendfile(), mmap. Используется для больших файлов и сетевого IO.
Как работает copy-on-write у массивов и словарей?
Для каких сущностей работает Copy on Write?
В каких случаях использовать data class вместо обычного класса? Когда не нужны методы copy() или компоненты?
В чем разница между методами System.Array.CopyTo() и System.Array.Clone()?
Что такое Copy-On-Write (COW)? Можно ли реализовать его для пользовательских структур?
Рейтинг:
5
Сложность:
9
Copy-on-write означает, что массивы и словари копируются только при изменении. Пока данные используются только для чтения, несколько переменных могут ссылаться на одно и то же хранилище. Как только одна из них модифицируется, Swift создаёт копию. Это позволяет сочетать value-семантику с высокой производительностью.
Рейтинг:
3
Сложность:
7
Copy-on-Write работает для стандартных коллекций Swift, таких как Array, Set, Dictionary, а также для строк (String). Это позволяет избежать создания копий, пока не происходит изменение данных.
Рейтинг:
2
Сложность:
4
data class стоит использовать, когда класс нужен только для хранения данных и автоматической генерации equals(), hashCode(), toString(), copy(). Обычный класс лучше, если требуется сложная логика или наследование.
Рейтинг:
2
Сложность:
4
CopyTo() копирует элементы из одного массива в другой, а Clone() создает новый массив, содержащий все элементы исходного массива.
Рейтинг:
2
Сложность:
5
COW — оптимизация, когда копия данных создается только при изменении. Да, можно реализовать для структур, используя класс-обертку для хранения данных.
Рейтинг:
1
Сложность:
7
Рейтинг:
1
Сложность:
5
Рейтинг:
1
Сложность:
5
Рейтинг:
5
Сложность:
4
Рейтинг:
4
Сложность:
7