Pytania rekrutacyjne JavaScript (Middle) z odpowiedziami
75 pytań na rozmowę rekrutacyjną z tematu JavaScript (Middle) - z poprawnymi odpowiedziami, wyjaśnieniami i linkami do dokumentacji.
Rozwiąż ten test- 1.Co wypisze ten kod?
- 2.Czym różnią się od siebie
call,applyibind? - 3.Co wypisze ten kod?
- 4.Co wypisze ten kod po sekundzie?
- 5.Co wypisze ten kod?
- 6.Jak silnik szuka właściwości, której sam obiekt nie ma?
- 7.Co robi
Object.create(proto)? - 8.Czym naprawdę są klasy w JavaScript?
- 9.Dlaczego konstruktor podklasy musi wywołać
super()przed dostępem dothis? - 10.Czym
#countróżni się od_countw klasie? - 11.Jak działa
obj instanceof Class? - 12.Co wypisze ten kod?
- 13.Do czego dawniej służyło IIFE
(function () { ... })()? - 14.Czym jest currying?
- 15.Czym debounce różni się od throttle?
- 16.Czym jest memoizacja?
- 17.Jak zachowuje się
Promise.all, jeśli jeden z promise'ów zostanie odrzucony? - 18.Co zwraca
Promise.allSettled? - 19.Czym
Promise.anyróżni się odPromise.race? - 20.Ile potrwa ten kod, jeśli każde żądanie trwa 1 sekundę?
- 21.Dlaczego
forEachnie czeka na asynchroniczne callbacki? - 22.Co wypisze łańcuch?
- 23.Co robi
.finally()promise'a? - 24.W jakiej kolejności zostaną wypisane linie?
- 25.Dlaczego rekurencyjny
setTimeoutbywa lepszy niżsetInterval? - 26.Do czego służy
requestAnimationFrame? - 27.Co robi funkcja generatora?
- 28.Czego potrzebuje własny obiekt, by działać z
for...ofi spreadem? - 29.Do czego służy
Symbol? - 30.Czym
WeakMapróżni się odMap? - 31.Dlaczego
structuredClone(obj)jest lepszy niżJSON.parse(JSON.stringify(obj))? - 32.Co wypisze ten kod?
- 33.Co daje
Object.defineProperty(obj, 'id', { value: 1, writable: false })? - 34.Co zwraca
[10, 1, 2].sort()? - 35.Co zwracają
parseInt('12px')iNumber('12px')? - 36.Czym moduły ES różnią się od CommonJS?
- 37.Po co jest dynamiczny
import()? - 38.Czy
fetchodrzuci promise przy odpowiedzi 404? - 39.Jak anulować żądanie
fetch? - 40.Czym jest CORS?
- 41.Dlaczego ciasteczko z flagą
HttpOnlyjest bezpieczniejsze od zwykłego? - 42.Czym
stopPropagationróżni się odstopImmediatePropagation? - 43.Co robi opcja
{ passive: true }waddEventListener('touchmove', ...)? - 44.Jak wydajnie wstawić 1000 elementów do DOM?
- 45.Jak najwygodniej wykryć, że element pojawił się w viewporcie?
- 46.Jak poprawnie utworzyć własną klasę błędu?
- 47.Co zwraca
Object.fromEntries(Object.entries({ a: 1, b: 2 }).map(([k, v]) => [k, v * 10]))? - 48.Czym
getterróżni się od zwykłej właściwości? - 49.Co zwraca
Array.from({ length: 3 }, (_, i) => i * 2)? - 50.Co zwraca
{} === {}? - 51.W jakiej kolejności zostaną wypisane linie?
- 52.Dlaczego ten
catchnie obsługuje odrzucenia? - 53.Czym
arr.toSorted()różni się odarr.sort()? - 54.Co zwraca
"a-b-c".replace("-", "+")? - 55.Dlaczego handlery zdarzeń często pisze się jako pola klasy z funkcjami strzałkowymi?
- 56.Co wypisze ten kod?
- 57.Co zwraca
new Array(3).map((_, i) => i)? - 58.Jaki błąd rzuca
undefinedVariable.foo, a jakinull.foo? - 59.Co zwraca
typeof notDeclared, jeślinotDeclarednigdy nie zadeklarowano? - 60.Co się stanie po uruchomieniu tego kodu?
- 61.Co robi
new User("Ann")ze zwykłą funkcją konstruktora? - 62.Czym
Object.assign(target, source)różni się od{ ...target, ...source }? - 63.Po co tu dwa
await? - 64.Jak najprościej wysłać wszystkie pola
<form>przezfetch? - 65.Jak powiadomić inne części strony o czymś za pomocą zdarzenia DOM?
- 66.Której właściwości użyć, by wykryć naciśnięty klawisz?
- 67.Co robi
options.onSuccess?.(data)? - 68.Co robi
config.timeout ??= 5000? - 69.Po co zamieniać dużą listę dozwolonych ID na
Setprzed wieloma sprawdzeniami? - 70.Jak funkcja może przechowywać prywatny stan bez klas?
- 71.Co zwraca
event.target.closest("[data-id]")? - 72.Dlaczego
el.style.widthzwraca pusty string dla szerokości ustawionej w CSS? - 73.Jak przechowywać pieniądze, by uniknąć problemów z
0.1 + 0.2? - 74.Co wypisze ten kod?
- 75.Co zwraca
arr.with(1, "x")dlaarr = ["a", "b", "c"]?