☕ 10 вопросов с собеседований по JavaScript
Работаю в ИТ 6+ лет в сфере разработки ПО для мобильных устройств. Преимущественно работаю с экосистемой Apple. Разрабатываю для iPhone, iPad, iWatch. В этой статье мы рассмотрим 10 вопросов с собеседований по JavaScript и примеры ответов на них, которые помогут вам подготовиться к интервью. Это перевод статьи, автор Indeed Editorial Team. Ответ: Стрелочная функция – это краткий способ записи функциональных выражений. Стрелочные функции не являются конструкторами, не поддерживают ключевые слова Когда интервьюер просит дать определение термину, этот термин, как правило, является широко используемым. В этом случае, термин Ответ: Когда значение в операции не число, оно возвращает Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека фронтендера» Интересно, перейти к каналу Такой вопрос обычно оценивает ваши теоретические знания JavaScript. При ответе на этот вопрос рассмотрите возможность краткого перечисления всех примитивных типов данных, доступных в JavaScript. Ответ: Фундаментальный тип данных, который не может быть создан от других типов данных. Он ограничен представлением одного значения. По определению, все примитивы – встроенные типы данных, и компилятор должен знать их. Но не все встроенные типы данных – примитивы. В JavaScript доступно пять примитивных типов данных: Создать последовательность чисел Фибоначчи – очень популярная задача для программистов. Попробуйте правильно ответить на него с помощью кода. Ответ: Последовательность чисел Фибоначчи – это последовательность чисел, где каждое значение – это сумма двух предыдущих, начинается с 0 и 1. Первые пять значений это 0, 1, 1, 2, 3, 5, 8. Пример кода: Ответ: Вы можете добавить свойство к объекту используя, Ответ: С помощью этого вопроса интервьюер оценивает ваши базовые знания в веб-разработке. Ответ: Cookies – это небольшие текстовые файлы, которые хранятся на компьютере и создаются, когда пользователь заходит на веб-сайты. Например, это могут быть сведения о пользователе или информация о содержимом корзины покупок из прошлых посещений. Эти два термина относятся к циклам. Попробуйте объяснить, как операторы Ответ на этот вопрос может показать ваши знания вспомогательных процессов, которые, скорее всего, специфичны для библиотеки. Интервьюер, вероятно, хочет увидеть, понимаете ли вы различия между ними и достаточно ли осведомлены о них, чтобы определить наиболее практичный подход в любой конкретной ситуации. Стоит принимать во внимание, что микросервисы будут иметь широкий круг задач, связанных со сквозной функциональностью, которые не предполагались на этапе проектирования. В долгосрочной перспективе они, как правило, предпочтительнее из-за их автономной организации, что позволяет легко реструктурировать их по мере расширения или изменения их назначения. *** Желаем вам успехов в прохождении интервью! Иван Теленков
1. Объясните стрелочные функции
this
, arguments
, super
и new.target
и записываются следующим образом:
const hello = () => { console.log(‘good morning’); } hello();
2. Объясните NaN и его роль
NaN
, который означает «не число» – важная концепция, понимание которой, потребуется разработчикам на JavaScript при работе с числовыми значениями. NaN
. Это может произойти в нескольких случаях. Например, если операция возвращает неподходящий результат, потому что часть функции была нечисловой или результат имеет значение, не являющееся числовым.3. Что такое примитивные типы данных в JavaScript?
undefined
, null
, boolean
, string
, number.
Все остальное в JavaScript является объектом.4. Как рассчитать числа Фибоначчи в JavaScript?
// запросим ввод у пользователя const number = parseInt(prompt('Enter the no. of terms: ')); let n1 = 0, n2 = 1, nextNumber; console.log('Fibonacci Sequence:'); for (let i = 1; i <= number; i++) { console.log(n1); nextTerm = n1 + n2; n1 = n2; n2 = nextNumber; }
5. Как динамически добавлять и удалять свойства в JavaScript?
object.property_name = value
, и удалить свойство, используя delete
. Пример кода:
let person = new Object(); // добавляем свойство person.name='Rohan'; person.age=35; console.log(person); delete person.age; console.log(person);
6. Объясните различие между Object.freeze() и const
const
и Object.freeze
– две разные фичи JavaScript. const
применяется только для неизменяемой ссылки на ячейку памяти со значением, что означает невозможность задать новое значение для переменной.
const human = { name: "Rakesh" }; let animal = { species: "Monkey" }; human = animal; // ERROR "person" is read-only
Object.freeze
работает со значениями объектов. Делает объект неизменяемым, то есть изменить его свойства невозможно.
const human = { name: "Rakesh" }; let animal = { species: "Monkey" }; human = animal; // ERROR "human" is read-only let human = { name: "Rakesh" }; let animal = { species: "Monkey" }; Object.freeze(human); //TypeError: Cannot assign to read only property 'name' of object human.name = "Rohan"; console.log(human);
7. Объясните, что такое файлы cookie в JavaScript
8. Для чего используются операторы break и continue в JavaScript?
break
и continue
влияют на цикл.
Ответ: Оператор break
выходит из запущенного цикла в то время как, оператор continue
продолжает работу после прерывания всего одной итерации. Оба оператора позволяют написать сложную циклическую функцию с различными результатами и требуемыми действиями на основе заданного результата функции.9. Зачем оборачивать содержимое исходного JS-файла в блок функции?
Ответ: Этот метод заключает в себя содержимое файла, создавая приватное пространство имен. Такая реализация позволяет избежать конфликта между объектами JavaScript и библиотеками, в которых они размещены.10. Каковы преимущества и недостатки монолитной и микросервисной архитектуры?
Ответ: Монолитные архитектуры обычно реализуются как приложение в виде единого компонента, что упрощает добавление задач, связанных со сквозной функциональностью (англ. сross-cutting concern), таких как: ограничение запросов, ведение журнала и различные функции безопасности. То есть к сквозной относится «вспомогательная» функциональность модуля, не относящаяся напрямую к выполняемой задаче, но необходимая. Поначалу такая архитектура может показаться более практичной, но по мере развития приложения становится все труднее поддерживать код или масштабировать его.Материалы по теме
- 0 views
- 0 Comment