在雇用前端开发人员时,您应该测试哪些特定技能和实践?评估他们在HTML、CSS和Javascript方面的技能的一个好指标是什么?
显然,无表语义HTML和纯CSS布局可能是关键技能。但是具体的技术呢?他/她应该能够毫不费力地模拟多列布局吗?CSS精灵?等高(或人造)柱?HTML标记的选择是否重要(即,过于依赖<div>
)?他们应该能够(用语言)解释浮子是如何工作的吗?
javascript技能呢?框架经验(jQuery、Prototype等)有多重要。今天
显然,职位的细节和他们将要工作的地点是需要什么技能的最佳指示。但我想知道,在为候选人创建测试时,人们可能会认为哪些特定技能会破坏交易(或制造交易)。
当我面试客户端开发人员时,我试图弄清楚:
1) 理解DOM(那是什么,它与HTML的关系如何等等)2) 了解XML/命名空间3) 理解JavaScript(面向对象?其他什么)4) 了解组件化方法(XBL、HTC)-plus5) 理解OO原则6) JavaScript闭包7) 浏览器内存泄漏
我现在给出的唯一简单的测试用例:
<script type="text/javascript">var a=1;<脚本>
我建议被采访者用专业术语解释这句话。
我还检查了对网络技术现状的总体认识,以及我建议设计一个网络浏览器的其他问题,在这个浏览器中,受访者可以选择他将要投入到自己全新产品中的技术,建议当前客户端平台中可能缺失的技术。
我可以建议您进行在线测试,其中包括HTML、CSS和JavaScript。
http://tests4geeks.com/test/html-css-javascript
它有60个问题(每个科目20个)。当考生完成考试时,你将通过电子邮件收到报告。
Sergey和swilliams都给出了很好的答案,特别是swilliam提到要投资组合是关键。有了投资组合,您还可以测试等项目
- html和css是否有效
- 演示文稿在浏览器之间是否一致
- 候选人是否有JavaScript错误?如果他们这样做了,这个人是让他们冒泡到演示层,还是他们至少用try/catch块抓住了他们
- 就JS而言,这个人有多高级?他们能进行表单验证吗?他们能做正则表达式吗?他们是否依赖MM_Preloader?(哎哟!)
投资组合还可以让人感觉到某人对网络开发有多热情。此外,如果他们为其他人做了一个网站,这本身就提供了一个与候选人谈论许多事情的机会
- 他们是如何开发UI的
- 现场进行了什么样的规划
- 用户期望是如何被发现/满足的
- 施工过程中会遇到什么样的挑战
除了这些项目之外,你可能想考虑的另一种方法是开发人员测试,你可以向潜在的员工发送测试。没有什么太难的,需要一天以上的时间,但足够的脑筋急转弯,看看他们是否能解决CSS或JS问题。
询问投资组合,然后与您的团队一起审查。这就照顾到了装腔作势的人和那些"面试处理不好"的人
除此之外,我会给他们一些相对简单的实物和一台笔记本电脑,然后说"试试看"
也许问问他们今天最喜欢的网页设计是什么,最讨厌的是什么。询问他们对即将出现的内容(HTML5、IE8、Chrome等)的看法,看看他们是否能及时了解即将出现的情况。
询问他们是否有最喜欢的JavaScript框架以及为什么。也许让他们在JS中编写一些代码,比如著名的buzz buzz问题。
在我的公司,我们不处理测试,投资组合更重要,尤其是因为我们倾向于关注候选人的个人动机和从事前端开发的热情。
但如果我在录用前给候选人做一次测试,我会这样做:
交出一张经过PS处理的网页的打印件,在下面代表一个清晰的语义组件树。询问对方如何在html中得出结果。请他或她大声思考。当一个人看到一个页面,知道它需要开发时,脑子里会想些什么。
然后是候选人采取的方法。
为每个特定的html部分选择最佳的可用标记是一个(重要的)方面,但可以由周围有经验的人来掌握,以指导新员工。能够正确地将设计分解为其语义组件、识别部分以及从导航中分离主要和次要内容不是数学或科学,因此很难测试。但是,关于分解页面方法的对话可能会将有经验的人与初学者区分开来。
但正如我在第一行中所说,我们通常会问一个人在空闲时间做了什么样的网络相关工作,比如博客、游戏或演示。如果做了什么,这个人通常非常擅长前端开发,或者渴望学习和适应。
我们过去要么为他们设置一个小简报,让他们在一定的时间内工作,要么在某些情况下与他们签订工作合同,看看他们进展如何。
我从来没有那么担心让别人坐在面试室的笔记本电脑前,想出一个解决方案,因为那种环境(你会希望)与正常的工作条件不太一样。
这份简报的确切性质在很大程度上取决于你所寻找的技能。在一些商店中,前端开发商将不得不承担一定数量的设计空白,和/或在实施设计"氛围"时履行"品牌警察"职责
在这种情况下,在简报中留下一些关于排版细节和其他小细节的漏洞,可以让你了解他们在这些方面的能力
让他们选择javascript框架,他们是选择最适合这份工作的框架,还是选择他们知道的框架。(主观问题,是的。但为了日期选择器和一些菜单动画而引入dojo可能有些过头了)
我想找一个可以实现基于css的布局的人,但如果需要的话,在处理遗留项目时,实际上可以使用基于表的布局。尽管它们遭到了恶意攻击,但一些巧妙的表格布局细节并不总是那么容易。
这类任务的主要内容是对细节的关注,他们是否添加了一套打印风格规则,使用了适当的图像大小和格式,生成了干净有效的代码,他们是否因为真正想要这份工作而追求金牌,并准备为获得这份工作而稍微努力。
因为你给了他们一些额外的时间,所以可以公平地期望他们努力给人留下深刻印象,而不是把他们放在一张陌生的桌子旁,告诉他们去做。所以,在这种情况下,我要寻找金子,或者至少是金子是目标的证据。
投进一个他们以前没有做过的弧线球。。。看看他们能多快地把它捡起来。经验是好的,但在一个变化如此之快的领域,快速学习的能力可能更重要。
了解浏览器的不同也是关键。尤其是IE。如果他们只为IE编码,请小心!Vica Versa也是,如果他们从未在IE6/7中测试过他们的东西,他们就不知道它的失败有多可怕。
如果他们能说出3件失败的事情,或者在IE中需要解决的方法,那么他们很可能就成功了。如果他们做不到,那就是他们还没有足够的跨浏览器体验。
我问人们他们使用什么工具,如何编码,即他们使用DreamWeaver、BBEdit、emacs或其他什么工具。假设他们不只是给出一个单词的答案,你通常会知道他们的优先级是什么,他们是如何编码的,等等
然后我问他们如何验证他们的代码,这总是很有趣的。
除了让他们坐下来写一页来实际测试他们之外,我还会问他们所做工作的具体例子,以及他们是如何解决问题的。
例如,你说"告诉我们一份你在严格截止日期前的工作",或者你说"告诉我一个非常令人沮丧的问题,以及你是如何克服它的"或"在你最近所做的工作中,你最引以为豪的是什么?"1
通过这种方式,你可以深入了解他们所做的事情,他们解决问题的技能和经验,他们处理压力和挫折的方式,当然,还有他们的变通办法/捷径是聪明还是愚蠢。
感谢您迄今为止的所有回答。它们绝对是很好的建议。不过,我还没有准备好将其标记为已接受。我真正想要的是前端开发人员需要能够在测试环境中生成的具体任务。换句话说,什么是FizzBuzz的CSS?
我确实同意,一个坚实的投资组合和明智地谈论这个主题的能力可能会最大限度地降低考试的重要性。另一方面,我认为我们都知道候选人非常善于夸夸其谈,但当涉及到实际展示实用知识时,他们就功亏一篑了。
@乔纳森·霍兰德-我倾向于不同意。HTML/CSS当然很容易学习,但与花了多年时间做布局的人相比,从几个快速教程中获得的知识算不了什么。一个好的CSS开发人员可以将许多技术和实践带到桌面上。
@也许我是多余的。我所说的"纯css"是指无表。我还指的是不使用表作为布局方法的无表。然而,这不是div与表布局讨论的问题。试试这里。尽管我相信现在大多数雇主都会问开发人员是否可以在不使用表的情况下进行布局(作为一种方法)。
我没有任何招聘经验,但我参加了许多Web开发人员的面试,可以讲述我的经历。
在我所有的面试中,有一种方法确实是发现真正人才的最佳方式。我承认我不是专家,这可能就是我没有得到这份工作的原因,但这是一种剔除那些有能力和优秀人才的绝妙方法。
我们被问了几个关于DOM、面向对象、闭包、XML命名空间和一般Web设计的问题,然后我们被带到一个安静的办公室,可以看到附近河流对面的美景,并被要求写几个例子来展示我们的能力。我们独自一人,但被告知,如果我们需要使用浏览器,将在之后查看源代码和浏览器历史记录。我们被要求使用以下内容制作公司内部网:
- 简单的三列布局
- 使用CSS的美观表格
- 一个实用但美观的导航栏
- 使用XML和JavaScript动态加载
只要花一点时间,你就会看到真正能做这件事的人。虽然他们的例子可能总是更好或更适合不同的应用程序,但这恰恰表明,展示开发人员技能的最佳方式是让他们有所作为如果你知道你的东西,他们也知道他们的东西,那么他们的代码就会很好。
"
显然,无表语义HTML和纯CSS布局可能是关键技能。
"
我不明白那句话。。。
你真的是说,为了避免使用表,最好以复杂的方式使用表来完成简单的任务吗?-)
恐桌症就像在没有服务器端帮助的情况下制作大型网站一样严重。。。
当然,过去十年的表地狱并不有趣,但很多任务在不使用表的情况下完成真的很愚蠢。。。
使用easyist完成任务的html元素,无论它使用哪个标记名!-)
--我不明白什么是"纯css布局";我从来没有想过如何创建一个没有html元素的html页面来承载样式表中的布局。。。
我知道这不是一个好答案,但我做的第一件事就是公开他们Word简历的格式。如果他们使用了Word提供的缩进和样式,而不是制表符、制表符、空格、空格,那么他们就会名列前茅。
我不会太重视它,因为正确的HTML/CSS非常简单,任何人都可以在一周内学会。
也就是说,你可能想审查他们的投资组合,以帮助你决定他们目前的技能水平。