База ответов на вопросы по JavaScript в Оbsidian для успешного прохождения собеседования

Bot

Администратор
Команда форума
23 Янв 2020
191,623
3,088
113

Складчина: База ответов на вопросы по JavaScript в Оbsidian для успешного прохождения собеседования​

Огромная база знаний ответов на вопросы по языку программирования JavaScript в виде заметок в Obsidian.

Что внутри базы заметок Obsidian:
Все ключевые темы, которые реально спрашивают на собеседованиях:

Типы данных, нестрогое и строгое равенство (== и ===)
Hoisting, область видимости и замыкания
Разница между var, let и const
Прототипы, наследование и Object.create()
Асинхронность, таймеры, Promise, debounce() и throttle()
Методы массивов, строк и объектов
Каррирование, мемоизация, чистые функции
Контекст выполнения, this, IIFE, arguments
Иммутабельность, Proxy, Map, Set
Типы ошибок, NaN, утечки памяти, сборщик мусора

И десятки других тем, которые постоянно спрашивают на собеседованиях.
Каждый вопрос снабжён понятным объяснением, примерами кода и логикой, которую можно запомнить не зазубриванием, а пониманием.

Спойлер: Полный список вопросов
  1. Типы данных в JavaScript?
  2. Разница между == и === (нестрогое/строгое равенство)?
  3. Что такое Strict mode в JavaScript?
  4. Разница между function declaration и function expression?
  5. Разница между null и undefined?
  6. Типы таймеров в JavaScript?
  7. Что такое поднятие (Hoisting)?
  8. Что такое область видимости (Scope)?
  9. Разница между var, let и const?
  10. Что такое замыкание (Closure)?
  11. Что обозначает this в JavaScript?
  12. Что такое функции высшего порядка (Higher Order Functions)?
  13. Как превратить любой тип данных в булевый? Перечислите ложные значения в JS?
  14. Методы строк в JavaScript?
  15. Методы массивов в JavaScript?
  16. Что такое чистая функция?
  17. Разница между .forEach() и .map()?
  18. Разница между .call(), .apply() и bind()?
  19. Почему в JS функции называют объектами первого класса?
  20. Как определить наличие свойства в объекте?
  21. Что такое IIFE?
  22. Что такое псевдомассив arguments?
  23. Разница между host-объектами и нативными объектами?
  24. Почему результат сравнения 2х объектов это false?
  25. Что такое прототипное наследование? Как создать объект без прототипа?
  26. Почему расширение нативных JavaScript-объектов это плохая практика?
  27. Что такое NaN? Как определить, что значение равно NaN?
  28. Что такое объектная обертка (Wrapper Objects)?
  29. Как в JavaScript создать объект?
  30. Для чего используется ключевое слово new?
  31. Операторы «И» и «ИЛИ» (&& и ||)?
  32. Для чего используется оператор двойного отрицания (!!)?
  33. Для чего используется оператор остатка (%)?
  34. Как проверить, является ли значение массивом?
  35. Как работает boxing/unboxing в JavaScript?
  36. Что такое мемоизация? Реализуйте базовую логику функции для мемоизации?
  37. Разница между оператором in и методом .hasOwnProperty()?
  38. Разница между глубокой (deep) и поверхностной (shallow) копиями объекта? Как сделать каждую из них?
  39. Что такое цепочка вызовов функций (chaining)? Как реализовать такой подход?
  40. Что такое необъявленная переменная?
  41. Как передаются параметры в функцию: по ссылке или по значению?
  42. Что такое прототип объекта в JavaScript?
  43. Как работает метод Object.create()?
  44. Разниц между Object.freeze() и Object.seal()?
  45. Разница между методами .slice() и .splice()?
  46. Как работают методы .find(), .findIndex() и .indexOf()?
  47. Плюсы и минусы использования use strict?
  48. Разница между методами .push(), .pop(), .shift() и .unshift()?
  49. Плюсы и минусы иммутабельности? Как достичь иммутабельности в JS?
  50. Типы всплывающих окон в JavaScript?
  51. Типы объектов JavaScript?
  52. Парадигмы программирования в JavaScript?
  53. Типы ошибок в JavaScript?
  54. Разница между typeof и instanceof?
  55. JavaScript статически, или динамически типизированный язык?
  56. Что такое регулярное выражение (Regular Expression)?
  57. Что такое рекурсия?
  58. Что такое прототип (Prototype) объекта?
  59. Какие методы используются в регулярных выражениях?
  60. Что такое полифил (polyfill)?
  61. Что такое switch/case? Правила использования switch/case?
  62. Типы функций по способности принимать другие функции?
  63. Что такое выражения (expression) и инструкции (statement) в JavaScript?
  64. Разница между .some() и .every()?
  65. Как сгенерировать случайное число в JavaScript?
  66. Типы операторов в JavaScript?
  67. Разница между параметром и аргументом функции?
  68. Правила задания имён для переменных и функций в JavaScript?
  69. Разница между явным и неявным преобразованием (Implicit and Explicit Coercion)?
  70. Для чего применяется метод Array.from()?
  71. Назовите способы преобразования массива в объект?
  72. Разница между Object и Map?
  73. Что такое каррирование?
  74. Для чего используются метод Object.seal()?
  75. Для чего используется свойство .dataset?
  76. Каким образом можно обмениваться кодом между файлами?
  77. Как работает «сборщик мусора» в JavaScript?
  78. Что такое утечки памяти?
  79. Назовите основные типы утечек памяти в JavaScript?
  80. Как работает контекст выполнения (execution context) в JavaScript?
  81. Разница между примитивом и объектом?
  82. Что значит текст max call stack size exceeded в консоли?
  83. Как реализовать отложенную загрузку изображений?
  84. Чем отличаются события input и change?
  85. Почему typeof null возвращает object?
  86. Зачем нужен конструктор Proxy?
  87. Что такое хвостовая рекурсия? Оптимизация рекурсии?
  88. Что такое и как работает debounce() и throttle() в JavaScript?
  89. Как в JavaScript работают декораторы? Как они могут быть использованы для модификации поведения классов и методов?
  90. Как можно создать объекты с приватными свойствами и методами в JavaScript?
  91. Методы перехвата и обработки ошибок в веб-приложениях?
  92. Почему в JavaScript 0.1 + 0.2 !== 0.3?
  93. Почему глобальные переменные в JavaScript считаются "антипаттерном"?

upload_2025-10-12_16-29-30.png


upload_2025-10-12_16-30-40.png


Всё собрано в лучшем и удобном менеджере заметок Obsidian
Не просто список — а живая система заметок, где всё взаимосвязано.
Ты можешь переходить от темы к теме, искать по ключевым словам, быстро повторять перед собесом и собирать собственную базу знаний.
Примеры кода, краткие конспекты, связи между идеями — всё под рукой.

Кому подойдёт

– Тем, кто готовится к первому собеседованию по JavaScript.
– Тем, кто хочет систематизировать знания перед переходом с Junior на Middle.
– Тем, кто просто устал от разрозненных статей, видео и хаоса закладок.

Что ты получишь

✅ Уверенность на собеседовании — без паники и догадок.
✅ Понимание, а не зубрёжку.
✅ Удобную базу в Obsidian, которую можно дополнять и развивать.
✅ Систему, которая делает из знаний — мышление разработчика.

Бонус за одну рекламу:

Инструкция, в которой я подробно со скринами объясняю как настроить синхронизацию базы заметок в Obisidian между ноутбуком и смартфоном.

Дополнительно предоставляю информацию о всех плагины, которые установлены у меня для комфортного изучения материала.