创业参考:怎样面试前端

Dexter.Yy 2014-05-13 17:05:18
NP说,这个回答稍微完善一下值得发篇blog,但由于讨厌写文档,连带着也懒得写blog了,所以把原文直接贴出来罢…

================豆油的分割线==================

NullPointer:

YY,有个事求助。

我们现在需要面试一个前端,不过组里本来就缺前端,没人有水平问前端的问题,你能提供点面试前端的思路和水平合适的面试题目(给链接也行)吗?

拜谢!

Dexter.Yy:

呃,我之前有一套题,但不是用来看对方能否答对的,而是诱使对方写出代码,然后做code review,对照着代码从协作者和需求方的角度来提问。

我觉得首先要明确对前端的需求,从解决问题能力的角度,前端开发可以分为这几种类型:

1、PSD2HTML(在国外很多地方是设计师的工作)
2、富用户界面(包括各种交互逻辑、视觉效果、可视化)
3、GUI软件开发(前端部分需要看作完整独立的客户端软件)

对于类型1,重点考察:对方在设计、用户体验方面的认识、标准、追求和兴趣(要有一定专业水准,具备足够的热情和偏执),对HTML/CSS/web标准的了解,对浏览器的了解,对其他开发工作的理解程度和协作能力,跟设计师的协作经验,过去的工作效率,过去积累的个人作品(在为自己做的网页里,前面说的热情、偏执等要素不可能不反映出来),个人成长的意愿和方向。

对于类型2,重点考察:对方的主动学习能力,了解多少前端社区/开源社区的人、事和项目,掌握多少工具,最新的有哪些,经典的有哪些,自己写的有哪些,能不能在不同项目/工具之间做比较,有哪些看法,有哪些自己非常满意/得意的作品或项目,列举几个解决过的疑难问题和高难度需求,描述方法和思路,是否具备基本的开发者素养、真正的编程能力、独立解决问题的能力,会不会在设计师不管的情况下主动解决交互需求(比如PSD里没涉及的各种交互状态),对其他技术的理解程度。

对于类型3,重点考察:对方在软件设计、软件工程方面的知识和实践,纯语言层级和平台层级的解决问题能力(比如纯JS编程和纯DOM编程,抛开工具、库和框架),在完成特定任务过程中主动构建抽象层的能力、构建可重用代码的能力,是否擅长基于接口来协作,是否掌握完整的技术栈和工具链,有没有独立搭建项目环境、组建和改进基础设施的能力和经验,对各类交互界面的理解,对各类技术栈的理解,对各类客户端技术的理解,对非前端技术的掌握程度。

至于考察方法,在不能或不去判断对错的情况下,可以在每个问题上,看对方能讲多少,有多少积累,是否知道自己在干什么,是临时思考还是自身的观点和经验,是道听途说人云亦云还是个人实践,有没有足够具体的例子。

对类型2和类型3必须要求现场写代码,挑一个前端开发中常见的、解决单一问题、又属于纯算法或灵活应用语言机制的开源库API(比如最简单的:jQuery里的$.each),但做一下伪装(比如简化成一个函数,换个名字,改一下参数),把这个API的测试用例写好,让对方完成具体实现,满足这个用例,可以允许调试,对于纯算法的,应该要求凭空手写。
Dexter.Yy
作者Dexter.Yy
34日记 18相册

全部回应 3 条

添加回应

Dexter.Yy的热门日记

豆瓣
免费下载 iOS / Android 版客户端