Jak działa buforowanie zasobów w przeglądarce — jak przeglądarka decyduje, czy pobrać z pamięci podręcznej czy ponownie załadować, i jak tym zarządzać? Jakie są metody buforowania, w tym Service Worker?
Frontend
Zaimplementuj nowy komponent SignupSuccess. Powinien być wyświetlany zamiast formularza rejestracji po pomyślnym zarejestrowaniu się.
Czy znasz metrykę FCP (First Contentful Paint)? Załóżmy, że mamy aplikację React — sieć społecznościowa z renderowaniem po stronie serwera, i jest problem: gdy użytkownik wchodzi bezpośrednio na czyjś profil, długo widzi biały ekran. Czy możesz opisać etapy — co się dzieje od momentu, gdy użytkownik naciska Enter, do momentu pojawienia się pierwszej treści?
Jak zaimplementowałbyś buforowanie po stronie klienta?
Opowiedz trochę o sobie, czym interesujesz się w programowaniu, jakie masz ostatnie doświadczenia, może robiłeś coś trudnego.
Czy podobało ci się pracować z Redux jako menedżerem stanu dla złożonych formularzy?
Czy słyszałeś o helperze Promise.withResolvers, który niedawno pojawił się w JavaScript? Musisz napisać jego odpowiednik zamiast drugiego wiersza.
console.log(1) setTimeout(() => { console.log(2) }, 10) setTimeout(() => { Promise.resolve().then(() => console.log(3)) }, 0); setTimeout(() => { console.log(4) }, 0); new Promise((_, reject) => { console.log(5) reject(6) console.log(7) }).then(() => console.log(8)) .catch(() => console.log(9)) .then(() => console.log(10)) .catch(() => console.log(11)) .then(() => console.log(12)) .then(console.log) .finally(() => console.log(13)) console.log(14)
Dodatkowa złożoność zadania z memoize: sprawić, aby funkcja memoize jako drugi argument przyjmowała czas życia pamięci podręcznej w milisekundach, po którym pamięć podręczna jest unieważniana.
Jest kod — trzeba zrozumieć, co on robi, zrobić przegląd kodu: jakie są problemy i co można poprawić.
Czy możesz wymienić kilka plusów i minusów Redux?
Na stronie jest lista 5000 produktów, strona mocno się laguje. Biznes prosi, żeby coś z tym zrobić. Co zaproponujesz?
Jak się odnosisz do metodologii FSD (Feature-Sliced Design)?
Co się stanie, jeśli dodasz atrybut async do skryptu w head? Jaka jest różnica między async a defer?
Na stronie znajomych i w komunikatorze wyświetlane są podobne informacje o użytkownikach. Istnieją dwie opcje: przechowywać użytkowników w lokalnych slice'ach każdej funkcji lub w globalnym store. Jakie są zalety i wady globalnego store w tym przypadku?
Opowiedz o swoich poprzednich miejscach pracy — co ciekawego robiłeś?
Jakie alternatywy dla Redux znasz i dlaczego nie mają jego zalet? Dlaczego Redux jest dobrze testowany, a konteksty nie?
Jak można uzyskać dane z innego fragmentu funkcji (np. slice użytkowników) na stronie konkretnego użytkownika, nie naruszając granic między modułami i nie wykonując zbędnych zapytań?
#Formularz rejestracji React 1. Wyjaśnij, jak działa StateProvider, podziel się swoimi przemyśleniami z rozmówcą. 2. Spójrz na /src/api/mock, wyjaśnij, jak to działa. 3. Sprawdź kolor SubmitButton i napraw go. 4. Zaimplementuj walidację formularza klienta w komponencie Signup. (\*\*) Pamiętaj o zadaniu numer 9. Zasady: - Pola Nazwa użytkownika, Email, Hasło i Powtórz hasło powinny mieć co najmniej 6 znaków; - Hasło powinno pasować do Powtórz hasło; - Walidacja powinna być wykonana po kliknięciu "Zarejestruj się"; - Pola z nieprawidłowymi wartościami powinny być oznaczone (props error i helperText); 6. Odpowiedź API może zawierać błąd, który powinien być wyświetlany użytkownikowi w pobliżu odpowiedniego pola. 7. Upewnij się, że komponent UserName wyświetla nową nazwę użytkownika po pomyślnym przesłaniu. 8. Zaimplementuj nowy komponent SignupSuccess. Powinien być wyświetlany zamiast formularza rejestracji. 9. Zaimplementuj walidację serwerową dla odpowiednich pól.
Czy możesz krótko opowiedzieć o swoim ostatnim doświadczeniu i czego oczekujesz od nowej pracy, czego szukasz na nowym stanowisku?