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

Какой опыт с Service Worker

Service Worker — это скрипт, который работает в фоне браузера, отдельно от веб-страницы, и позволяет перехватывать сетевые запросы, кэшировать ресурсы и обеспечивать офлайн-работу приложения.

Основные сценарии использования:

  • Кэширование статики (CSS, JS, изображения)
  • Офлайн-доступ к ранее загруженным данным
  • Push-уведомления
  • Фоновая синхронизация

Пример регистрации Service Worker:

javascript
if ('serviceWorker' in navigator) {
  navigator.serviceWorker.register('/sw.js')
    .then(reg => console.log('SW registered:', reg))
    .catch(err => console.log('SW registration failed:', err));
}

В sw.js:

javascript
self.addEventListener('install', (e) => {
  e.waitUntil(
    caches.open('v1').then(cache => cache.addAll(['/index.html', '/styles.css']))
  );
});

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

Нюансы:

  • Работает только по HTTPS (кроме localhost)
  • Жизненный цикл (install → activate → fetch)
  • Обновляется только при изменении файла SW
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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