Чем отличаются git rebase и git merge Git merge объединяет ветки и создаёт merge commit Git rebase перестраивает историю, перенося коммиты на новую базу Merge оставляет всю историю ветвления Rebase формирует линейную…
Отличия interface и type в TypeScript Оба инструмента описывают структуры типов и используются на этапе компиляции interface применяют для задания формата объектов и классов; он поддерживает расширение (extends,…
Long-polling, WebSocket и gRPC stream: в чём разница и когда их применять Long-polling: реализация push-механизма поверх HTTP клиент отправляет запрос, а сервер удерживает его открытым до появления новых данных после…
Различия push- и pull-моделей Архитектурные способы передачи данных Push: источник самостоятельно отправляет данные подписчикам Pull: получатель сам запрашивает данные у источника Push уменьшает задержку, но усложняет…
Отличия select_related и prefetch_related оба метода оптимизируют обращения Django ORM к связанным моделям select_related: применяет SQL JOIN и получает связанные объекты одним составным запросом лучше всего подходит…
Область памяти: Stack предназначен для локальных переменных и вызовов функций, а Heap — для динамических данных и объектов с произвольным сроком жизни Управление: Stack освобождается автоматически по принципу LIFO,…
Блокирующие и неблокирующие операции в Node.js В основе Node.js лежат событийный цикл и асинхронность Блокирующие операции (blocking) приостанавливают поток до полного завершения задачи. Примером служат синхронные…
Индексы B-Tree, Hash и BRIN в Postgres: различия и подходящие сценарии B-Tree — стандартный индекс Postgres для упорядоченных данных. Он обеспечивает быстрый поиск, сортировку и выполнение диапазонных запросов. Hash —…
Разница между кластеризованным и некластеризованным индексом индексы — структуры данных, ускоряющие поиск в БД кластеризованный индекс задаёт физический порядок строк в таблице для таблицы можно создать только один…
Ключевые различия между ref и out оба ключевых слова C# предназначены для передачи параметров в метод по ссылке ref требует, чтобы переменная была инициализирована до вызова метода out допускает неинициализированную…
Многопоточность CPU-bound и асинхронность IO-bound в .NET: как работает async/await CPU-bound: вычислительные задачи активно используют процессор и требуют параллельных потоков (Thread, Task) для одновременного…
Чем различаются сигнатуры методов расширения LINQ для IEnumerable<T> и IQueryable<T> Для IEnumerable<T> методы получают Func<T, bool> (делегаты) и обрабатывают коллекцию в памяти: выполнение отложенное, но происходит…