Question d'entretien pour Développeur frontend

Que permet un service worker, et à quoi feriez-vous attention avant d'en ajouter un ?

Ce que le recruteur cherche à évaluer, comment structurer votre réponse et un exemple parlé à adapter.

Réponse rapide

Un service worker est un proxy entre la page et le réseau, donc il peut servir des réponses en cache, fonctionner hors ligne, préremplir le cache d'une coquille et gérer la synchronisation en arrière-plan ou le push. La prudence porte sur le cycle de vie : il ne contrôle les pages qu'après activation, un ancien worker continue de servir d'anciens assets jusqu'à son remplacement, et une mauvaise règle de cache peut bloquer les utilisateurs sur un build cassé. Versionnez toujours vos caches et livrez un chemin de mise à jour clair.

Pourquoi les recruteurs posent cette question

Les service workers sont puissants et vraiment dangereux, donc la question porte en réalité sur la conscience du risque. Le recruteur veut entendre parler d'install, waiting et activate, du versionnage des caches et de l'incident classique où on livre un correctif que les utilisateurs ne reçoivent jamais. Mentionner que le cache HTTP plus un CDN couvre la plupart des besoins montre du jugement sur les cas où la complexité supplémentaire est vraiment justifiée.

Comment structurer votre réponse

  • Décrivez-le comme un proxy réseau avec un cycle de vie.
  • Nommez les cas d'usage qui en ont vraiment besoin.
  • Expliquez le modèle de mise à jour et le versionnage des caches.
  • Dites quand vous ne vous en donneriez pas la peine.

Exemple de réponse

Exemple parlé, à la première personne

Il se place entre la page et le réseau comme un worker séparé, donc il peut intercepter les fetchs et décider de répondre depuis un cache. Ça me donne le support hors ligne, une coquille instantanée aux visites répétées, la synchronisation en arrière-plan pour les actions en file et les notifications push. Ce à quoi je fais attention, c'est le cycle de vie, parce que c'est de là que viennent les incidents. Un nouveau worker s'installe, puis attend que tous les onglets contrôlés soient fermés avant de s'activer, donc les utilisateurs peuvent rester sur de l'ancien code bien plus longtemps qu'on ne l'imagine. Et si je mets le HTML en cache avec une règle cache first et que je livre ensuite un worker cassé, j'ai de fait bloqué les visiteurs qui reviennent, puisqu'ils ne récupèrent jamais le correctif. Donc je versionne les noms de cache et je supprime les anciens à l'activation, je garde le HTML en network first et le cache first seulement pour les assets hachés, et je garde toujours un chemin coupe-circuit qui désinscrit le worker et vide les caches. Si le besoin est seulement la vitesse aux visites répétées et pas un vrai usage hors ligne, je préfère obtenir ça avec des en-têtes de cache et un CDN et éviter toute cette classe de problèmes.

Vous passez cet entretien bientôt ? GhostPilot écoute votre appel en direct, repère la question dès qu'elle est posée et affiche une réponse structurée à l'écran en temps réel. Essayez-le lors de votre prochain entretien blanc, ou prenez un Session Pass à $29, sans abonnement, pour le jour J.

Voir comment ça marche

Questions de relance à prévoir

  • Comment pousseriez-vous un correctif urgent à des utilisateurs bloqués sur un ancien service worker ?
  • Quelle stratégie de cache utilisez-vous pour le HTML par rapport aux assets hachés ?
  • Que fait skipWaiting, et quand est-ce dangereux ?

Autres questions pour Développeur frontend

Votre recruteur posera sa propre version de celle-ci. Collez votre véritable fiche de poste dans le Question Predictor gratuit et obtenez les 20 questions que ce poste a le plus de chances de poser, avec ce que chacune cherche vraiment à sonder.

Prédire mes questions

Répétez les questions difficiles avant qu'on vous les pose

Entraînez-vous avec un copilote en direct, puis présentez-vous prêt. Un Session Pass à $29 vous accompagne pendant l'entretien, sans abonnement et sans engagement.

Obtenir GhostPilot