Поскольку JavaScript является таким небольшим языком, но с невероятной сложностью, вы должны уметь задавать относительно основные вопросы и выяснять, действительно ли они хороши на основе их ответов. Например, мой стандартный первый вопрос, чтобы оценить остальную часть интервью:
В JavaScript, в чем разница между var x = 1
и x = 1
? Ответьте на столько или немного деталей, как вам удобно.
Начинающие JS программисты могли бы иметь базовый ответ о местных против глобалов. Промежуточные JS-ребята должны обязательно иметь этот ответ, и, вероятно, следует упомянуть область функционального уровня. Любой, кто называет себя «продвинутым» программистом JS, должен быть готов поговорить о локалях, подразумеваемых глобальных объектах, объекте window
, области функций, талинге объявления и целям областей видимости. Кроме того, мне бы хотелось услышать о [[DontDelete]]
, приоритет подъема (параметры против var
против function
) и undefined
.
Еще один хороший вопрос - попросить их написать функцию sum()
, которая принимает любое количество аргументов и возвращает их сумму. Затем попросите их использовать эту функцию (без изменения), чтобы суммировать все значения в массиве. Они должны написать функцию, которая выглядит следующим образом:
function sum() {
var i, l, result = 0;
for (i = 0, l = arguments.length; i < l; i++) {
result += arguments[i];
}
return result;
}
sum(1,2,3); // 6
И они должны вызвать его в массиве, как это (контекст для apply
может быть что угодно, я обычно использую null
в этом случае):
var data = [1,2,3];
sum.apply(null, data); // 6
Если у них есть эти ответы, они, вероятно, знают свой JavaScript. Затем вы должны обратиться к ним с вопросами о неспециализированных вещах, таких как тестирование, рабочие процессы, контроль версий и т. Д., Чтобы узнать, хороши ли они программист.
Никогда не занимайтесь промежуточным разработчиком JS тем, кто должен быть более продвинутым! Это просто безумие. Попросите кого-нибудь квалифицировать собеседование. – James
@ J-P - так, если ваш старший разработчик завершает работу, тогда вы просто ввернуты? – tvanfosson
@ J-P Я пытаюсь нанять кого-то лучше себя. Это небольшой стартап, поэтому у меня нет лучшего выбора, если я не использую внешнюю помощь ... но тогда я должен был бы взять у него интервью;) –