Question d'entretien pour Développeur full stack

Utiliseriez-vous des sessions serveur ou des JWT pour authentifier une nouvelle application web ?

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

Réponse rapide

Partez par défaut sur des sessions côté serveur dans un cookie httpOnly, Secure, SameSite, parce que vous pouvez révoquer instantanément et que le client ne détient jamais rien de sensible. Les JWT gagnent leur place quand des services ne peuvent pas partager un magasin de sessions et qu'il vous faut une vérification sans état. Si vous les utilisez, gardez les tokens d'accès à courte durée, associez-les à un refresh token rotatif, et acceptez que révoquer avant expiration demande une liste de blocage que vous devrez maintenir.

Pourquoi les recruteurs posent cette question

C'est une question de jugement déguisée en question de culture générale. Le recruteur veut entendre un choix par défaut avec une raison, pas une réponse dogmatique, et il écoute si vous connaissez le problème de la révocation et celui du stockage. Les candidats qui disent que les JWT sont plus sûrs ou qui proposent localStorage n'ont en général jamais exploité un système d'authentification en production. Nommer l'arbitrage vaut plus que choisir un camp.

Comment structurer votre réponse

  • Donnez votre choix par défaut et l'unique raison derrière.
  • Nommez la condition qui vous ferait changer d'avis.
  • Expliquez le problème de la révocation avec des tokens.
  • Couvrez l'endroit où l'identifiant est stocké côté client.

Exemple de réponse

Exemple parlé, à la première personne

Pour un produit normal avec un seul backend, je commence par des sessions serveur. Un identifiant de session opaque dans un cookie httpOnly veut dire que le navigateur ne peut pas le lire, donc un bug XSS ne livre pas immédiatement un compte, et déconnecter quelqu'un partout, c'est la suppression d'une ligne. Cette révocation instantanée vaut très cher la première fois que vous devez verrouiller un compte compromis à deux heures du matin. Je passe aux JWT quand plusieurs services doivent vérifier un appelant sans magasin partagé, ou quand un client mobile et un client navigateur tapent la même API. Même là, je garde les tokens d'accès à une quinzaine de minutes avec un refresh token rotatif, et je détecte la réutilisation d'un refresh comme signal de vol. Ce que je ne fais pas, c'est mettre des tokens dans localStorage ; si j'en ai besoin dans le navigateur, ils vont dans un cookie httpOnly avec SameSite et une protection CSRF sur les requêtes qui changent l'état. L'absence d'état est un vrai avantage, mais les gens sous-estiment le coût de ne pas pouvoir révoquer.

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 déconnecteriez-vous un utilisateur de tous ses appareils avec des JWT ?
  • Pourquoi localStorage est-il un mauvais endroit pour un token ?
  • Comment la rotation des refresh tokens détecte-t-elle un token volé ?

Autres questions pour Développeur full stack

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