Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Как работает inline-кеширование (inline caching) и почему оно важно для производительности?
Inline-кеширование — это техника, используемая JavaScript-движками для ускорения доступа к свойствам объектов. При первом обращении к свойству объектного типа кешируется информация о его местоположении, что позволяет при последующих обращениях избежать повторного поиска. Это значительно ускоряет доступ к свойствам объектов, особенно в циклах или часто вызываемых функциях.
Что такое холодный, теплый и горячий кеш в оптимизации V8?
В V8 кеширование кода делится на три типа: холодный кеш, теплый кеш и горячий кеш. Холодный кеш относится к коду, который не исполнялся ранее и не имеет никаких оптимизаций. Теплый кеш содержит код, который исполнялся несколько раз, и движок может начать его оптимизировать. Горячий кеш включает часто исполняемый код, который уже оптимизирован и работает быстрее, что значительно улучшает производительность приложения.
Объясните, как реализовать кеширование.
NestJS предоставляет CacheModule для реализации кеширования. Оно поддерживает разные хранилища (например, in-memory или Redis). Кеширование может быть настроено для хранения результатов методов или HTTP-ответов с использованием декораторов или перехватчиков.
Как используется кеширование, например, с Redis, для оптимизации?
Redis используется как кеш-слой между приложением и основной базой данных для хранения часто запрашиваемых данных в оперативной памяти. Это позволяет значительно ускорить чтение данных и снизить нагрузку на основную БД. Redis хранит данные в формате ключ-значение с поддержкой различных структур данных. Кеширование особенно эффективно для редко изменяющихся данных, результатов сложных вычислений и сессий пользователей.
Как реализовать кеширование часто используемых данных?
Обычно кеширование делают так: данные сначала ищут в кеше, а если там нет — берут из источника (БД/API) и кладут в кеш с TTL. Ключи кеша делают стабильными и понятными (например, user:123:profile:v1). Важно заранее продумать, как кеш будет обновляться: через TTL, явную инвалидацию при изменениях или их комбинацию. Ещё нужно учитывать проблемы вроде “толпы” запросов при истечении TTL и “устаревших” данных.
Как кеширование влияет на производительность системы?
Что такое кеширование Integer и в каком диапазоне оно работает?
Как использовать кеширование в системах, где ответы не повторяются для одного и того же пользователя?
Что такое слои Docker-образа и как работает кеширование?
Рейтинг:
5
Сложность:
5
Кеширование снижает нагрузку на базу данных и ускоряет ответы системы. Оно позволяет получать данные быстрее, чем при прямом обращении к источнику. При этом кеширование усложняет архитектуру и требует контроля актуальности данных. Эффект от кеша напрямую зависит от правильности его применения.
Рейтинг:
5
Сложность:
5
Кеширование Integer — это механизм повторного использования объектов для часто используемых чисел.
JVM хранит заранее созданные объекты Integer в ограниченном диапазоне значений.
По умолчанию кешируются значения от -128 до 127.
Это влияет на сравнение через ==.
Метод equals() всегда работает корректно.
Рейтинг:
4
Сложность:
7
Если полный ответ уникален, кешируют не “ответ целиком”, а его части: справочники, настройки, права, данные профиля, результаты тяжёлых подзапросов или промежуточные вычисления. Часто помогает кеш на уровне “строительных блоков”: отдельные сущности по ключу, а итоговый ответ собирается из них. Можно кешировать не данные, а “защиту от перегрузки”: лимиты, локальные prefetch, короткий TTL на часто запрашиваемые компоненты. Ещё один вариант — кешировать отрицательные результаты (например, “нет данных”) и использовать stale-данные при временных сбоях.
Рейтинг:
5
Сложность:
6
Docker-образ состоит из набора неизменяемых слоёв. Каждый слой создаётся одной инструкцией Dockerfile. Docker использует кеш слоёв, если инструкция и входные данные не изменились. Это ускоряет повторные сборки. Неправильный порядок инструкций приводит к потере кеша.
Рейтинг:
2
Сложность:
7
Рейтинг:
3
Сложность:
8
Рейтинг:
2
Сложность:
6
Рейтинг:
5
Сложность:
6
Рейтинг:
5
Сложность:
6