有什么问题可以用来判断申请人是否真的是专业的JavaScript (浏览器端)开发人员?
问题可以区分某人是否不是临时的JavaScript程序员,而是真正从事面向对象、可重用和可维护的专业JavaScript开发。
请提供答案,这样中级和临时的JavaScript程序员就可以面试更有经验的人,提出相当少的高级问题的答案。请避免开放式问题。
one one interview easier /answer per SO answer,以便获得更好的阅读体验和更轻松的面试准备。
发布于 2010-03-23 00:41:37
因为JavaScript是一种非常小的语言,但是有着令人难以置信的复杂性,你应该能够提出相对基本的问题,并根据他们的答案来确定它们是否真的那么好。例如,我用来衡量面试其余部分的第一个标准问题是:
在JavaScript中,
var x = 1
和x = 1
有什么不同?你可以根据自己的喜好来回答细节问题。
新手JS程序员可能对本地变量和全局变量有一个基本的答案。中级JS人员肯定有这个答案,并且应该提到函数级别的作用域。任何自称“高级”JS程序员的人都应该准备好谈论局部变量、隐含的全局变量、window
对象、函数作用域、声明提升和作用域链。此外,我还想了解一下[[DontDelete]]
、提升优先级(parameters、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特定的东西,看看他们是不是一个好的程序员。
发布于 2010-05-05 16:27:18
Basic JS编程
Scope of variable
Associative Array
吗?我们如何使用它?OOPS JS
Difference between Classic Inheritance and Prototypical Inheritance
difference between private variable, public variable and static variable
?我们如何在JS中实现这一点?add/remove properties to object
?inheritance
?DOM和JS
Difference between browser detection and feature detection
DOM Event Propagation
Event Delegation
Event bubbling V/s Event Capturing
其他
Graceful Degradation V/s Progressive Enhancement
发布于 2010-03-22 20:47:19
问一下“这个”。这是一个很好的问题,可以作为JavaScript开发人员的真实测试。
https://stackoverflow.com/questions/2492123
复制相似问题