корутина — легковесная единица выполнения, которой управляет CoroutineScope запуск с помощью launch — возвращает Job и подходит для задач, которым не нужен результат запуск посредством async — возвращает Deferred и…
Основные способы копирования объектов Поверхностное копирование (shallow copy) — создаёт копию только верхнего уровня, поэтому вложенные объекты продолжают ссылаться на исходные Глубокое копирование (deep copy) —…
Способы создания объектов: ключевые различия Литералы: простой и быстрый вариант, не требующий вызова функций Конструкторы: функции, вызываемые с new и создающие экземпляры с prototype Object.create(): создание…
Варианты сохранения состояния Activity жизненный цикл Activity — основа понимания механизмов сохранения onSaveInstanceState(Bundle) — запись краткоживущих данных в Bundle onRestoreInstanceState(Bundle) и…
Основные способы синхронизации переменной область: многопоточность, конкурентный доступ мьютексы (mutex): блокируют доступ и предотвращают гонки семафоры: задают предельное число одновременных обращений атомарные…
Сложность поиска в B-tree и Hash-индексе B-tree: сбалансированная структура с отсортированными ключами асимптотическая сложность поиска: O(log n) — определяется высотой дерева поиск выполняется переходами между…
Как оценить скорость работы словаря (Big O)? словарь представляет структуру ключ → значение (хеш-таблицу) вставка, поиск и удаление обычно имеют amortized O(1) (среднюю амортизированную сложность) в худшем случае при…
Временная сложность операций List: add, remove, contains Контекст: List может быть динамическим массивом или связанным списком add (добавление): Для ArrayList: амортизированно O(1) при добавлении в конец При…
Отличия <? extends T> от <? super T> обобщённые типы в Java значения из такого контейнера можно безопасно читать, но добавление запрещено объекты типа T можно безопасно добавлять, а при чтении типом результата будет…
Какова разница между слайсами и массивами в Go? в Go используются два типа данных: массив и слайс массив имеет фиксированный размер, который является частью его типа слайс динамичен и представляет собой ссылку на…
Алгоритмическая сложность доступа к map по ключу map представляет собой структуру данных «ключ → значение» и обычно реализуется на основе хеш-таблицы средняя сложность доступа составляет O(1) при коллизиях в худшем…