Встречается на собеседованиях • сегодня
Какие знаешь способы уменьшения количества запросов между Frontend и сервером
1. **Кэширование данных**
Используй `localStorage`, `sessionStorage` или `IndexedDB` для хранения данных на клиенте.
Пример:
```javascript
localStorage.setItem('userData', JSON.stringify(data));
const cachedData = JSON.parse(localStorage.getItem('userData'));
```
2. **Объединение запросов (Batching)**
Отправляй несколько запросов одним пакетом (GraphQL, REST с `/batch`).
3. **Дебаунсинг и троттлинг**
Уменьшай частоту запросов при вводе пользователя:
```javascript
const debounce = (fn, delay) => {
let timer;
return (...args) => {
clearTimeout(timer);
timer = setTimeout(() => fn(...args), delay);
};
};
```
4. **Ленивая загрузка (Lazy Loading)**
Загружай данные по мере необходимости (например, пагинация, infinite scroll).
5. **CDN и статические ресурсы**
Используй CDN для статики (изображения, стили, скрипты).
6. **HTTP/2 и Server Push**
Уменьшай лаги за счёт мультиплексирования запросов.
7. **Предзагрузка (Prefetching)**
```html
```
8. **Оптимизация API (например, gzip, Brotli)**
Сжимай данные при передаче.
9. **WebSockets**
Для частых обновлений (чаты, уведомления).
10. **Service Workers**
Кэширование API-ответов для офлайн-работы.
Примерно так!

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы