作为公司前端负责人,一年多时间做的面试至少也有三四十场吧,有些Tips在这里分享一下,希望能够给正在面试中的同学一点点帮助:
1. 项目经验
我喜欢一边看简历,一边问项目相关的东西,包括项目结构,技术栈,难点或者有特色的功能,或者遇到的问题。
一般来说,求职者对这个环节都很自信,毕竟自己做过的项目,本就应该了然于胸。但是,十个人中总能遇到一个,简历中部分内容夸大其词或者文不对题。举一个例子,有位同学,项目是NodeJS开发,用到的技术栈有“gulp, webpack等等”。那我就奇怪了,Node不需要这两个项目构建工具辅助呀!深入一问,才知道,那些技术是另外一个项目的。
但是,这个时候,我的感觉已经有点不好了......这个还不是最难堪的,更难堪的是,简历上说“我是这个项目的主程”,但是让该同学说下项目的构建,就哼哼吃吃吐字不清......
这个很要命的!一旦面试官发现有不属实的地方,无论后边的基础题答得有多好,都会扣大分!面试官会把情况反映到HR那里,要知道,HR是很看重“诚信”的。
所以,在写简历的时候,首先,项目情况介绍清楚,准确;二是,保证自己不会被自己的简历问倒。
2. 面试知识点
前端的知识点说多不多,说少不少,翻来覆去,就是html+css+js+框架,我会多加一块:http/浏览器。
HTML一般问HTML5里面的新特性,比如,语义标签,sessionStorage, localStorage, postMessage等等。
CSS一般会问基础的display, position属性,CSS3等等,出几道小题目,比如,垂直水平居中,画一个环形或者三角形等等。
JS可考就更多了,变量提升,作用域,闭包,原型和原型链,事件委托;高级点的,有事件轮询机制(event loop), 内存泄漏,ES6等等。
我的原则是,只要JS基础好的同学,哪怕他/她没有用过牛逼的框架(react, angular或者vue之类的),也可以很快很顺利的上手各类框架。反之,一个只会用框架,却连闭包都不懂得人,那么, 他/她仅仅是框架的奴隶,没有自己的思考和独立开发的能力。因此,对于基础知识薄弱的同学,我都会问一句,“你有看过哪些JS的书?”,结果呢,大多没有,或者一本(90%的人会提到《JavaScript高级程序设计》,但是我相信,如果一个人真的把这本书啃透,那么他/她的基础应该非常好才对)。
为什么要问http/浏览器呢?前端开发离不开浏览器;和后台通信离不开HTTP。如果一个前端技术人员,连200/300/400/500系列状态码都搞不清楚,能算是一个合格的前端工程师吗?JSONP实现方式,如何解决跨域,HTTP常用的请求方式有哪些,浏览器如何渲染页面......这些问题,都应该是前端人考虑和必须重视的。如果回答的好,自然非常加分。
当然,如果有框架经验,比如react, angular或者vue之类,自然也加分。只是,一旦面试同学说,很精通某个框架,那么,我会问该框架某些特性的原理,注意,是原理,不是如何使用。比如,angular1脏检查机制,vue生命周期等等。考察一个人对框架的掌握程度,不是做过多少项目,而是,你对它理解的深度!
3. 其他注意事项
一是态度保持谦逊,温和,描述问题逻辑清晰。我一直觉得自己是个很nice的面试官(自夸一下下:)),所以,面试时,同学大多放得很开。活泼调皮稳重都OK的,不过,如果是招高P(级别高的职位),还是,稳健一点好。技术面不会太关注性格,但是,一旦到了管理层的面试,呵呵呵,说话如果太轻佻,恐怕印象分就不太好喽。
二是英文。虽然公司是民企,虽然不要求面试人员有多高的英文的阅读和书写能力,但是,常用的技术术语,起码要说的出来吧!已经遇到不止一位同学,一个术语也说不出来,或者,发音差得离谱......CSS属性或者JS关键词,来来回回就那么几个,不难说也不难背的。英文基础,还是需要的,这会对以后得学习和工作,大有帮助。
三是利用提问机会。一般面试结束,我都会给出提问时间。这个时候,面试同学应该把握这个机会,问下公司的业务情况,技术栈等等。一方面表示了你对这个公司这个职位的热情,另一方面,面试官也会从你的提问中,侧面揣测你对技术的态度。所以,不要放弃这个主动与面试官互动的机会。
结束语:
希望我的这些体会和建议,能够帮助到面试的同学们。前端前景很美好,欢迎大家入坑!
微信公众号:
网友评论