Question d'entretien pour Développeur React

Comment gérez-vous les erreurs d'exécution dans un arbre React ?

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

Réponse rapide

Les error boundaries attrapent les erreurs levées pendant le rendu, dans les méthodes de cycle de vie et dans les constructeurs situés en dessous d'elles, puis rendent un fallback au lieu de démonter toute l'application. Ce sont encore des composants de classe qui utilisent getDerivedStateFromError et componentDidCatch, ou une bibliothèque d'enrobage. Elles n'attrapent pas les erreurs dans les gestionnaires d'événements, les callbacks asynchrones ni dans la frontière elle-même, donc ceux-là exigent un try catch ordinaire plus du reporting.

Pourquoi les recruteurs posent cette question

Le recruteur veut savoir si vos applications se dégradent proprement ou virent à l'écran blanc. Il guette la portée exacte de ce que les frontières attrapent, puisque les trous (gestionnaires d'événements et promesses) sont exactement là où se produisent les erreurs en production. Le placement compte aussi : une seule frontière à la racine vaut à peine mieux que rien, et une bonne réponse parle d'isoler les zones risquées et de donner à l'utilisateur un moyen de s'en sortir.

Comment structurer votre réponse

  • Dites ce que les frontières attrapent et ce qu'elles rendent à la place.
  • Nommez clairement les trous : gestionnaires, asynchrone, rendu serveur.
  • Décrivez où vous placez les frontières dans une vraie mise en page.
  • Couvrez le reporting et le chemin de récupération offert à l'utilisateur.

Exemple de réponse

Exemple parlé, à la première personne

Les error boundaries attrapent tout ce qui est levé pendant le rendu du sous-arbre en dessous d'elles, et glissent un fallback pour qu'un widget cassé n'emporte pas la page. J'utilise en général l'enrobage react-error-boundary plutôt que d'écrire la classe moi-même, puisqu'il me donne un gestionnaire de reset gratuitement. Les trous sont la partie que les gens oublient : rien de levé dans un onClick, un setTimeout ou une promesse rejetée non gérée n'atteint une frontière, donc ceux-là ont encore besoin d'un try catch avec un état d'erreur explicite. Sur le placement, une frontière à la racine, c'est en gros un écran de crash plus joli. Ce que je fais vraiment, c'est envelopper chaque zone utile indépendamment, donc la barre latérale, le panneau principal et tout embed tiers ont chacun la leur, avec un fallback qui dit ce qui a échoué et propose un réessai qui réinitialise la frontière et relance la récupération. Chaque frontière remonte à notre outil de suivi d'erreurs avec la pile de composants et le contexte utilisateur dans componentDidCatch, et dans React 19 je positionne aussi onUncaughtError à la racine pour que rien ne passe sans être journalisé.

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

  • Où placeriez-vous exactement les frontières dans une mise en page de tableau de bord ?
  • Qu'est-ce qui attrape une erreur levée dans une promesse à l'intérieur d'un gestionnaire d'événement ?
  • Comment les error boundaries se comportent-elles pendant le rendu serveur et l'hydratation ?

Autres questions pour Développeur React

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