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: прототип?
Что на выходе, пожалуйста?
Анализ и ответ
Посмотрите на картинку ниже, я думаю, вы знаете ответ.
true
true
Q10: Знания об импорте и экспорте модулей ES6
Я считаю, что это слишком легко для вас. Давайте напишем ответ прямо!
Окончательно
Спасибо, что прочитали. С нетерпениемс нетерпением жду ваших подписчиков и новых статей высокого качества.
Интервьюер: Может ли «x !== x возвращать True в JavaScript?
Пять волшебных знаний в области JavaScript, о которых вы, возможно, не знали!javascript.plainenglish.io»
Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord .
Заинтересованы в масштабировании запуска вашего программного обеспечения? Ознакомьтесь с разделом Схема.