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

Кэшировал ли через Service Worker

Да, работал с Service Worker для кэширования ресурсов. Регистрируем SW, затем в событии install кэшируем статические файлы, а в fetch — перехватываем запросы и возвращаем из кэша, если есть.

Пример:

javascript
// Регистрация
if ('serviceWorker' in navigator) {
  navigator.serviceWorker.register('/sw.js');
}

// sw.js
const CACHE_NAME = 'v1';
const urlsToCache = ['/', '/styles.css', '/script.js'];

self.addEventListener('install', (event) => {
event.waitUntil(
caches.open(CACHE_NAME)
.then(cache => cache.addAll(urlsToCache))
);
});

self.addEventListener('fetch', (event) => {
event.respondWith(
caches.match(event.request)
.then(response => response || fetch(event.request))
);
});

text

**Нюансы:**  
- Кэш обновляется только при изменении SW (новый файл или хэш).  
- Для динамического контента можно использовать стратегию `Cache then Network`.  
- Очистка старого кэша через `activate` (например, при обновлении версии).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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