Question d'entretien pour Développeur React

Comment Suspense fonctionne-t-il pour la récupération de données, et comment l'utilisez-vous dans React 19 ?

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

Réponse rapide

Un composant se suspend quand il lit une promesse qui n'est pas résolue. React remonte jusqu'à la frontière Suspense la plus proche, affiche son fallback jusqu'à la résolution de la promesse, puis rend le vrai contenu. Dans React 19, on lit une promesse avec le hook use, normalement créée dans un Server Component ou dans un cache puis passée plus bas. Suspense coordonne les états de chargement ; il ne récupère rien lui-même.

Pourquoi les recruteurs posent cette question

Beaucoup de gens savent décrire Suspense comme un emballage à spinner. Le recruteur veut savoir si vous comprenez le mécanisme, que se suspendre relève d'un modèle throw et réessai, et le détail important : c'est le framework ou la bibliothèque qui fait la récupération. Il vérifie aussi que vous savez où placer les frontières pour qu'un panneau lent ne vide pas toute une page.

Comment structurer votre réponse

  • Dites ce que veut dire se suspendre et ce que fait la frontière.
  • Nommez l'endroit d'où doit venir la promesse, et celui d'où elle ne doit surtout pas venir.
  • Expliquez le placement des frontières et le streaming.
  • Mentionnez le risque de cascade et comment vous l'évitez.

Exemple de réponse

Exemple parlé, à la première personne

Suspense est une primitive de coordination, pas une couche de données. Quand un composant lit une promesse non résolue, il se suspend, React trouve la frontière la plus proche au-dessus de lui, rend ce fallback, et réessaie le sous-arbre quand la promesse se règle. Dans React 19, la façon de la lire, c'est le hook use, et la règle importante, c'est que la promesse ne peut pas être créée pendant le rendu du composant qui appelle use, sinon vous fabriquez une promesse neuve à chaque tentative et elle ne se règle jamais. Donc en pratique la promesse démarre dans un Server Component ou sort d'un cache et se fait passer plus bas. Côté serveur, ça se marie avec le streaming : la coquille part immédiatement, et les sections plus lentes arrivent en flux quand leurs données tombent. Pour le placement des frontières, j'essaie d'envelopper la plus petite chose pour laquelle un utilisateur accepterait de voir un squelette, pour qu'un panneau de recommandations lent ne retienne pas le détail produit. Le piège, ce sont les await séquentiels qui créent une cascade, donc je lance les récupérations indépendantes ensemble avant de les attendre.

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

  • Pourquoi ne faut-il pas créer la promesse dans le composant qui appelle use ?
  • Comment les frontières Suspense interagissent-elles avec le rendu serveur en streaming ?
  • Comment évitez-vous une cascade de requêtes à travers des composants imbriqués ?

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