Frontend
Na czym polega metoda łańcuchowa (chaining) rozwiązywania kolizji w tablicy haszującej?
Zaimplementuj funkcję debounce(fn, delay), która opóźnia wywołanie funkcji do momentu upływu określonego czasu ciszy.
Opowiedz o krytycznych etapach renderowania przeglądarki
Jak zwykle przebiega zatwierdzanie API między frontendem a backendem w twoim projekcie?
Wspomniałeś o testach — czy pisałeś testy w [firma] i na ostatnim stanowisku?
[imię] zapytał(a): czym różnią się metody bind, call i apply?
Czy masz własne projekty, w których samodzielnie zajmowałeś się UI/UX bez udziału projektanta?
Jak stopniowo wdrażałeś TypeScript w kodzie legacy i jak unikałeś regresji?
Jak tworzyć i używać własnych typów w TypeScript?
Czy wygodniej jest rozmawiać na «ty» czy na «wy»?
Jak wyglądała Twoja recenzja kodu? Jakie zasady stosowałeś, na co zwracałeś uwagę w pierwszej kolejności?
/** * Implementuj funkcję, która wykona callback z danymi * i zwróci tablicę odpowiedzi Response[]. * Rozwiązanie powinno wykonywać wszystkie żądania równolegle * ale nie więcej niż [limit] żądań może być wykonywanych jednocześnie. * Celem jest minimalizacja całkowitego czasu wykonania. */ type Props<RequestData, Response> = { callback: (args: RequestData) => Promise<Response>; data: Array<RequestData>; limit: number; }; export async function runWithLimit<RequestData, Response>({ callback, data, limit, }: Props<RequestData, Response>): Promise<Response[]> { // POCZĄTEK ROZWIĄZANIA TUTAJ if (limit < 1 || data.length === 0) { return Promise.resolve([]); } if (limit >= data.length) { return Promise.all(data.map(callback)); } const result: Response[] = new Array(data.length); let index = 0; const run = async () => { if (index >= data.length) return; const elem = data[index]; try { result[index] = await callback(elem); } catch (err) { result[index] = (err) as Response; // obsługa błędu } index++; run(); }; const startPack = Array.from({ length: limit }, run); await Promise.all(startPack); return result; }
Jaka była wersja Angular na platformie edukacyjnej, czy trzeba było ją aktualizować?
Czy pracowałeś z WebSocket?
Opowiedz, jak trafiłaś do frontendu? Czym się zajmowałaś?
Jak zaimplementowałeś model dostępu oparty na rolach na frontendzie? Jak określano, co pokazać użytkownikowi w zależności od uprawnień?
Czym jest tablica haszująca i jak jest związana z Map? Czym jest kolizja w kontekście tablic haszujących?
/** * Należy napisać asynchroniczną funkcję, * która będzie "spała" przez określoną liczbę milisekund, * a następnie pomyślnie się zakończy */
Wyobraź sobie sytuację: nasza wydajność spada z powodu problemu w kodzie JS. Co sprawdziłbyś w profilerze DevTools, aby potwierdzić lub obalić tę hipotezę?
Czy można zwrócić wynik w rekurencji bez fazy propagacji?