Время жизни переменной в heap участок динамической памяти, предназначенный для переменных существует до явного освобождения (free/delete) либо запуска сборки мусора не привязана к времени выполнения функции, в отличие…
Как обеспечить потокобезопасность префиксного дерева? Префиксное дерево — это структура данных для хранения строк, объединённых общей логикой префиксов. Для защиты операций используют мьютексы или read-write lock.…
архитектурный подход: разделение ответственности (например, MVC, MVVM) применение DTO (Data Transfer Objects), чтобы изолировать модель бизнес-логики паттерн наблюдатель (Observer) или реактивные решения (RxJS,…
Распределённые системы, микросервисы Для поддержания согласованности применяются паттерны Event Sourcing и CQRS Применение асинхронного взаимодействия на основе событий (event-driven architecture) Использование…
создание копии объекта с рекурсивным клонированием всех вложенных объектов простое присваивание и Object.assign не подходят, поскольку они копируют только верхний уровень JSON.parse(JSON.stringify(obj)) — быстрый…
Как правильно использовать keys в React? keys служат уникальными идентификаторами элементов в списках React позволяют React эффективно обновлять DOM за счёт сравнения элементов должны оставаться стабильными и…
Обработка исключений в микросервисной архитектуре микросервисы — автономные сервисы с изолированной бизнес-логикой централизованный сбор и логирование ошибок, например с помощью ELK или Prometheus обработка на уровне…
протокол авторизации, предоставляющий доступ к ресурсам три основные стороны: клиентское приложение, сервер авторизации и ресурсный сервер клиент получает разрешение пользователя, являющегося владельцем ресурса после…
Как event loop работает в React? React выполняется поверх JavaScript, в основе которого лежит однопоточный event loop Event loop браузера или среды выполнения управляет асинхронными операциями React связывает действия…
Как работает type switch в Go? механизм для определения типа значения интерфейсной переменной специальный вариант switch для проверки динамических типов синтаксис: switch v := x.(type) { case T1: ... case T2: ... }…
Как работают autorelease и autorelease pool? управление памятью в Objective-C autorelease: отложенное освобождение объекта autorelease pool: контейнер для объектов, ожидающих освобождения освобождение объектов…
Что представляют собой weak-ссылки и каков принцип их работы? Weak-ссылка — это ссылка, которая не мешает сборщику мусора освободить объект Если объект удерживается только weak-ссылками, он считается доступным для…