聊一聊FE面试那些事
最近公司由于业务的扩展、技术的延伸需要招一批有能力的小伙伴加入,而我有幸担任“技术面试官”的角色前前后后面试了不下50多位候选人,如同见证了50多位前端开发者的经历一样,在面试的过程中也让我获益匪浅,特此记录。
本文目录:
一: 属于什么级别/应该掌握哪一些技能?
本次的招聘对于级别没有特殊的限制,所以在初,中,高级分别设立三种不同的标准来考察候选人是否真的适合公司的开发工作。
1. 初级前端开发工程师:
1) 基础扎实,对于HTML/CSS/JavaScript有深刻的理解,能了解闭包,原型,CSS动画等基础的内容。
2) 有一定的项目经验,平时有养成浏览社区,吸收新鲜知识的习惯。
3) 态度上进,对于抛出的问题即使自己没有解决方案,也有讨论的意向。
2. 中级前端开发工程师:
1) 熟悉jquery或者underscore等其他开源框架或库的源码,对于其中一些典型方法的实现原理有些印象。
2) 有丰富的项目经验,分别在移动端和PC端都有过项目经验,能解决移动端或者PC端的兼容问题。
3) 有过项目性能优化的实际经验,除了雅虎军规能说出几条有实际意义的项目优化方向,对打包工具有所使用。
4) 了解或者使用过一门除nodeJS外的后台语言。
3. 高级前端开发工程师
1) 有过主持前端项目开发的经验,对于前端的架构有基于自己的见解。
2) 有过完整的关于Vue/React项目的开发经验,对于前后端分离能给到一个比较友好的解决方案。
3) 有丰富的项目性能优化的经验,能举例出二三种自己以往的项目的优化方案。
4) 熟悉nodeJS的开发,熟悉一门除nodeJS外的后台语言。
因为暂时没有考虑招聘资深的情况,所以在本次的面试候选人过程基本上以上面3个级别作为判断条件以及判断依据,试问现在的我们给自己的大体定位于哪一个层次呢?
二: 面试中的一些事
在面试的过程中认识了很多不同类型的面试者,有独立支撑公司前端任务多年的候选人,也有刚刚进入前端行业只想着三大MVVM框架的候选人;有现在在职晚上9点多来面试的候选人,也有从乐视匆忙脱身的候选人;有长期局限于现在公司业务内容的候选人,也有活跃于各个公司推进技术改革的候选人。
形形色色的人们构成了我们的社会,通过这段时间的面试我也慢慢增加了对于我们前端人的了解,下面简单的介绍几个印象比较深刻的候选人:
候选人小A:
我见候选人小A时小A应该第二次来面试了,前面我们的另一位前端负责人给他做过一面,给我说了下小A问东问西的问题,所以我在面试的时候也提前做好了准备,由于他当时的表现我现在已经忘记他以前的经历是什么了,但是给我印象最深刻的是当我每次做一次提问之后,他总是回答一个大概,当我留给他足够的时间去思考或者回答问题时我等来的基本上是“哥,你多大?”,“哥,你家哪里的?”,“哥,你那毕业的?”这些问题,让人泪目。
面试并非是让你交朋友的,当然我们很多高情商的候选人通过一些比较有情商的做法也可以和面试官交到朋友,但是面试的半个小时更是展示我们能力的时间,并不是唠家常的时候。
候选人小B:
候选人小B和候选人小A相比来说更加的圆滑,小B并不会问类似于小A问的问题,给人的感觉也非常的热情,但是如果进行技术深入的探讨发现基础非常的薄弱,小B能及时的否定自己的观点或概念,如果我抛出一个有歧义的问题他会立即否定自己之前的观点。
虽然技术面试并不会对下多高的定义,但是我们也需要有自己坚定不移的价值观,趋炎附势并不适合一个初中级的技术人的发展,相反他只会将你推入无尽的深渊。
候选人小C:
小C是某家外包公司的前端负责人(负责的也是自己),自从从事前端方面的开发工作开始都是孤军奋战,每次遇到问题都是一阵谷歌/百度,没有几个同行的朋友,对于外面的前端发展方向也没有任何的意向,ES6、nodeJS、MVVM的等概念只能说些大概,再深入的内容都以“工作中没有用到”,"现在的项目不需要"等理由搪塞。
我们很多初级或者中级前端开发人员由于所在公司的技术栈问题可能无法使用很大很全的技术栈或者还需要兼容ie8甚至ie6这些浏览器,但是处于风起云涌的前端更新换代的时代,我们如果晚了一步可能就被这个时代所抛弃,只能被别人远远的落在后面。
候选人小D:
小D的基础可以说比较不错了,为人也是非常的谦和,如果公司最后没有收起前端招聘的口袋的话还是很有培养的价值的。在面试谈话的过程中问了他一下被很多前端人都不在意的关于设计模式的问题,小D也能将说出一些关于js去实现发布-订阅、单例等比较常用模式的原理。
小D还是很有发展的空间的,只需要一些项目的经历来磨砺下,最终还是能最后独挡一面的。
三:我们在面试需要注意什么?
我们去面试更是一个双选的过程,公司选择员工,员工选择公司,我们一天大多数时间都是在公司中度过,所以我们不需要特意的去以取巧的方式来去获得一份工作。
我在面试的过程中发现有很多人的基础特别差,尤其是现在在职的人,所以我们准备换一份工作的话就需要提前一到两周将我们前端的基础知识再拿起来《高程》《犀牛书》这些再去快速的翻一遍,将工作中遗忘的比较偏门的知识再拾起来。
在面试中发现很多人笔试题答得不错,但是实际经验经不住推敲但是自己却不承认。可能面试了不少的培训班出身或者工作相对轻松的人一开口就是三大框架,但是如果去问项目部署,公司怎么联调的等问题基本上都会卡壳。面试并非单单是考察你对三大框架的理解,更需要说下为什么使用它,主动的分析利弊会给面试官比较好的印象。
综上所述,我们来总结下我们去面试需要准备什么?
1. 扎实的基础知识
2. 对于自己的以往项目能分析利弊
3. 总结自己在做项目中踩过的坑
4. 对于自己现有/上家工作的工作流程分析优缺点
5. 有能体现出学习能力强的案例
6. 积极向上的姿态
写的不算多,也不算少,举得也都是真实的例子,跳槽或者面试都需要一个准备的过程,所以当你投简历的那一刻问一下你已经准备好了吗?
作者:一半水一半冰
出处:http://www.cnblogs.com/jingh/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
聊一聊FE面试那些事的更多相关文章
- 聊一聊FE面试那些事【原创】
最近公司由于业务的扩展.技术的延伸需要招一批有能力的小伙伴加入,而我有幸担任"技术面试官"的角色前前后后面试了不下50多位候选人,如同见证了50多位前端开发者的经历一样,在面试的过 ...
- .net面试那些事
2014-3-30这天从昆明来到了江苏无锡,一周时间,不同地方不同感触. 在经过长达35小时的火车,在上海南见到了我弟,在经过两小时汽车到了无锡.回想起来....在坐汽车途中,虽然自己已很累,但从上海 ...
- Java面试那些事
网址链接:https://mp.weixin.qq.com/s/BkiDwyjua4iwws7gWHwK9Q 引言 其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试 ...
- 阿里面试官让我讲讲Unicode,我讲了3秒说没了,面试官说你可真菜
本文首发于微信公众号:程序员乔戈里 乔哥:首先说说什么是Unicode.码点吧~要想搞懂,这些概念必须清楚 什么是Unicode? 下图来自http://www.unicode.org/standar ...
- Steve Yegge:Google面试秘籍
我憋了很长时间想写点关于去Google面试的秘籍.不过我总是推迟,因为写出来的东西会让你抓狂.很可能是这样.如果按统计规律来定义"你"的话,这文章很可能让你不爽. 为啥呢?因为啊- ...
- BAT大厂面试流程剖析
在当今互联网中,虽然互联网行业从业者众多,不断崛起的互联网公司也会很多,但如BAT等大厂,仍然是很多同学想要进入的企业.那么本篇文章将会为大家很直白的讲解大厂的面试流程以及侧重点. 首先闲聊一下,为什 ...
- 面试时面试官想要听到什么答案(关于一些vue的问题)
前言 自己也只是一个前端的小白,因为公司大佬都比较忙,面试这种事就落到了我这小白身上,第一次叫我去的时候我是百般拒绝的,因为自己还是有自知之明的,但是别人实在抽不开身,没办法只能去了,他们开玩笑说就按 ...
- 新鲜出炉!凭借着这份面试宝典,我终于拿下了字节跳动的offer!
前言 我做Java也十来年了,现在也算是中层管理,每次招聘都需要找一些面试题,干脆自己整理了一份,这份面试宝典是从我 去年开始收集的,一方面是给公司招聘用,另一方面也是想用它,来挖掘自己在 Java ...
- 【分享】学长的安利来了~~O(∩_∩)O
前言:应栋哥要求,学长把演讲稿稍微整理下发布出来,这可以算是一篇安利文,也可以说是一篇经历文吧.作为一个确确实实从软工里收获到挺多东西的过来人,学长希望可以通过学长的经历来让你们对软工更加期待. 安利 ...
随机推荐
- SQL构架(转)
在一次的实际工作中碰到以下情况,在 SQL SERVER 2008中,新建了一个新用户去访问几张由其他用户创建的表,但是无法进行查询,提示“对象名'CustomEntry' 无效.”.当带上了架构名称 ...
- Hadoop hdfs完全分布式搭建教程
1.安装环境 ①.四台Linux CentOS6.7 系统 hostname ipaddress subnet mask ...
- 电脑上的windows键突然失灵了,肿么办
windows经常会用到,或许平时感觉不出异常来,偶尔用一次的时候,去发现失灵了,肿么办? 如果只是单纯的弹出开始菜单来,可以按Ctrl+Esc,功能是一样的. 这种情况其实是windows被禁用了, ...
- v9 调用模型中新增的字段
在模型中新增字段的时候,可以选择“是否为主表”. 若选是,则前台调用可直接通过字段名调用. 若选否,在前台调用是应在{pc:content}中添加 moreinfo="1",表示允 ...
- 中学之Vim实践课程
今天转发娄老师的一篇VIM编辑器的文章,很赞哦!(值得收藏)文后的参考资料记得看一看,也很棒! 原文地址:http://www.cnblog ...
- 探索Windows命令行系列(3):命令行脚本基础
1.实用功能 1.1.为脚本添加注释 1.2.控制命令的回显 1.3.使用数学表达式 1.4.向脚本传递参数 2.使用变量 2.1.变量的命名及定义 2.2.调用变量 2.3.变量的作用域 3.结构语 ...
- 无法为具有固定名称“MySql.Data.MySqlClient”的 ADO.NET 提供程序加载在应用程序配置文件中注册的实体框架提供程序类型“MySql.Data.MySqlClient.MySqlProviderServices,MySql.Data.Entity.EF6”
"System.InvalidOperationException"类型的未经处理的异常在 mscorlib.dll 中发生 其他信息: 无法为具有固定名称"MySql. ...
- ArrayList原理解析
简介 ArrayList就是动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了动态的增加和减少元素,实现了ICollection和IList接口,灵活的设置数组的大小等好处 有图有码 图 ...
- 【OGG】OGG基础知识整理
[OGG]OGG基础知识整理 一.GoldenGate介绍 GoldenGate软件是一种基于日志的结构化数据复制软件.GoldenGate 能够实现大量交易数据的实时捕捉.变换和投递,实现源数据库与 ...
- Spring MVC 项目搭建 -4- spring security-添加自定义登录页面
Spring MVC 项目搭建 -4- spring security-添加自定义登录页面 修改配置文件 <!--spring-sample-security.xml--> <!-- ...