JavaScript — самый популярный язык программирования внешнего интерфейса, более 97% веб-сайтов созданы с использованием JavaScript. Если вы студент, изучающий программную инженерию и веб-разработку, или если вы инженер-программист, который ищет инженера-разработчика программного обеспечения для внешнего интерфейса или инженера-программиста с полным стеком, есть некоторые основополагающие концепции JavaScript, которые вы должны знать, и вопросы для собеседования, которые вы должны подготовить для технического собеседования. или экран телефона.

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

  1. В чем разница между let, const и var?

Таким образом, Var имеет функциональную область, а Let и Const — блочную. Var использовался с самого начала JavaScript, но больше не используется с ES6/ES2015, который был обновлением JavaScript, придавшим ему больше функциональности. Var имеет глобальную область видимости, если у вас есть оператор if и вы устанавливаете переменную, то за пределами этого оператора if или блока есть другая переменная с таким же именем, это может быть конфликтом и может вызвать проблемы для вашего кода.

Let был добавлен с ES6/ES2015, он позволяет вам переназначать значения и используется, когда вы хотите изменить значение.

Const (Константа) также был добавлен с ES6/ES2015 и используется, когда вы присваиваете значение, которое не будет меняться. Всегда следует использовать Const, если только вы не знаете, что хотите переназначить значение. Это сделает ваш код менее подверженным ошибкам.

2. В чем разница между == и ===?

== сравнивает значения только двух элементов и пытается привести два значения к одному и тому же типу данных.

=== сравнивает точные элементы, и если два элемента имеют разные типы данных, даже если они имеют одинаковое значение, возвращается «false».

3. В чем разница между null и undefined?

Null — это объект, преднамеренное отсутствие значения.

Undefined — это тип данных, переменная не объявлена ​​и не определена.

4. Что такое замыкание в JavaScript?

Вы можете назвать «внутреннюю» функцию, анонимную функцию, «замыканием». Он «закрывает» область действия своего родителя на функциональном уровне. Внутренняя функция может ссылаться на внешнюю.

5. Что такое подъем в JavaScript?

В JavaScript «поднятие» связано с тем, как объявления переменных и функций поднимаются наверх текущей области видимости. Объявления переменных и функций обрабатываются до выполнения любого кода. (Поскольку движок JavaScript читает файл JavaScript сверху вниз, было бы разумно определить функцию перед ее вызовом.) Этот процесс называется подъемом, поскольку немного похоже на то, что ваши объявления поднимаются или поднимаются на вершину текущей области. Ваши объявления оцениваются до запуска остального кода. Тем не менее, подъем — это немного неправильное название: физическое расположение кода вообще не меняется.

Примечание. В JavaScript подъем применяется только к объявлениям переменных и функций, а не к назначениям.

6. В чем разница между объектом и массивом?

Объект представляет собой тип данных и набор свойств, ограниченных фигурными скобками {}. Свойства могут указывать на значения любого типа данных, даже на другие объекты. Вы можете думать об объекте как о наборе пар ключ-значение или о способе хранения всей нашей информации в единой структуре данных, сохраняя при этом описательную схему именования. Объекты в JavaScript похожи на хэш Ruby, словарь Python или структуру C-подобного языка.

Массив — это тип данных и список элементов в последовательном порядке, ограниченный скобками []. В JavaScript вы можете иметь несколько типов данных в массиве. В других языках у вас должны быть те же типы данных, некоторые языки даже требуют, чтобы вы установили количество элементов в массиве.

7. Что означает JSON и для чего он используется?

JSON расшифровывается как «Обозначение объекта JavaScript». JSON — это текстовый формат данных, который легко передавать через Интернет.

8. В чем разница между GET и POST при выполнении запросов AJAX?

GET и POST — это два разных HTTP-запроса.

GET используется, когда вы извлекаете данные

POST используется, когда вы отправляете данные для создания или обновления ресурса.

9. В чем разница между обещанием и обратным вызовом?

Объект обещания — это объект, представляющий некоторое значение, которое будет доступно позже. Вы можете получить доступ к данным, когда обещание «разрешится» и станет доступным, привязав функцию .then() к вашему вызову fetch(). Вы можете думать, что обещание похоже на получение рецепта китайской еды на вынос, пока вы его ждете: как только вы вызываете функцию, вы немедленно получаете ответ, и ответ позже будет представлять значение в более позднее время, что в настоящее время является только будущей стоимостью, и у вас уже есть какая-то ценность, которую вы можете за нее показать.

Обратный вызов — это когда вы передаете выражение функции (анонимная функция) или указатель (имя переменной/объявленное имя функции) на функцию в качестве аргумента, переданная функция является обратным вызовом. Так как принимающая функция будет выполняться или вызывать эту функцию позже, она «вызовет ее обратно». Вы можете думать об обратном вызове, как о ожидании вашей китайской еды на вынос, когда вам нечего предъявить, пока она не будет доставлена, и вы не получите обратный вызов.

10. В чем разница между синхронизацией и асинхронностью?

Sync (Synchronous) в JavaScript запускает вызовы параллельно.

Асинхронный (асинхронный) означает, что вызов должен быть завершен до выполнения следующего или двух или более объектов или событий, которые не существуют или происходят одновременно, что позволяет выполнять задачу вместе с исходной задачей (задачами), не останавливаясь для ожидания задание выполнить.