公司下半年因*.eoe.cn项目要开发上线,寻找合适的前端工程师势在必行。过程很坎坷,我翻了下自己的工作日志,招聘过程达三个月之久。来面试的有互联网公司的,培训学校的,同事推荐的,…,各种基本功薄弱的,薪资漫天要价的,不靠谱啊。最终相中了一个工作两三年的,在偏时尚媒体设计公司待过的女前端工程师。

面试是和其他同事一起进行的,除了对品性和工作方式的考察外,专业方面看的还是基础知识和经验。前端工程师一般分两类,一种是设计+CSS,关键词也就是Dreamweaver+Photoshop,这种人较多,但通常计算机知识薄弱。另一种是JS+CSS,偏重浏览器内的MVC, 这种人比较少,也是业界稀缺的。可能有人会说两者都包的人,那这种人是全才,基本都可以去创业了。我本身是Ruby(Rails)后端背景的,对前端略懂,而浏览器兼容性几乎没接触过。因此面试偏CSS的不太容易问出什么,也就是面试宝典里的绝对定位法,inline和block区别,jQuery选择器优化,等之类的。

一个偶然的机会,在问到一个前来面试的觉得国内有哪些觉得不错的前端产品的时候,有人提到了网易的新闻聚合(见下图news.tags.163.png),它采用了不同大小矩形色块的TreeMap可视化方式展现了新闻资讯集合。从源码上说,它只有不到150行的规整的HTML结构,足够在短时间内把握。让我们边看这个网页边面试:

  1. 点击右上角的刷新按钮后,每个资讯元素重新滑动排列,这里可以考察HTML5的CSS,下面的”今天, 三天,一周”的时间范围的切换也是。
  2. 在这里还可以去问这些元素是重新排列,还是从服务器端获取的,可以让对方去源码里找出是哪一行还是引用的文件里调用了ajax。
  3. 打开chrome的调试器,并点击Network标签,在重新加载后,有些请求的Status变成了304,有些Size变成了from cache,这里可以去考察HTTP常识。
  4. 刚才我们翻开了HTML源码,问下css引用链接在上而js引用在下的原因,考察浏览器的渲染顺序。
  5. 接着我们又发现新闻数据并没有在HTML里看到,看对方是否可以知晓js如何调用。
  6. 看过css后,我们发现一个script标签里的type是text/x-micro-template,问下这是干什么的。如果对方回答出模版后,可以再去模版的实现原理,这样就实际就考察了对js闭包的了解。
  7. js代码里面有些英文单词,可以趁机考考英文水平,很多工程师都没听说过github的。

问到这里的时候,水平自然见分晓了。这种方式虽然系统考察了一个前端该具备的技术能力,但事后证明它会让某些在CSS方面不错的和能实际快速的干活的人才错过了。 对一般的互联网团队来说,1, CSS命名的规范结构化,2, 严格遵守jQuery链式调用规范,而不是一大堆东抄西补的原生js,3, 和快速的动手能力,前端工程师的这三点才是最重要的。

Android技术招聘可参看@iceskysl 的 说说我招聘android技术人员的思路 ,里面提到的4个点对招聘一般的应用工程师其实都适用。

本文存放在 code.eoe.cn 的gist版本