← Усі теми

Питання на співбесіді з JavaScript (Middle) з відповідями

75 запитань для співбесіди з теми JavaScript (Middle) - з правильними відповідями, поясненнями й посиланнями на документацію.

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