Frontend
Kiedy należy odsubskrybować się od strumieni RxJS i jakie metody odsubskrybowania znasz w Angular?
Jak zorganizowano pracę z ARIA i nawigacją klawiaturą?
Czym jest zły kod? Jak starasz się go nie pisać?
Co się dzieje w takim przypadku, jeśli przez jakiś czas nie były wykonywane żądania i token wygasł? Czy sprawdzaliście czas życia tokenów za pomocą timera?
Jak poprawnie usunąć obsługę `scroll`, jeśli `addEventListener` i `removeEventListener` mają otrzymać ten sam odwołanie do funkcji?
// Promise.resolve() // .then(() => console.log(1)) // // .then(() => console.log(2)) // // Promise.resolve() // .then(() => console.log(11)) // // .then(() => console.log(22)) //
setTimeout(() => { console.log("timeOut"); }, 0) console.log(1); new Promise(resolve => { console.log("Promise"); setTimeout(() => { console.log("777"); resolve() }, 0) }).then(() => { console.log("then1"); }) .then(console.log('tratata')) .then(() => console.log("then2"); }) console.log(4); setTimeout(() => { console.log("timeOut2"); }, 0)
Jaka jest złożoność wyszukiwania binarnego i dlaczego jest szybsze od wyszukiwania liniowego?
Czy można użyć biblioteki do wirtualnego przewijania? Jak zaimplementować wirtualizację za pomocą @tanstack/virtual?
Opowiedz o Virtual DOM i mechanizmie reconciliacji w React. Co wywołuje ponowne renderowanie? Co powoduje pełne odmontowanie komponentu?
Jak w ogóle trafiłeś na programowanie?
Jaka jest różnica między useFetch a zwykłym fetch, i kiedy lepiej używać którego?
Opowiedz o bundlerze podczas przejścia z Vue 2 na Vue 3: był Webpack (Vue CLI), teraz Vite. Czy były jakieś interesujące corner-case'y, konflikty konfiguracji, które trzeba było przepisać?
[imię] zapytał: czy masz przybliżony zakres wynagrodzenia?
Czym jest skalowanie poziome i jak zostało zastosowane?
Przegląd kodu: masz fragment kodu z produkcji. Znajdź problemy i zaproponuj ulepszenia. Czy React.memo poprawnie wykona memoizację, jeśli w propsach przekazywane są funkcje i obiekty?
funkcja debounce(fn, delay) { let timer return function (...args) { clearTimeout(timer) timer = setTimeout(() => fn(args), delay) } }
Zaimplementuj funkcję smartFetch, która jest opakowaniem wokół funkcji batchFetch do zapytań o dane z backendu po ID. Funkcja powinna gromadzić wywołania w trakcie okna czasowego (timeout) i wysyłać je jednym żądaniem zbiorczym. Oczekiwanie na kolejne okno zaczyna się zaraz po wysłaniu żądania. ID są unikalne, fetch zawsze się powodzi. Należy poprawnie obsługiwać przypadek, gdy w ramach jednego okna pojawią się duplikujące ID.
Porównaj doświadczenie pracy z Material i Taiga UI - co się podobało, co nie, jaka jest kluczowa różnica?
Oprócz zasady podstawiania Liskov, czy możesz podać praktyczny przykład pojedynczej odpowiedzialności w aplikacji frontendowej?