Основные принципы работы с базой данных целостность данных: соблюдение ACID (атомарность, согласованность, изоляция, долговечность) нормализация: сокращение избыточности и предотвращение аномалий безопасность:…
Проблемы при добавлении индекса на большие таблицы блокировка таблицы и длительное удержание блокировок существенная нагрузка на CPU и IO снижение производительности БД на период построения индекса увеличение объёма…
Риски и сценарии использования Executors.newCachedThreadPool() определение: пул потоков с динамически изменяемым размером проблема 1: потенциально неограниченное увеличение количества потоков → риск исчерпания…
Какие способы кэширования данных вы использовали на практике? in-memory кэширование с помощью Redis и Memcached для ускорения выдачи данных локальное кэширование на стороне приложения с применением LRU и TTL, например…
Массовая вставка данных: сравнение AddRange и BulkInsert AddRange удобен в использовании, однако уступает по производительности из-за последовательной вставки записей и отслеживания изменений в EF BulkInsert…
Способы уменьшения размера Docker-образа выбор минимального базового образа (alpine, scratch) применение multi-stage build для разделения стадий сборки удаление из образа ненужных файлов и кеша объединение инструкций…
Стандартные инструменты Django для оптимизации запросов и базы данных select_related(): загружает связи ForeignKey/OneToOne одним запросом с использованием JOIN, сокращая общее количество обращений к базе…
Стратегии инвалидации кэша TTL (Time To Live): удаление данных после заданного срока жизни LRU (Least Recently Used): вытеснение записей, к которым обращались реже всего Write-through: одновременное обновление кэша и…
Типы индексов PostgreSQL и сценарии их применения B-tree: универсальный вариант для равенств и диапазонов Hash: эффективен при точных равенствах, однако имеет ограниченные возможности GIN: подходит для мультивалютных…
Ключевые хуки React и задачи, которые они решают Хуки представляют собой функции, позволяющие работать с состоянием и жизненным циклом в функциональных компонентах useState — предназначен для управления локальным…
Сложность поиска в B-tree и Hash-индексе B-tree: сбалансированная структура с отсортированными ключами асимптотическая сложность поиска: O(log n) — определяется высотой дерева поиск выполняется переходами между…