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

Как будешь кэшировать

Кэширование можно реализовать разными способами в зависимости от контекста:

  1. HTTP-кеширование через заголовки:
js
// Express пример
app.get('/data', (req, res) => {
  res.set('Cache-Control', 'public, max-age=3600');
  res.json({ data: 'cached' });
});
  1. Service Worker для оффлайн-работы:
js
// В service-worker.js
self.addEventListener('fetch', (event) => {
  event.respondWith(
    caches.match(event.request)
      .then(response => response || fetch(event.request))
  );
});
  1. Локальное хранилище для данных:
js
// Сохранение
localStorage.setItem('cachedData', JSON.stringify(data));

// Получение
const data = JSON.parse(localStorage.getItem('cachedData'));
  1. Мемоизация для функций:
js
const memoize = (fn) => {
  const cache = {};
  return (...args) => {
    const key = JSON.stringify(args);
    return cache[key] || (cache[key] = fn(...args));
  };
};

Выбор метода зависит от типа данных, частоты обновления и требований к актуальности. Для API-запросов лучше HTTP-кеширование, для UI-состояний - локальное хранилище.

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

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

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

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