Frontend
Jakie metryki Core Web Vitals znasz i co one mierzą? Czy korzystałeś z Lighthouse?
Podczas pierwszego połączenia z nowym endpointem pojawiają się błędy CORS, mimo że wszystko jest poprawnie skonfigurowane na backendzie. Co zrobić w takiej sytuacji?
Jak dokładnie oceniłeś zadania?
Zaimplementuj funkcję memoizacji: przyjmuje funkcję i zwraca jej opakowaną wersję, która buforuje wyniki wywołań według argumentów.
Jakie ustawienia mają ciasteczka (httpOnly, secure, expires, domain, path)?
/** * Zaimplementuj funkcję compose, która przyjmuje * dowolną liczbę funkcji i zwraca nową funkcję. * Wynik działania każdej funkcji jest przekazywany do następnej. */ // Kod tutaj const square = (x) => x * x; const times2 = (x) => x * 2; const sum = (a, b) => a + b; console.clear(); console.log(compose(square, times2)(2) === square(times2(2))); console.log(compose(square, times2, sum)(3, 4) === square(times2(sum(3, 4))));
Jak można zoptymalizować algorytm przecięcia?
W CV podano metryki — procentowy spadek renderów, wzrost wydajności. Jak je obliczyliście?
Jak zorganizowano GitFlow w projekcie?
Opowiedz o skomplikowanej formie na ponad 50 pól: jak zbudowałeś architekturę, dynamikę i pracę z zagnieżdżonymi danymi?
Czym są prymitywy w JavaScript?
/* * Funkcja naśladująca żądanie danych z backendu. * Backend ma ograniczenie RPS i zawiedzie, * jeśli liczba równoczesnych żądań przekroczy MAX_PARALLEL_REQUESTS. */ function requestData(id: number): Promise<string> { parallelRequests++; if (parallelRequests > MAX_PARALLEL_REQUESTS) { throw new Error("Zbyt wiele równoległych żądań"); } return new Promise((res) => { setTimeout(() => { parallelRequests--; return res(`${id * 2}`); }, Math.floor(Math.random() * 2000)) }); } function prepareData( ids: number[], maxParallelRequests: number, ): Promise<string[]> { /* * TODO: zaimplementuj żądanie wszystkich danych, * używając nie więcej niż maxParallelRequests * równoczesnych połączeń. */ }
Zadanie praktyczne dotyczące Promise (zadanie zostało ogłoszone, ale nie zostało w pełni ujawnione w transkrypcji).
Czym są generyki w TypeScript?
Jak można analizować JSON strumieniowo, dzieląc przetwarzanie na fragmenty, aby nie blokować głównego wątku? Czym można uruchomić przetwarzanie kolejnego fragmentu, aby nie spowalniać strony (np. requestIdleCallback, generatory)?
Czy pracowałeś z systemem plików, kamerą lub innymi funkcjami natywnymi w React Native?
Do czego służy słowo kluczowe infer w TypeScript?
Opowiedz o swoim obecnym miejscu pracy: czy to duży projekt, czym dokładnie zajmujesz się w części frontend, i na jakim etapie rozwoju produktu dołączyłeś do projektu?
Zobacz ten kod z SSR i singleton i18n. Znajdź poważny problem, który może zepsuć HTML dostarczany użytkownikowi. Jak go naprawić?
Czy zaimplementowałeś funkcję zapisywania stanu tabeli, na przykład przesuwanie kolumn — czy przechowujesz to w backendzie, lokalnie, czy w localStorage?