Складчина: База ответов на вопросы по JavaScript в Оbsidian для успешного прохождения собеседования
Огромная база знаний ответов на вопросы по языку программирования JavaScript в виде заметок в Obsidian.Что внутри базы заметок Obsidian:
Все ключевые темы, которые реально спрашивают на собеседованиях:
Типы данных, нестрогое и строгое равенство (== и ===)
Hoisting, область видимости и замыкания
Разница между var, let и const
Прототипы, наследование и Object.create()
Асинхронность, таймеры, Promise, debounce() и throttle()
Методы массивов, строк и объектов
Каррирование, мемоизация, чистые функции
Контекст выполнения, this, IIFE, arguments
Иммутабельность, Proxy, Map, Set
Типы ошибок, NaN, утечки памяти, сборщик мусора
И десятки других тем, которые постоянно спрашивают на собеседованиях.
Каждый вопрос снабжён понятным объяснением, примерами кода и логикой, которую можно запомнить не зазубриванием, а пониманием.
Спойлер: Полный список вопросов
- Типы данных в JavaScript?
- Разница между == и === (нестрогое/строгое равенство)?
- Что такое Strict mode в JavaScript?
- Разница между function declaration и function expression?
- Разница между null и undefined?
- Типы таймеров в JavaScript?
- Что такое поднятие (Hoisting)?
- Что такое область видимости (Scope)?
- Разница между var, let и const?
- Что такое замыкание (Closure)?
- Что обозначает this в JavaScript?
- Что такое функции высшего порядка (Higher Order Functions)?
- Как превратить любой тип данных в булевый? Перечислите ложные значения в JS?
- Методы строк в JavaScript?
- Методы массивов в JavaScript?
- Что такое чистая функция?
- Разница между .forEach() и .map()?
- Разница между .call(), .apply() и bind()?
- Почему в JS функции называют объектами первого класса?
- Как определить наличие свойства в объекте?
- Что такое IIFE?
- Что такое псевдомассив arguments?
- Разница между host-объектами и нативными объектами?
- Почему результат сравнения 2х объектов это false?
- Что такое прототипное наследование? Как создать объект без прототипа?
- Почему расширение нативных JavaScript-объектов это плохая практика?
- Что такое NaN? Как определить, что значение равно NaN?
- Что такое объектная обертка (Wrapper Objects)?
- Как в JavaScript создать объект?
- Для чего используется ключевое слово new?
- Операторы «И» и «ИЛИ» (&& и ||)?
- Для чего используется оператор двойного отрицания (!!)?
- Для чего используется оператор остатка (%)?
- Как проверить, является ли значение массивом?
- Как работает boxing/unboxing в JavaScript?
- Что такое мемоизация? Реализуйте базовую логику функции для мемоизации?
- Разница между оператором in и методом .hasOwnProperty()?
- Разница между глубокой (deep) и поверхностной (shallow) копиями объекта? Как сделать каждую из них?
- Что такое цепочка вызовов функций (chaining)? Как реализовать такой подход?
- Что такое необъявленная переменная?
- Как передаются параметры в функцию: по ссылке или по значению?
- Что такое прототип объекта в JavaScript?
- Как работает метод Object.create()?
- Разниц между Object.freeze() и Object.seal()?
- Разница между методами .slice() и .splice()?
- Как работают методы .find(), .findIndex() и .indexOf()?
- Плюсы и минусы использования use strict?
- Разница между методами .push(), .pop(), .shift() и .unshift()?
- Плюсы и минусы иммутабельности? Как достичь иммутабельности в JS?
- Типы всплывающих окон в JavaScript?
- Типы объектов JavaScript?
- Парадигмы программирования в JavaScript?
- Типы ошибок в JavaScript?
- Разница между typeof и instanceof?
- JavaScript статически, или динамически типизированный язык?
- Что такое регулярное выражение (Regular Expression)?
- Что такое рекурсия?
- Что такое прототип (Prototype) объекта?
- Какие методы используются в регулярных выражениях?
- Что такое полифил (polyfill)?
- Что такое switch/case? Правила использования switch/case?
- Типы функций по способности принимать другие функции?
- Что такое выражения (expression) и инструкции (statement) в JavaScript?
- Разница между .some() и .every()?
- Как сгенерировать случайное число в JavaScript?
- Типы операторов в JavaScript?
- Разница между параметром и аргументом функции?
- Правила задания имён для переменных и функций в JavaScript?
- Разница между явным и неявным преобразованием (Implicit and Explicit Coercion)?
- Для чего применяется метод Array.from()?
- Назовите способы преобразования массива в объект?
- Разница между Object и Map?
- Что такое каррирование?
- Для чего используются метод Object.seal()?
- Для чего используется свойство .dataset?
- Каким образом можно обмениваться кодом между файлами?
- Как работает «сборщик мусора» в JavaScript?
- Что такое утечки памяти?
- Назовите основные типы утечек памяти в JavaScript?
- Как работает контекст выполнения (execution context) в JavaScript?
- Разница между примитивом и объектом?
- Что значит текст max call stack size exceeded в консоли?
- Как реализовать отложенную загрузку изображений?
- Чем отличаются события input и change?
- Почему typeof null возвращает object?
- Зачем нужен конструктор Proxy?
- Что такое хвостовая рекурсия? Оптимизация рекурсии?
- Что такое и как работает debounce() и throttle() в JavaScript?
- Как в JavaScript работают декораторы? Как они могут быть использованы для модификации поведения классов и методов?
- Как можно создать объекты с приватными свойствами и методами в JavaScript?
- Методы перехвата и обработки ошибок в веб-приложениях?
- Почему в JavaScript 0.1 + 0.2 !== 0.3?
- Почему глобальные переменные в JavaScript считаются "антипаттерном"?
Всё собрано в лучшем и удобном менеджере заметок Obsidian
Не просто список — а живая система заметок, где всё взаимосвязано.
Ты можешь переходить от темы к теме, искать по ключевым словам, быстро повторять перед собесом и собирать собственную базу знаний.
Примеры кода, краткие конспекты, связи между идеями — всё под рукой.
Кому подойдёт
– Тем, кто готовится к первому собеседованию по JavaScript.
– Тем, кто хочет систематизировать знания перед переходом с Junior на Middle.
– Тем, кто просто устал от разрозненных статей, видео и хаоса закладок.
Что ты получишь




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