Rozmowa o projektowaniu systemu frontendowego to wspólne ćwiczenie modelowania. Najlepsi kandydaci odnoszą dyskusję do użytkowników i ograniczeń, jasno pokazując podział odpowiedzialności, przepływ danych i zachowanie systemu w razie awarii.
Zacznij od kontraktu produktu
- Określ głównych użytkowników i kluczową ścieżkę użytkownika.
- Doprecyzuj ograniczenia skali, opóźnień, dostępności usługi, pracy offline, urządzeń, przeglądarek, dostępności interfejsu, lokalizacji i bezpieczeństwa.
- Oddziel bezwzględne wymagania od założeń, które można zmienić.
- Wskaż atrybuty jakości, które będą kierować decyzjami architektonicznymi.
Narysuj obowiązki i przepływy
- Zacznij od interfejsu przeglądarki i głównych obszarów produktu.
- Dodawaj źródła danych, granice edge lub backend-for-frontend, magazyny danych, kanały czasu rzeczywistego i systemy zewnętrzne tylko wtedy, gdy są potrzebne.
- Oznacz ważne połączenia danymi lub zdarzeniami, które przenoszą.
- Przejdź przez jedną ścieżkę odczytu, jedną ścieżkę zapisu i jedną ścieżkę porażki.
Pogłębiaj wiedzę specyficzną dla frontendu
- Strategia renderowania i nawigacja
- Odpowiedzialność za stan, stan serwerowy i unieważnianie pamięci podręcznej
- Odporność sieci, próby powtórne, idempotencja i zachowanie offline
- Dostarczanie pakietów kodu, budżety wydajności, obrazy i długie zadania
- Dostępność, internacjonalizacja, granice bezpieczeństwa, analityka i obserwowalność
Wyjaśnij kompromis
- Proszę określić decyzję.
- Wymień ograniczenie, które czyni je rozsądnymi.
- Wyjaśnij, jakie koszty lub scenariusze awarii wprowadza to rozwiązanie.
- Opisz sygnał, który skłoni Cię do ponownego rozważenia tej decyzji.
- Nie przedstawiaj wyboru biblioteki jako całej architektury.
Rzetelne podsumowanie na koniec
- Podsumuj ścieżkę krytyczną i atrybuty jakości.
- Identyfikacja największego pozostałego ryzyka.
- Wyjaśnij, jak możesz testować i obserwować system.
- Zaoferuj jedno celowe rozszerzenie, jeśli wymagania lub skala się zmieni.
Źródła pierwotne
Przegląd redakcyjny
Twierdzenia dotyczące produktu sprawdzono względem jego bieżącego działania. Zauważono problem? Wyślij korektę.