Frontend
Dlaczego zdecydowałeś się teraz zmienić pracę?
Wspomniałeś o autoryzacji — jakiego podejścia użyłeś? Jakie masz doświadczenie z autoryzacją?
Opowiedz o najciekawszym zadaniu lub najciekawszym błędzie w jednym z twoich ostatnich dwóch miejsc pracy.
A oto ostatni projekt – ile było tam programistów łącznie, jaki to był zespół, z kim trzeba było się komunikować?
Z jakimi frameworkami lub narzędziami pracujesz? Czy używasz narzędzi AI w swojej pracy?
Oczekiwania płacowe — 270 tysięcy rubli?
Gdy projekt się rozrasta i można wyróżnić kilka jednostek biznesowych (panel osobisty, profil, promocje), czy można je podzielić na oddzielne repozytoria i podłączyć jako mikrofronty?
Jaka jest różnica między REST API a WebSocket?
Zadanie praktyczne: napisz funkcję, która przyjmuje liczbę i zwraca Promise z wynikiem sprawdzenia parzystości/nieparzystości, a w przypadku błędu (nie liczba) zwraca -1.
Proszę wyjaśnić: czy przeprowadzka była z JS/JSVue na React i TypeScript, a teraz planowana jest migracja na mikrofronty?
Zaimplementuj funkcję promisify: przyjmuje funkcję z callbackiem error-first (loadScript) i zwraca nową funkcję, która przyjmuje dowolne argumenty, dodaje callback error-first i opakowuje wywołanie w Promise.
Co jest lepsze do przechowywania danych po kluczu: Map czy zwykły obiekt? Jakie są zalety Map?
Opowiedz o zmiennych var, let, const: zakresy, hoisting, tymczasowa strefa martwa.
Jak naprawić nadmierne ponowne renderowania, aby po kliknięciu 'Rerender' renderował się tylko App, a podczas wpisywania tekstu tylko Parent (bez Child)?
let a = 5; setTimeout(function timeout() { //macro console.log(a); a = 10; }, 0); let p = Promise.resolve().then(data => { console.log(a); a = 25; resolve(); }).then() console.log(a); // 5 25 25
Co można konfigurować w ESLint i jakie wtyczki lub konfiguracje są używane?
Jasne wyjaśnienie, Dmytro—dobre użycie delegacji i kontroli "najbliższych"; Twój przepływ jest łatwy do śledzenia. Gdy mówisz, że obsługujesz klawiaturę "w ten sam sposób", czy możesz przejść mnie krok po kroku przez dokładnie które klawisze obsługujesz i jak zapobiegasz temu, by fokus trafiał na wyłączone linki?
Wspomniałeś o rozwoju biblioteki wielokrotnego użytku komponentów UI-kit opartej na Angular Material. Czy istnieje zasadnicza różnica między komponentami bibliotecznymi a zwykłymi wielofunkcyjnymi komponentami aplikacji? Czego można nie uwzględniać w zwykłych komponentach, ale nie można w bibliotecznych?
Nie wiesz, z jakiej specjalizacji jest [imię] — frontend, backend czy DevOps — i jaka jest jego rola w firmie?
// Należy zaimplementować metodę groupBy, rozszerzającą standardowe metody tablic. // Metoda powinna zwracać zgrupowaną wersję tablicy — obiekt, // w którym kluczami są wyniki wywołania funkcji fn(arr[i]) dla każdego elementu, // a wartościami — tablice zawierające wszystkie elementy oryginalnej tablicy z tym kluczem. // kod tutaj // Przykład 1 const array1 = [ { id: 1 }, { id: 1 }, { id: 2 } ]; const fn = (item) => item.id; console.log(array1.groupBy(fn)); // { // 1: [{ id: 1 }, { id: 1 }], // 2: [{ id: 2 }] // } // Przykład 2 const array2 = [1, 2, 3]; console.log(array2.groupBy(String)); // { // "1": [1], // "2": [2], // "3": [3] // } // Przykład 3 const array3 = [1.3, 0.5, 1.4]; console.log(array3.groupBy(Math.round)); // { // 1: [0.5, 1.4], // 3: [1.3] // }