Wniosek kredytowy w 7 krokach z autozapisem
Klient wypełnia wniosek w 7 krokach przez 20 minut, czasem na telefonie, czasem przerywa i wraca następnego dnia na laptopie. Dziś po odświeżeniu strony wszystko znika, a 40% osób porzuca wniosek w kroku z dochodami.
Zanim rozwiniesz: powiedz na głos, jak byś to rozwiązał, i nazwij co najmniej jeden kompromis.
Moje rozwiązanie
Zapisuje się samo w tej przeglądarce. Kopię zrobisz na stronie Notatki.
Pokaż, czego szuka rekruter, i modelową odpowiedź
Co sprawdza rekruter
- Czy projektujesz zapis po stronie serwera, a nie tylko w przeglądarce
- Czy myślisz o krokach jako o stanie w URL i maszynie stanów
- Czy pamiętasz o danych wrażliwych i wersjonowaniu formularza
- Czy proponujesz pomiar porzuceń
Odpowiedź seniora
Wniosek to szkic zapisany na serwerze z identyfikatorem i wersją. Autozapis wysyła zmiany z debounce i przy przejściu między krokami, a w UI widać stan „zapisano o 14:32”. Zapis w IndexedDB służy tylko jako bufor przy braku sieci. Powrót na innym urządzeniu działa po zalogowaniu albo przez link z mailem, więc nie trzymam danych finansowych w localStorage.
Krok jest w URL, żeby Wstecz w przeglądarce działał i dało się wrócić do konkretnego miejsca. Logikę przejść (które kroki są dostępne, warunkowe kroki dla firmy, krok weryfikacji) opisuję maszyną stanów albo reducerem z jawnymi stanami. Każdy krok ma własny schemat walidacji, a na końcu walidacja całości na serwerze.
Schemat formularza wersjonuję: gdy zmienią się pola, szkic w starej wersji jest migrowany przy otwarciu. Mierzę lejek per krok i per pole (czas, błędy walidacji, porzucenia), co zwykle pokazuje konkretne pole do uproszczenia, np. dochód, który można pobrać z innego źródła za zgodą klienta.
Typowe wpadki
- Zapis szkicu tylko w localStorage
- Jeden wielki formularz z walidacją wszystkiego na końcu
- Brak migracji szkiców po zmianie pól
Dopytają o
- Jak rozwiążesz konflikt, gdy wniosek jest otwarty na dwóch urządzeniach?
- Jak długo przechowujesz szkic z danymi osobowymi?
- Jak dostępnie pokażesz postęp kroków?