Halt ein Schema für das gesamte Formular und validier jeden Schritt gegen seinen Ausschnitt, damit dieselben Regeln auf dem Client und noch einmal auf dem Server laufen. Halt die Antworten in einem einzigen Objekt oberhalb der Schritte, steuer den aktuellen Schritt über die URL, damit Vor und Zurück funktionieren, und persistier den Fortschritt beim Schrittwechsel. Validier on blur und beim Submit, und vertrau der Client-Validierung nie als einzigem Tor.
Warum Interviewer das fragen
Mehrstufige Formulare bringen viele Designentscheidungen auf einmal an die Oberfläche: State-Platzierung, Routing, Validierungsstrategie, Persistenz und Barrierefreiheit. Der Interviewer will sehen, dass du an den User denkst, der den Zurück-Button drückt, auf halber Strecke neu lädt und im letzten Schritt in einen serverseitigen Validierungsfehler läuft. Schwache Antworten halten alles in einem riesigen useState und vergessen die URL komplett.
So baust du deine Antwort auf
- Definier ein Schema und leite die Validierung pro Schritt daraus ab.
- Sag, wo die Antworten leben und warum.
- Leg den Schritt in die URL und erklär, was das löst.
- Deck Persistenz, Server-Validierung und Fehlerbehandlung beim Submit ab.
Beispielantwort
Ich starte mit einem einzigen Schema für das Ganze, und jeder Schritt validiert dann seinen eigenen Ausschnitt davon. So gibt es eine Definition davon, was gültig heißt, und ich kann exakt dasselbe Schema auf dem Server laufen lassen, denn Client-Validierung ist Komfort und keine Garantie. Die gesammelten Antworten liegen in einem Objekt in einem Parent, oder in einem kleinen Store, wenn die Schritte im Baum weit auseinanderliegen, und jeder Schritt bekommt seinen Ausschnitt und einen Weg zurückzuschreiben. Der aktuelle Schritt kommt in die URL, was nach einem Detail klingt, aber mehrere Dinge auf einmal löst: Vor und Zurück funktionieren, jemand kann neu laden, ohne seine Stelle zu verlieren, und der Support kann fragen, auf welcher URL der User ist. Den Entwurf persistiere ich bei jedem Schrittwechsel, in der Regel auf den Server, wenn der User eingeloggt ist, und sonst in den Storage. Validiert wird on blur und noch mal beim Weiter, und beim finalen Submit mappe ich Serverfehler über die Feldpfade zurück auf den richtigen Schritt und springe den User dorthin, mit Fokus auf dem beanstandeten Input.
Steht dieses Vorstellungsgespräch bald an? GhostPilot hört bei deinem Live-Call mit, erkennt die Frage in dem Moment, in dem sie gestellt wird, und bringt dir eine strukturierte Antwort in Echtzeit auf den Bildschirm. Probier es im nächsten Mock aus, oder hol dir einen $29 Session Pass, kein Abo, für den Ernstfall.
So funktioniert esNachfragen, mit denen du rechnen solltest
- Wie behandelst du einen Validierungsfehler, den nur der Server erkennen kann?
- Was machst du mit einem User, der bei Schritt drei abbricht und eine Woche später zurückkommt?
- Wie steuerst du Fokus und Ansagen zwischen den Schritten für Screenreader?
Weitere Fragen für React-Entwickler
Dein Interviewer stellt seine eigene Version davon. Kopier deine echte Stellenbeschreibung in den kostenlosen Question Predictor und bekomm die 20 Fragen, die diese Rolle am wahrscheinlichsten stellt, samt dem, worauf jede wirklich abzielt.
Meine Fragen vorhersagen