Doprecyzowanie: czy aplikacja była desktopowa w przeglądarce czy natywna?
Frontend
Opowiedz o swoim ostatnim projekcie: czym się zajmowałeś, jakie były kluczowe osiągnięcia i Twój wkład?
Na jakie części można podzielić żądanie HTTP?
Jakie inne metody żądań HTTP istnieją oprócz GET? Jak się nazywają?
Jak działa wewnętrznie tabela haszująca (HashMap)?
Czy pracowałeś z WebSocket, Server-Sent Events, long polling? Opowiedz o nich.
Czy znasz różne wersje protokołu HTTP (HTTP/1, HTTP/2, HTTP/3)? W czym się różnią?
Jakie są wady FSD? Kiedy byś go nie wdrażał?
Dlaczego najpierw wykonywane są wszystkie mikrozadania, a potem makrozadania? Dlaczego nie na odwrót?
Jak mierzyłeś przyspieszenie onboardingu nowych deweloperów o 30-40%?
Czego nie chcesz w projekcie?
Byłeś właścicielem funkcji, projektowałeś architekturę aplikacji i pulpity nawigacyjne — czego Ci brakowało na obecnym stanowisku?
Czego chcesz od nowej pracy? Co jest ci potrzebne, aby się rozwijać?
Jeśli chodzi o ostatnie miejsce pracy, gdzie pracowałeś przez trzy i pół roku, jest napisane, że odpowiadasz za architekturę frontendu i rozwiązania techniczne. Czy to jest twoja formalna rola?
Zadanie w JavaScript: określić kolejność wyświetlania w konsoli dla kodu z użyciem setTimeout i Promise (zadania mikro i makro).
Jaka jest złożoność (Big O) metody unsubscribe w twojej implementacji?
Czy znasz wzorzec EventEmitter? Zaimplementuj klasę z metodami subscribe, unsubscribe i fire.
Jak dokładnie poprawili wydajność ciężkich stron? Co dokładnie spowalniało renderowanie? Jak mierzyli — od 5 sekund do 150-250 milisekund?
Co się dzieje, gdy tablica haszująca się zapełnia i nie można do niej dodać nowych elementów (rehash)?
Pakiet miał 1,5 megabajta, teraz ma 700-800 kilobajtów. Jak dokładnie zmniejszyłeś pakiet? Jak zacząłbyś teraz optymalizować pakiet o rozmiarze 2 megabajtów?