Как виртуальные таблицы определяют тип объекта в рантайме? Область: ПЗУ, объектно-ориентированное программирование, полиморфизм Основной механизм: виртуальная таблица (vtable) При создании объекта класса-наследника в…
Как распознать цикл сильных ссылок и предотвратить утечку памяти? управление памятью и работа сборщика мусора цикл сильных ссылок возникает, когда объекты напрямую удерживают ссылки друг на друга GC не освобождает…
масштабирование: горизонтальное (добавление серверов) и вертикальное (наращивание ресурсов) балансировщик нагрузки (load balancer), который направляет запросы на доступные инстансы с учётом health checks и выбранных…
Принцип работы протокола WebSocket и области применения WebSocket — протокол двунаправленного обмена поверх TCP Соединение начинается с HTTP handshake, после чего выполняется переход на WebSocket После установки…
Как реализован словарь (dict) в Python? dict представляет собой хеш-таблицу с открытой адресацией Для ключей вычисляется хеш, после чего сохраняются пары (ключ, значение) При коллизии выполняется поиск следующей…
Индекс — это структура данных, предназначенная для ускорения поиска в БД На практике его часто строят на основе B-дерева или B+-дерева B-дерево сохраняет балансировку и обеспечивает логарифмическую сложность поиска…
Как работают алгоритмы агрегации данных: внутреннее устройство GROUP BY при обработке CSV без БД построчная обработка с чтением CSV целиком в память либо последовательным потоком формируется структура группировки, как…
Вывод через React setInterval в консоль функциональный компонент, использующий хук useEffect внутри useEffect необходимо создать setInterval с периодом 10 секунд (10000 мс) при размонтировании нужно обязательно…
Как создать UI, который не зависит от разрешения и соотношения сторон? интерфейс должен адаптироваться и масштабироваться вместе с размером окна применять относительные единицы (%, vw, vh) вместо фиксированных…
Реализация add(1)(2) и расширение прототипа Number Каррирование функции — это приём, при котором функция возвращает новую функцию, сохраняя параметр в замыкании add(a) => (b) => a + b — минимальная реализация с…
Как организовать graceful shutdown HTTP-сервиса с воркерами в Go? Контекст: управление остановкой сервиса, одновременно обрабатывающего HTTP-запросы и выполняющего фоновые задачи Для координации завершения применять…
HTTP middleware представляет собой функцию, которая оборачивает http.Handler Она принимает http.Handler и возвращает другой http.Handler, добавляя логику до или после запуска основного обработчика На практике…