Сложность поиска одинаковых ключей в двух множествах разного размера область: алгоритмы, множества множества реализованы как хеш-таблицы (HashSet) размеры множеств: n и m (n ≤ m) базовая операция: проверка…
В современных JVM управление GC обычно доступно лишь в ограниченном объёме и зависит от настроек В большинстве платформ, включая Java и .NET, полностью отключить поколенческий GC нельзя При этом разрешается изменить…
строится на конструкции async/await, доступной начиная с Python 3.5+ опирается на корутины — специальные объекты функций, способные приостанавливать собственное выполнение задействует событийный цикл (Event Loop) из…
Django — фреймворк для разработки web-приложений на Python разрабатывал unit- и интеграционные тесты с помощью Django TestCase тестами покрывал модели, представления, формы и API поддержка может требовать значительных…
GIL (Global Interpreter Lock) — механизм блокировки на уровне интерпретатора CPython Он ограничивает одновременное выполнение CPU-bound задач только одним потоком Во время I/O поток передаёт управление, поэтому GIL…
ограничение GIL (Global Interpreter Lock) в CPython GIL не позволяет нескольким потокам одновременно выполнять байт-код и гарантирует безопасный доступ к объектам без сложных механизмов синхронизации из-за этого…
Для чего нужен S3-подобный storage и в чём его преимущество перед сервером? Облачное объектное хранилище Масштабирование до экзабайт без остановки работы Совместимость API с AWS S3 делает интеграцию простой.…
Сколько запросов к базе данных выполняет PrefetchRelated в Django? Оптимизация жадной загрузки средствами ORM Django PrefetchRelated выполняет 2 и более запросов Один запрос предназначен для основной модели Ещё один…
Чем list comprehension отличается от генераторов? способы создания коллекций в Python: list comprehension формирует список, а генераторы — итератор list comprehension сразу формирует весь список в памяти, то есть…
структуры данных Python, предназначенные для хранения элементов список (list) является изменяемым, а кортеж (tuple) — неизменяемым для list доступны методы добавления, удаления, изменения элементов tuple требует…
В Python срез используют для создания копии списка shallow copy (поверхностная копия): копируется контейнер — сам список, но не объекты внутри него вложенные объекты остаются общими для обеих копий (shared) поэтому…
корутина будет создана, но сразу не запустится вместо выполнения вернётся объект типа coroutine корутина сохранит состояние ожидания запуска без await нельзя получить результат её работы или обработать исключения для…