Jak można dowiedzieć się o problemach z formularzem w produkcji, jeśli przestaje działać (np. rejestracja się nie kończy)?
Frontend
Metryka TTFB (Time To First Byte) — jak może się obniżać podczas SSR, jaka jest natura spadków i jak można je poprawić? Opisz, co się dzieje od momentu naciśnięcia Enter do pojawienia się czegokolwiek na ekranie.
funkcja promiseWithResolve() { // Niezaimplementowane } const { resolve, promise } = promiseWithResolve(); promise.then((v) => console.log(v)) setTimeout(() => resolve(13), 10)
Zaimplementuj funkcję callLimit, która ogranicza liczbę wywołań przekazanej funkcji do zadanego limitu, a także zapewnia metodę reset do zresetowania licznika.
Wyobraź sobie sytuację: tuż przed wydaniem znajdujesz błąd, przez który funkcja działa nieprawidłowo. Wydanie nie może zostać odłożone, ale rozumiesz, że coś działa nieprawidłowo. Co zrobisz w takiej sytuacji?
Należy napisać funkcję sum, która przy wywołaniu z argumentem będzie sumować liczbę, a przy wywołaniu bez argumentu zwróci sumę. Na przykład: sum(2)(1)(2)() powinna zwrócić 5.
Użytkownik nacisnął przycisk, z backendu przyszła duża ilość danych, a ekran się zawiesił. Co mogło spowodować ten problem i jak go rozwiązać?
Zaimplementuj typowanie w TypeScript do walidacji URL, aby dozwolone były tylko poprawne URL-e w formacie: podstawowa domena + ścieżka (users/orders/messages) + metoda (get/update/delete/ban). Dowolne ciągi znaków powinny wywołać błąd kompilacji.
Czy miałeś do czynienia z CI/CD, może tworzyłeś kontenery Docker lub konfigurowałeś pipeline'y?
Załóżmy, że mamy sklep internetowy, w którym wyświetlana jest lista 50 produktów z paginacją. Gdy użytkownik przełącza się na drugą stronę, szczególnie na telefonie, przez długi czas zamiast obrazków wyświetlają się białe kwadraty. Jak sprawić, aby obrazki pojawiały się szybciej?
Zrozum, co robi ten kod i jak można go użyć. W lodash jest podobny helper — jeśli go rozpoznasz, możesz po prostu podać nazwę.
export function foo(o, arr) { return arr.reduce((a, x) => { // jeśli (o.hasOwnProperty(x)) a[x] = o[x]; if (o[x]) a[x] = o[x]; return a; }, {}); } const obj = {a: 's'} foo(obj, ['a'])
Załóżmy, że widzimy, że style ładują się długo za każdym razem, gdy użytkownik wchodzi na stronę lub odświeża ją. Tworzenie krytycznego CSS jest trudne. Co dokładnie należy sprawdzić w CSS i ogólnie w dowolnej statycznej zawartości?
Czy pracowałeś z SSR? Co robiłeś — SSR, SSG czy po prostu korzystałeś z Next.js?
Użytkownik skarży się, że przycisk czasami nie działa, ale lokalnie problem się nie powtarza. Jakie są twoje kroki debugowania? Jakie mogą być przyczyny?
Jak pobrać dane z API w ramach thunk, biorąc pod uwagę, że API jest przekazywane jako dodatkowy argument w middleware thunk?
Upewnij się, że komponent UserName wyświetla nową nazwę użytkownika po pomyślnym wysłaniu formularza.
Co może zablokować proces parsowania HTML?
Jak działa pętla zdarzeń? Jakie są kolejki i w jakiej kolejności są wykonywane? Opowiedz o mikrozadaniach, makrozadaniach, requestAnimationFrame, requestIdleCallback.
Spójrz na funkcję w edytorze: przyjmuje tablicę kluczy i obiekt, i za pomocą reduce kopiuje obiekt tylko z określonymi kluczami. Jak nazwałbyś tę funkcję?