многопоточность, работа с разделяемыми данными защищать балансы с помощью мьютексов или синхронизаторов использовать атомарные операции для изменения значений применять транзакции базы данных с подходящим уровнем…
Область: обработка ошибок, backend, REST API Для этого применяют глобальные обработчики исключений, например @ControllerAdvice в Spring. Обработка ошибок выносится за пределы контроллеров, благодаря чему соблюдается…
Как устроен индекс в Postgres и чем B-Tree отличается от GIN Индекс в Postgres — это структура данных, которая ускоряет поиск записей в таблице B-Tree — сбалансированное дерево для поиска по равенству и диапазонам (>,…
Как разрешаются коллизии в словарях и хэш-таблицах Контейнеры, в которых доступ к данным выполняется по ключу, используют хэш-функцию Коллизия возникает, если разные ключи получают одинаковое хэш-значение К основным…
Потокобезопасная структура блокировок по ID цель: обеспечить конкурентный контроль доступа к ресурсам, связанным с уникальным ID хранить блокировки по ID в ConcurrentHashMap / concurrent dictionary для каждого ID…
Как задать обязательное поле в JSON-схеме? JSON Schema — стандарт, описывающий структуру JSON Для объявления обязательных свойств применяется ключ "required" "required" представляет собой массив имён обязательных…
Работа с БД/Оптимизация: Применять пагинацию либо потоковое чтение (cursor/stream), разделяя выборку на управляемые части Извлекать только нужные поля, а не всю строку целиком (projection) Выделять память для данных…
HTTP-методы создания и изменения ресурсов В REST API HTTP-методы позволяют управлять ресурсами и выполнять операции над ними. POST — предназначен для создания нового ресурса: данные передаются на сервер, который часто…
Ключевые структуры данных в программировании основные контейнеры, предназначенные для упорядочивания и хранения информации Массивы: последовательности с доступом по индексу, обращение к элементу выполняется за O(1)…
Реализации коллекций в Kotlin В Kotlin коллекции подразделяются на мутабельные и немутируемые. Немутируемые коллекции: List, Set и Map — доступны только для чтения. Мутабельные коллекции: MutableList, MutableSet и…
Алгоритмическая сложность доступа к map по ключу map представляет собой структуру данных «ключ → значение» и обычно реализуется на основе хеш-таблицы средняя сложность доступа составляет O(1) при коллизиях в худшем…
Контекст: Python, словари и ключи ключ словаря обязан быть хешируемым (immutable) пустой кортеж () неизменяем и хешируем, поэтому подходит для ключа кортеж с пустым списком ( []) содержит мутабельный элемент и сам не…