Gardez un seul schéma pour tout le formulaire et validez chaque étape contre sa tranche, pour que les mêmes règles tournent côté client puis à nouveau côté serveur. Tenez les réponses dans un seul objet au-dessus des étapes, pilotez l'étape courante depuis l'URL pour que précédent et suivant fonctionnent, et persistez la progression à chaque changement d'étape. Validez au blur et à la soumission, et ne considérez jamais la validation client comme la seule barrière.
Pourquoi les recruteurs posent cette question
Les formulaires en plusieurs étapes font remonter beaucoup de décisions de conception d'un coup : placement de l'état, routage, stratégie de validation, persistance et accessibilité. Le recruteur veut voir que vous pensez à l'utilisateur qui appuie sur le bouton retour du navigateur, qui rafraîchit à mi-parcours, et qui se prend une erreur de validation serveur à la dernière étape. Les réponses faibles gardent tout dans un seul énorme useState et oublient complètement l'URL.
Comment structurer votre réponse
- Définissez un schéma unique et dérivez-en la validation de chaque étape.
- Dites où vivent les réponses et pourquoi.
- Mettez l'étape dans l'URL et expliquez ce que ça règle.
- Couvrez la persistance, la validation serveur et la gestion des erreurs à la soumission.
Exemple de réponse
Je pars d'un schéma unique pour l'ensemble, puis chaque étape valide sa propre tranche. Comme ça il y a une seule définition de ce que veut dire valide, et je peux faire tourner exactement le même schéma sur le serveur, parce que la validation client est un confort et pas une garantie. Les réponses collectées vivent dans un seul objet chez un parent, ou dans un petit store si les étapes sont éloignées dans l'arbre, et chaque étape reçoit sa tranche et un moyen de réécrire dedans. L'étape courante va dans l'URL, ce qui a l'air d'un détail mais règle plusieurs choses d'un coup : précédent et suivant fonctionnent, quelqu'un peut rafraîchir sans perdre sa place, et le support peut demander sur quelle URL la personne se trouve. Je persiste le brouillon à chaque transition d'étape, en général sur le serveur si l'utilisateur est connecté et dans le stockage local sinon. La validation tourne au blur puis à nouveau sur suivant, et à la soumission finale je gère les erreurs serveur en remappant les chemins de champs vers la bonne étape et en y renvoyant l'utilisateur avec le focus sur le champ fautif.
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 marcheQuestions de relance à prévoir
- Comment gérez-vous une erreur de validation que seul le serveur peut détecter ?
- Que faites-vous d'un utilisateur qui abandonne à l'étape trois et revient une semaine plus tard ?
- Comment gérez-vous le focus et les annonces entre les étapes pour les lecteurs d'écran ?
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