Как React выполняет render? React формирует рендеринг UI на основании текущих пропсов и состояния При вызове render() создаётся виртуальное DOM-дерево (Virtual DOM) Полученное Virtual DOM сопоставляется с предыдущим…
Android-компонент для отображения списков с повторным использованием элементов Создаёт ViewHolder'ы только для видимых элементов и небольшой области за пределами экрана Во время прокрутки переиспользует уже созданные…
Что представляет собой Redis и где его применяют? In-memory СУБД с моделью ключ-значение Очень высокая скорость за счёт хранения данных в оперативной памяти Работа с разными структурами данных: строками, списками,…
Как Redis выполняет INCR и за счёт чего операция остаётся атомарной? Команды в Redis обрабатываются однопоточным Event Loop INCR увеличивает значение заданного ключа на единицу Вся операция выполняется как одна…
Как устроена работа gRPC поверх HTTP/2? gRPC — фреймворк для RPC, использующий HTTP/2 HTTP/2 предоставляет двунаправленное мультиплексирование потоков для компактной передачи gRPC применяет кодирование в Protocol…
частичный индекс — это индекс, включающий только часть строк, отобранных по заданному условию он сокращает размер индекса и объем сканируемых данных запросы с фильтром, совпадающим с условием индекса, выполняются…
Как долговременное хранение влияет на производительность Redis за долговременное хранение отвечают режимы RDB и AOF RDB по расписанию сохраняет снимки содержимого БД AOF записывает в журнал все операции, необходимые…
Как query planner помогает выявлять причины проблем с производительностью? исследование плана выполнения SQL-операций обнаружение узких мест: полнотекстовый скан, джойны, индексы оценка стоимости (cost) и расчетного…
физическое выполнение SQL JOIN Nested Loops Join: вложенный перебор строк и проверка всех возможных пар подходит для небольших таблиц и случаев с доступными индексами Hash Join: формирование хеш-таблицы меньшей…
Почему асинхронность повышает число запросов, обрабатываемых одним потоком? Асинхронность — это модель выполнения, при которой операции могут идти без блокировки потока Пока I/O-операция не завершена, поток не…
Ограничения UNIQUE: запрещают повторение значений в столбце или их комбинации PRIMARY KEY: уникальный идентификатор строки, автоматически обеспечивающий UNQUE Уникальные индексы: ускоряют поиск и одновременно…
многозадачность Go поток блокируется корутиной, если она не передаёт управление через yield (например, отсутствует усыпление C) бесконечный цикл без операций ввода-вывода или вызова runtime.Gosched() полностью…