Frontend
Jakie narzędzia AI używasz w pracy? Jak oceniasz korzystanie z ChatGPT, Perplexity, Cursor, Claude i innych agentów AI w rozwoju?
/** * Funkcja 'asyncAuth(callback)' przyjmuje callback, do którego * można przekazać błąd (pierwszy argument) i dane * z backendu (drugi argument). * asyncAuth((error, data) => {}); * * Musisz zaimplementować funkcję 'auth()', * która wywołuje 'asyncAuth()', ale zwraca Promise. * * @returns {Promise} */ function auth() { return new Promise((resolve, reject) => { asyncAuth((error, data) => { if (error) { reject(error) } else { resolve(data) } }); }) } /** * Funkcja 'tryAuth()' korzysta z 'auth()' i, w przypadku błędu, * wykonuje N dodatkowych prób. * Jeśli wszystkie zawiodą, zwraca ostatni błąd. * * @returns {Promise} */ function tryAuth(n) { return new Promise((resolve, reject) => { function attempt(attemptsLeft) { auth().then(resolve).catch((error) => { if (attemptsLeft <= 0) { reject(error); } else { attempt(attemptsLeft - 1); } }); } attempt(n); }); }
Z czym chciałbyś pracować na nowym miejscu, co cię interesuje w przyszłości?
Opowiedz o swoim doświadczeniu z CV: zadania, technologie, sukcesy i osiągnięcia w ponad trzy i pół roku pracy w Sovcombank.
Opowiedz o procesach w ostatnim zespole: sprinty, kanban, planowanie — jak to wyglądało w praktyce?
Wspomniałeś o UI-kit. Który komponent był najtrudniejszy lub najciekawszy do realizacji, i który stanowił największe wyzwanie?
Jak oceniasz sortowanie w aplikacji — działa poprawnie?
Czym jest Promise w JavaScript? Opowiedz o stanach promisy i metodach pracy z nią.
Jeśli zadeklarujesz funkcję, a następnie zmienną, czy będzie ona dostępna wewnątrz funkcji? Opowiedz o hoisting.
Dlaczego wybraliście Zustand zamiast Redux?
Wymień cztery kluczowe dyrektywy używane w Dockerfile
Jaka jest różnica między Git Merge a Git Rebase?
Czy masz jakieś pytania dotyczące firmy?
Jaka jest różnica między call a apply?
Czy używałeś Vitest lub Playwright w swojej pracy?
Co można zrobić, aby w drugim console.log wyświetliło się 'Alice' zamiast undefined? Uzupełnij kod, używając bind.
Jak wstawić kod HTML otrzymany z backendu na stronę?
W zadaniu testowym DocumentWorkspace wygląda jak God Object, który robi zbyt wiele różnych logik. Co o tym myślisz, jak to lepiej zorganizować?
Czy kiedykolwiek używałeś Angular CDK?
/* Należy zaimplementować metodę intersection, rozszerzającą standardowe metody zbiorów (Set). Metoda przyjmuje inny zbiór jako argument i zwraca nowy zbiór, który jest częścią wspólną oryginalnego zbioru i przekazanego, czyli zawiera tylko te elementy, które występują w obu zbiorach. */ // twoj kod const set1 = new Set([1, 2, 3, 4]); const set2 = new Set([3, 4, 5, 6, 7, 8]); console.log(...set1.intersection(set2)) // 3 4 --- Set.prototype.intersection = function (set2) { const result = new Set(); for(const value of this) { if (set2.has(value)) result.add(value); } return result; } const set1 = new Set([1, 2, 3, 4]); const set2 = new Set([3, 4, 5, 6, 7, 8]); console.log(...set1.intersection(set2)) // 3 4