99% людей не обязательно знают ответ.

Предисловие

Недавно мой друг Кэнди участвовал в интервью, и его попросили ответить на 10 вопросов в первом туре. Очевидно, его как опытного инженера это раздражало, и он думал примерно так: «У меня 5 лет опыта работы, зачем мне письменный тест?»

СОВЕТ. Каждый вопрос будет связан с интересным знанием, вы можете немного подумать, прежде чем смотреть на ответ!

Q1: Используйте объект в качестве ключа свойства

Что на выходе, пожалуйста?

Анализ

Как мы все знаем, если вы используете объект в качестве ключа свойства, это закончится так. Фактический ключ [object Object]

Ответить

Итак, каков ответ? Возможно, вы думаете, что это жирная рыба, но окончательный ответ — средний.

Q2: Каково значение nums?

Что на выходе, пожалуйста?

Анализ и ответ

Прежде всего, я не думаю, что этот вопрос касается способностей кандидата в программировании. Он изучает, есть ли у кандидатов проблемы со зрением. Если вы не заметили точку с запятой, вы должны подумать, что nums — это [0, 1, 2, 3, 4].

Q3: Будьте осторожны с ловушками сортировки?

Что на выходе, пожалуйста?

Анализ и ответ

Интуитивно мы думаем, что ответ должен быть [1, 4, 21, 30, 100000], но мы не передали функцию сравнения, поэтому результат не такой, как мы думали.

От МДН:

СОВЕТЫ. Указывает функцию, определяющую порядок сортировки. Если этот параметр опущен, элементы массива преобразуются в строки, а затем сортируются в соответствии со значением кодовой точки Unicode для каждого символа.

Q4: Ловушка определения переменных!

Что на выходе, пожалуйста?

Анализ и ответ

Возможно, 99% инженеров считают, что ответ должен быть *undefined, undefined, потому что они не знают, как определять глобальные переменные.

Q5: Знаете ли вы некоторые основные правила преобразования?

Что на выходе, пожалуйста?

Анализ и ответ

Q6: Что такое подъем переменных в JavaScript?

Что на выходе, пожалуйста?

Анализ и ответ

Ответы на №1 и №2 очень просты, все знают ответ. А вот с №3 и №4 не все так просто.

Тем более, что №3 касается вопроса регулируемого подъема.

Q7: Длина массива?

Что на выходе, пожалуйста?

Анализ и ответ

Ответ 11? Если это 11, это означает, что вы недостаточно знаете о свойстве длины массива.

Когда вы используете «nums.length = 0», это означает, что «nums» становится пустым.

Q8: SetTimeout в цикле for?

Что на выходе, пожалуйста?

Анализ и ответ

Он печатает 0,1,2 через 1 секунду? Нет, 1 превратилось в 3 через 1 секунду, поэтому 3 будет напечатано 3 раза подряд.

Что нам делать, если мы хотим вывести 0,1,2 через 1 секунду позже?

Q9: прототип?

Что на выходе, пожалуйста?

Анализ и ответ

Посмотрите на картинку ниже, я думаю, вы знаете ответ.

  1. true
  2. true

Q10: Знания об импорте и экспорте модулей ES6

Я считаю, что это слишком легко для вас. Давайте напишем ответ прямо!

Окончательно

Спасибо, что прочитали. С нетерпениемс нетерпением жду ваших подписчиков и новых статей высокого качества.



Интервьюер: Может ли «x !== x возвращать True в JavaScript?
Пять волшебных знаний в области JavaScript, о которых вы, возможно, не знали!javascript.plainenglish.io»









Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .

Заинтересованы в масштабировании запуска вашего программного обеспечения? Ознакомьтесь с разделом Схема.