Питання на співбесіді з JavaScript (Middle) з відповідями
75 запитань для співбесіди з теми JavaScript (Middle) - з правильними відповідями, поясненнями й посиланнями на документацію.
Пройти цей тест- 1.Що виведе код?
- 2.Чим
call,applyіbindвідрізняються один від одного? - 3.Що виведе код?
- 4.Що виведе код через секунду?
- 5.Що виведе код?
- 6.Як рушій шукає властивість, якої немає в самого об'єкта?
- 7.Що робить
Object.create(proto)? - 8.Чим насправді є класи в JavaScript?
- 9.Чому в конструкторі нащадка треба викликати
super()до звернення доthis? - 10.Чим
#countвідрізняється від_countу класі? - 11.Як працює
obj instanceof Class? - 12.Що виведе код?
- 13.Для чого раніше використовували IIFE
(function () { ... })()? - 14.Що таке каррінг?
- 15.Чим debounce відрізняється від throttle?
- 16.Що таке мемоізація?
- 17.Як поведеться
Promise.all, якщо один із промісів відхилиться? - 18.Що поверне
Promise.allSettled? - 19.Чим
Promise.anyвідрізняється відPromise.race? - 20.Скільки часу займе код, якщо кожен запит триває 1 секунду?
- 21.Чому
forEachне чекає на асинхронні колбеки? - 22.Що виведе ланцюжок?
- 23.Що робить
.finally()у промісу? - 24.У якому порядку виведуться рядки?
- 25.Чому рекурсивний
setTimeoutіноді кращий заsetInterval? - 26.Для чого
requestAnimationFrame? - 27.Що робить функція-генератор?
- 28.Що потрібно, щоб власний об'єкт працював із
for...ofі spread? - 29.Для чого використовують
Symbol? - 30.Чим
WeakMapвідрізняється відMap? - 31.Чим
structuredClone(obj)кращий заJSON.parse(JSON.stringify(obj))? - 32.Що виведе код?
- 33.Що дає
Object.defineProperty(obj, 'id', { value: 1, writable: false })? - 34.Що виведе
[10, 1, 2].sort()? - 35.Що повернуть
parseInt('12px')іNumber('12px')? - 36.Чим ES-модулі відрізняються від CommonJS?
- 37.Навіщо потрібен динамічний
import()? - 38.Чи відхилить
fetchпроміс у разі відповіді 404? - 39.Як скасувати запит
fetch? - 40.Що таке CORS?
- 41.Чим cookie з прапорцем
HttpOnlyбезпечніша за звичайну? - 42.Чим
stopPropagationвідрізняється відstopImmediatePropagation? - 43.Що дає опція
{ passive: true }вaddEventListener('touchmove', ...)? - 44.Як ефективно вставити в DOM 1000 елементів?
- 45.Як найзручніше визначити, що елемент з'явився у viewport?
- 46.Як правильно створити власний клас помилки?
- 47.Що поверне
Object.fromEntries(Object.entries({ a: 1, b: 2 }).map(([k, v]) => [k, v * 10]))? - 48.Чим
getterвідрізняється від звичайної властивості? - 49.Що поверне
Array.from({ length: 3 }, (_, i) => i * 2)? - 50.Що поверне
{} === {}? - 51.У якому порядку виводяться рядки?
- 52.Чому цей
catchне обробляє відхилення? - 53.Чим
arr.toSorted()відрізняється відarr.sort()? - 54.Що повертає
"a-b-c".replace("-", "+")? - 55.Чому обробники подій часто пишуть як поля класу зі стрілковими функціями?
- 56.Що виведе цей код?
- 57.Що повертає
new Array(3).map((_, i) => i)? - 58.Яку помилку кидає
undefinedVariable.foo, а яку -null.foo? - 59.Що повертає
typeof notDeclared, якщоnotDeclaredніколи не оголошувалася? - 60.Що станеться під час виконання цього коду?
- 61.Що робить
new User("Ann")зі звичайною функцією-конструктором? - 62.Чим
Object.assign(target, source)відрізняється від{ ...target, ...source }? - 63.Навіщо тут два
await? - 64.Як найпростіше надіслати всі поля
<form>черезfetch? - 65.Як повідомити інші частини сторінки про щось через DOM-подію?
- 66.Яку властивість використовувати, щоб визначити натиснуту клавішу?
- 67.Що робить
options.onSuccess?.(data)? - 68.Що робить
config.timeout ??= 5000? - 69.Навіщо перетворювати великий список дозволених ID на
Setперед багатьма перевірками? - 70.Як функція може зберігати приватний стан без класів?
- 71.Що повертає
event.target.closest("[data-id]")? - 72.Чому
el.style.widthповертає порожній рядок для ширини, заданої в CSS? - 73.Як зберігати гроші, щоб уникнути проблем із
0.1 + 0.2? - 74.Що виведе цей код?
- 75.Що повертає
arr.with(1, "x")дляarr = ["a", "b", "c"]?