Содержание[Скрывать][Показывать]
- 1. Что для вас значит JavaScript?
- 2. Назовите две основные парадигмы программирования для разработки JavaScript.
- 3. Что отличает JavaScript от Java?
- 4. Какие формы данных поддерживает JavaScript?
- 5. Какими качествами обладает JavaScript?
- 6. Каковы недостатки использования JavaScript?
- 7. Как JavaScript позволяет создавать объекты?
- 8. Как создать массив в JavaScript?
- 9. Как определить функцию имени в JavaScript и что это такое?
- 10. В JavaScript опишите подъем.
- 11. Что влекут за собой области видимости переменных в JavaScript?
- 12. Что быстрее, скрипт ASP или JavaScript?
- 13. Опишите, чем прототипное наследование отличается от классического наследования.
- 14. Напишите программу, которая будет динамически добавлять новые компоненты.
- 15. Обратный вызов: что это такое?
- 16. Как можно отлаживать программу на JavaScript?
- 17. Закрытие: что это? Дайте иллюстрацию.
- 18. Какие существуют способы включения кода JavaScript в файл HTML?
- 19. Как работают таймеры в JavaScript?
- 20. Что вы думаете о файлах cookie?
- 21. Как сделать печенье?
- 22. Каковы соглашения об именах переменных JavaScript?
- 23. Чем отличаются друг от друга let и var?
- 24. Почему существуют самовызывающиеся функции?
- 25. Что отличает свойство от атрибутов?
- 26. Что делают стрелочные функции в JavaScript?
- 27. Что такое типизированный язык?
- 28. В JavaScript, пожалуйста, опишите ОТРИЦАТЕЛЬНУЮ БЕСКОНЕЧНОСТЬ.
- 29. Чем undefined отличается от null?
- 30. Напишите код JavaScript, чтобы показать, как получить внутренний HTML-код элемента.
- 31. Какие есть фреймворки JavaScript?
- 32. Что такое всплеск событий в JavaScript?
- 33. Что означает мемоизация JavaScript?
- 34. Что означают импорт и экспорт?
- 35. Что такое «строгий» режим JavaScript и как его активировать?
- 36. Что делает оператор instanceof?
- 37. Что в JavaScript означает окно подсказки?
- 38. Что делает генератор в JavaScript?
- 39. Спецификация: что это?
- 40. Отложенные скрипты: какую функцию они выполняют в JavaScript?
- Заключение
Бесплатный язык программирования с открытым исходным кодом — это JavaScript. Он предназначен для создания веб-приложений. Он легкий и интерпретируемый, что делает его намного быстрее, чем другие языки.
Легче использовать JavaScript в веб-приложений из-за интеграции с HTML. Чтобы определить, насколько это важно, отключите JavaScript в своем браузере и попробуйте загрузить страницу.
Эти веб-сайты не будут работать правильно. Их содержимое часто ведет себя плохо. Почти все современные браузеры смешивают HTML, CSS и JavaScript.
JavaScript является одним из интерпретируемых языки программирования. Интерпретатор уже включен во многие браузеры, включая Google Chrome, Microsoft Internet Explorer и другие.
Таким образом, его код может обрабатываться движком JavaScript браузера. Вот вопросы и ответы для начинающих на JS-интервью на уровне экспертов для справки, если вы готовы к собеседованию.
Цель же состоит в том, чтобы познакомить вас с типами вопросов, с которыми вы можете столкнуться во время вашего технического собеседования. Давайте начнем.
1. Что для вас значит JavaScript?
Наиболее часто используемый язык веб-скриптов, используемый как для клиентского, так и для серверного программирования, — это JavaScript. Код JavaScript можно размещать на HTML-страницах, которые веб-браузеры могут понимать и выполнять, поддерживая возможности объектно-ориентированного программирования.
2. Назовите две основные парадигмы программирования для разработки JavaScript.
Программирование с помощью мультипарадигмального языка JavaScript позволяет:
- процедурное/императивное программирование
- Объектно-ориентированное программирование (ООП)
- Использование функционального программирования
- Подход к программированию на основе прототипов или наследование на основе прототипов (расширение ООП)
3. Что отличает JavaScript от Java?
В то время как JavaScript — это в первую очередь язык сценариев, Java — это язык программирования. Java — это язык программирования, используемый разработчиками для создания программ, которые могут работать в операционной системе компьютера, виртуальной машине или веб-браузере. Напротив, код JS предназначен для работы только в браузере.
Но с помощью Electron и Node.js можно создавать независимые настольные приложения на JavaScript. Код Java и JS существенно отличаются тем, что последний доступен в текстовом формате, а первый требует компиляции.
4. Какие формы данных поддерживает JavaScript?
Типы данных, которые поддерживает JavaScript, включают:
- строка
- Символ
- Номер регистрации
- объект
- Не определено
- Значение Null
- Логический
5. Какими качествами обладает JavaScript?
Это бесплатный и универсальный язык сценариев.
Это легкий интерпретируемый язык программирования.
Он предназначен для создания сетецентрических приложений.
Оба связаны и дополняют Java.
6. Каковы недостатки использования JavaScript?
Программисты с опытом смогут обсудить недостатки предпочитаемого ими языка в дополнение к восхвалению его достоинств. Безопасность — худший недостаток JavaScript. Ищите информацию о том, как ею можно злоупотреблять.
Еще одним недостатком JavaScript является его широкое использование и адаптируемость, что может быть обоюдоострым мечом, поскольку он оставляет много места для странностей программирования, которые могут привести к неравномерной производительности на разных системах.
7. Как JavaScript позволяет создавать объекты?
Идея объектов хорошо поддерживается JavaScript. Используя литерал объекта, вы можете создать объект, как показано ниже:
8. Как создать массив в JavaScript?
Литерал массива можно использовать для определения массивов следующим образом:
9. Как определить функцию имени в JavaScript и что это такое?
Когда именованная функция определена, она немедленно определяет имя. Его можно описать следующим образом, используя ключевое слово function:
10. В JavaScript опишите подъем.
Все объявления переменных и функций по умолчанию в JavaScript смещаются вверх, что называется подъемом. Это означает, что все переменные и функции, независимо от того, где они определены, перемещаются в верхнюю часть области видимости. Досягаемость может быть местной или международной.
11. Что влекут за собой области видимости переменных в JavaScript?
Раздел вашей программы, в котором определена переменная, является областью действия переменной. Есть только две области видимости, которые может иметь переменная JavaScript.
- Глобальные переменные. Везде в вашем коде JavaScript можно увидеть глобальную переменную, поскольку она имеет глобальную область действия.
- Локальные переменные: локальная переменная будет видна только внутри функции, в которой она объявлена. Локально для этой функции всегда присутствуют аргументы функции.
12. Что быстрее, скрипт ASP или JavaScript?
Быстрее JavaScript. JavaScript можно выполнять без помощи веб-сервера, потому что это клиентский язык. Однако, поскольку ASP — это серверный язык, он всегда будет медленнее, чем JavaScript. В настоящее время JavaScript также является серверным языком (nodejs).
13. Опишите, чем прототипное наследование отличается от классического наследования.
У JavaScript есть замечательная возможность избавиться от строгих ограничений традиционного наследования и позволить объектам наследовать атрибуты других объектов. –
- Классическое наследование: с помощью ключевого слова «new» функция-конструктор создает экземпляр. Атрибуты родительского класса передаются этому новому экземпляру.
- Наследование прототипов: существующий объект, выступающий в качестве прототипа, копируется для создания экземпляра. Выборочное наследование от большого количества объектов может быть выгодным для этого экземпляра, который часто создается с помощью фабричной функции или «Object.create()».
14. Напишите программу, которая будет динамически добавлять новые компоненты.
15. Обратный вызов: что это такое?
Простая функция JavaScript, отправляемая в качестве аргумента или параметра метода, называется обратным вызовом. Термин «обратный вызов» относится к функции, которая предназначена для выполнения после завершения другой функции. Функции — это объекты в JavaScript. Объекты JavaScript — это функции. Таким образом, функции могут возвращать другие функции и получать другие функции в качестве входных данных.
16. Как можно отлаживать программу на JavaScript?
При нажатии соответствующей клавиши, обычно клавиши F12, все современные веб-браузеры, включая Chrome, Firefox и другие, поставляются со встроенным отладчиком, который можно использовать в любое время.
Пользователи могут воспользоваться различными функциями, предлагаемыми инструментами отладки. Редактор кода, который мы используем для создания приложений JavaScript, также позволяет устранять неполадки в коде JavaScript.
17. Закрытие: что это? Дайте иллюстрацию.
Когда доступ к переменной, указанной за пределами текущей области, осуществляется из области, которая находится внутри нее, создаются замыкания. Это позволяет вам получить доступ к области действия внешней функции из внутренней функции.
Каждый раз, когда функция генерируется в JavaScript, также создается замыкание. Просто напишите функцию внутри другой функции, выставьте ее, а затем используйте для реализации замыкания.
18. Какие существуют способы включения кода JavaScript в файл HTML?
Код JavaScript можно вставить в основном одним из двух способов:
- Когда на веб-странице требуется всего несколько строк сценария, мы можем написать код JavaScript в элементе сценария в том же файле HTML.
- Чтобы добавить все функции сценариев на веб-страницу, не засоряя код, мы можем импортировать исходный файл JavaScript в документ HTML.
19. Как работают таймеры в JavaScript?
Таймеры используются для запуска или повторения фрагмента кода в заданное время. Для этого используются методы setTimeout, setInterval и clearInterval.
С помощью функции setTimeout(function, delay) устанавливается таймер, запускающий определенную функцию после указанной задержки. Функция setInterval(function, delay) многократно запускает указанную функцию с указанной задержкой и останавливается только при отмене.
Таймер сообщает об окончании с помощью метода clearInterval(id). Поскольку таймеры запускаются в одном потоке, события могут ставиться в очередь и ждать выполнения.
20. Что вы думаете о файлах cookie?
Файл cookie часто представляет собой небольшой фрагмент данных, который веб-сайт отправляет на компьютер пользователя и который сохраняется там веб-браузером, который использовался для посещения страницы.
Файлы cookie используются для регистрации действий при просмотре веб-сайта и для запоминания информации для последующего использования.
21. Как сделать печенье?
Ниже приведен простейший метод JavaScript для создания файлов cookie:
22. Каковы соглашения об именах переменных JavaScript?
При именовании переменных в JavaScript необходимо придерживаться следующих правил:
Любые зарезервированные ключевые слова JavaScript не должны использоваться в качестве имен переменных. Например, имена переменных, оканчивающиеся на break или boolean, недействительны.
Имя переменной в JavaScript не должно начинаться с цифры (0-9). Они должны начинаться с буквы или символа подчеркивания.
Например, 123name не является допустимым именем переменной, хотя _123name или name123 допустимы. Регистр имеет значение в именах переменных JavaScript. Тест и тест, например, являются двумя разными переменными.
23. Чем отличаются друг от друга let и var?
В JavaScript объявления переменных и методов могут быть сделаны с помощью let или var. Единственное реальное различие между ними заключается в том, что ключевое слово let ограничено блоком, тогда как ключевое слово var ограничено функцией.
24. Почему существуют самовызывающиеся функции?
Другими названиями для них являются немедленно вызываемые функциональные выражения или самовыполняющиеся анонимные функции. Они известны как «самозапускающиеся функции», поскольку они вызываются кодом автоматически.
Мы пишем функцию и вызываем ее. Однако анонимные функции можно использовать, если мы хотим, чтобы функция запускалась автоматически, когда она объяснена, и если мы не будем использовать ее снова. Кроме того, у некоторых функций нет имени.
25. Что отличает свойство от атрибутов?
Атрибуты объектов JS DOM функционируют аналогично переменным экземпляра для определенных компонентов. Свойство может включать в себя различные типы данных.
Вы можете получить доступ к свойствам, взаимодействуя с объектом в Vanilla JS или используя функцию prop() jQuery.
Атрибуты находятся в HTML, а не в DOM. Они сопоставимы со свойствами, но имеют меньшие возможности. Если свойства доступны, рекомендуется работать с ними, а не с атрибутами.
Атрибут — это строковый тип данных, в отличие от свойства.
26. Что делают стрелочные функции в JavaScript?
В JavaScript стрелочные функции — это быстрый и понятный способ написания функций. Функция стрелки имеет следующий общий синтаксис:
27. Что такое типизированный язык?
В типизированных языках друг с другом связаны значения, а не переменные. Есть две категории:
Динамически: в отличие от JS, где переменная может принимать число или строку, это позволяет переменной содержать множество типов.
Статически: здесь переменная может хранить только один тип; например, в Java строковая переменная может хранить только определенный набор символов.
28. В JavaScript, пожалуйста, опишите ОТРИЦАТЕЛЬНУЮ БЕСКОНЕЧНОСТЬ.
Когда отрицательное целое число делится на 0, в JS создается статическое свойство NEGATIVE INFINITY. Вот некоторые из его важнейших черт:
Для доступа к NEGATIVE INFINITY не нужно создавать никаких дополнительных объектов.
Значение свойства NEGATIVE INFINITY соответствует отрицательному значению свойства бесконечности для глобального объекта.
29. Чем undefined отличается от null?
Undefined обозначает объявленную переменную, которой еще не присвоено значение. С другой стороны, Null — это значение присваивания. Его можно использовать для указания отсутствия значения и присваивать переменной.
Undefined — это тип сам по себе (undefined), тогда как null — это объект. Undefined и null также являются двумя разными типами.
30. Напишите код JavaScript, чтобы показать, как получить внутренний HTML-код элемента.
31. Какие есть фреймворки JavaScript?
Фреймворк приложения, созданный на JavaScript, известен как фреймворк JavaScript. С точки зрения поток управления, это отличается от библиотеки JavaScript. Существует несколько доступных фреймворков JavaScript, однако некоторые из наиболее популярных включают в себя:
- Угловой
- реагировать
- Vue
32. Что такое всплеск событий в JavaScript?
Когда событие происходит в одном элементе внутри другого элемента, и оба элемента зарегистрировали дескриптор для этого события, HTML DOM API использует всплывающую подсказку события как метод распространения события.
При всплытии событие сначала обнаруживается и обрабатывается самым внутренним элементом, а затем передается окружающим компонентам.
Начиная с этого события, выполнение переходит к его родительскому элементу. После этого его родительский элемент получает выполнение, и так до элемента body.
33. Что означает мемоизация JavaScript?
Запоминание — это метод оптимизации, который ускоряет ваш код, сохраняя результаты дорогостоящих вызовов функций и повторно используя их при повторном получении того же ввода.
Функция называется дорогостоящей, если для ее выполнения требуется много времени и памяти, поскольку она выполняет сложные вычисления. Кэш быстро заполняется результатом дорогостоящего вызова функции.
Эта же функция пропустит необходимые вычисления и вернет кэшированное значение, если она будет вызвана снова с теми же входными параметрами.
Поскольку функции не нужно повторять какие-либо вычисления или вычисления, которые она уже выполнила, этот метод значительно экономит время и память, используемые вашей программой.
34. Что означают импорт и экспорт?
Мы можем создавать модульный код JavaScript с помощью импорта и экспорта. Мы можем разделить наш код на несколько файлов, используя импорт и экспорт. Примеры включают
35. Что такое «строгий» режим JavaScript и как его активировать?
Вы можете улучшить проверку ошибок в своем коде, используя строгий режим.
При использовании строгого режима вы не можете добавлять свойства к нерасширяемым объектам, назначать значения свойствам только для чтения, использовать неявно объявленные переменные или назначать значения переменным только для чтения.
Начав файл, программу или функцию с «use strict», вы можете активировать строгий режим.
36. Что делает оператор instanceof?
Оператор instanceof определяет, есть ли в цепочке прототипов объекта какие-либо экземпляры свойства прототипа конструктора. Другими словами, оператор instanceof во время выполнения определяет, является ли объект экземпляром класса.
Оператор instanceof используется в приведенном ниже примере для определения типа переменных пользователей.
37. Что в JavaScript означает окно подсказки?
Окно подсказки — это поле с текстовым полем, которое позволяет пользователю вводить данные. Диалоговое окно с запросом ввода отображается с помощью функции prompt(). Используйте поле подсказки, если вам нужно, чтобы пользователь ввел значение перед просмотром страницы.
Пользователь должен выбрать «ОК» или «Отмена» во всплывающем окне, которое появляется после ввода значения, чтобы продолжить.
38. Что делает генератор в JavaScript?
Генераторы — это функции, которые можно использовать в разное время. Контекст и привязки переменных этих функций сохраняются и поддерживаются при повторных входах.
Первоначальный вызов функции-генератора возвращает итератор определенного типа, называемый генератором. Следующим шагом является вызов следующего метода генератора для использования значения. Пока не встретится ключевое слово yield, функция генератора продолжает работать.
39. Спецификация: что это?
BOM, или объектная модель браузера, позволяет пользователям взаимодействовать с браузерами, в которых окно выступает в качестве первого объекта. В дополнение к другим функциям объект окна имеет документ, историю, экран, навигатор и местоположение.
Однако к функции окна можно получить доступ как напрямую, так и посредством ссылки на окно.
40. Отложенные скрипты: какую функцию они выполняют в JavaScript?
Браузер начинает анализировать HTML-код при загрузке страницы. По умолчанию браузер приостанавливает синтаксический анализ HTML-кода при обнаружении скрипта и вместо этого запускает скрипт.
После завершения скрипта браузер возобновляет обработку HTML-кода.
Загрузка страницы будет задерживаться из-за медленного сервера или большого скрипта. Отложенные сценарии откладывают выполнение сценария до тех пор, пока документ не будет обработан.
Эта задержка выполнения скрипта сокращает время, необходимое для загрузки веб-страницы.
Заключение
Мы надеемся, что эти вопросы на собеседовании по JavaScript будут вам полезны, независимо от того, являетесь ли вы разработчиком, готовящимся к встрече, или менеджером по найму, пытающимся найти подходящего кандидата.
Помните, что технические знания и опыт составляют лишь небольшую часть процесса найма. Чтобы гарантировать, что вы получите (или найдете подходящего кандидата) работу, прошлый опыт и социальные навыки одинаково важны.
Имейте в виду, что часто есть несколько правильных ответов на открытые вопросы интервью по JavaScript. Интервьюеров интересует причина ваших ответов, а не только ответ, который вы запомнили.
Будьте готовы к последующим вопросам о том, как вы пришли к своему ответу, и всегда будьте в состоянии объяснить ход ваших мыслей.
Узнать подробности Серия интервью Хэшдорка за помощь в подготовке к интервью.
Arun
Вау, эта статья очень помогла мне во время подготовки к собеседованию по Javascript.