Встречается на собеседованиях • сегодня

Как будешь реагировать на задачу сверх нагрузки

Применяю стратегию graceful degradation и горизонтальное масштабирование.

  1. Rate Limiting - ограничиваю запросы с одного IP/пользователя:
js
const rateLimit = require('express-rate-limit');
app.use(rateLimit({ windowMs: 15*60*1000, max: 100 }));
  1. Кеширование - Redis для частых запросов:
js
const redis = require('redis');
const client = redis.createClient();
app.get('/data', cacheMiddleware, (req, res) => { ... });
  1. Очереди задач (Bull.js/RabbitMQ) для асинхронной обработки:
js
const queue = new Bull('tasks');
queue.process(async (job) => { /* тяжелая операция */ });
  1. Health Checks + автоматическое масштабирование в Kubernetes.

  2. Circuit Breaker (например, opossum) для защиты зависимостей:

js
const breaker = new CircuitBreaker(apiCall, { timeout: 3000 });

Важно мониторить метрики (Prometheus/Grafana) и иметь план отката.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы