聊一聊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面试那些事
聊一聊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面试的秘籍.不过我总是推迟,因为写出来的东西会让你抓狂.很可能是这样.如果按统计规律来定义"你"的话,这文章很可能让你不爽. 为啥呢?因为啊- ...
- Spark面试相关
Spark Core面试篇01 随着Spark技术在企业中应用越来越广泛,Spark成为大数据开发必须掌握的技能.前期分享了很多关于Spark的学习视频和文章,为了进一步巩固和掌握Spark,在原有s ...
- BAT大厂面试流程剖析
在当今互联网中,虽然互联网行业从业者众多,不断崛起的互联网公司也会很多,但如BAT等大厂,仍然是很多同学想要进入的企业.那么本篇文章将会为大家很直白的讲解大厂的面试流程以及侧重点. 首先闲聊一下,为什 ...
- 面试时面试官想要听到什么答案(关于一些vue的问题)
前言 自己也只是一个前端的小白,因为公司大佬都比较忙,面试这种事就落到了我这小白身上,第一次叫我去的时候我是百般拒绝的,因为自己还是有自知之明的,但是别人实在抽不开身,没办法只能去了,他们开玩笑说就按 ...
- 【性能优化】面试官:Java中的对象都是在堆上分配的吗?
写在前面 从开始学习Java的时候,我们就接触了这样一种观点:Java中的对象是在堆上创建的,对象的引用是放在栈里的,那这个观点就真的是正确的吗?如果是正确的,那么,面试官为啥会问:"Jav ...
随机推荐
- Service Fabric Placement and Load Balancing
作者:潘罡 (Van Pan)@ Microsoft 什么是PLB (Placement and Load Balancing) 介绍FM的上文中,我们提到了PLB. 这个组件和FM协同工作,为FM提 ...
- SQL Server 2012安装图解
SQL Server 2012 Enterprise Edition安装图解... 第一部分:安装前的准备 1.疑问:一个PC上可以安装多个SQL Server数据库么 答案:可以的.每一个安装的时候 ...
- Java并发编程原理与实战二十三:Condition原理分析
先来回顾一下java中的等待/通知机制 我们有时会遇到这样的场景:线程A执行到某个点的时候,因为某个条件condition不满足,需要线程A暂停:等到线程B修改了条件condition,使condit ...
- 一个简单的ns2实验全过程
实验名称:比较tcp和udp的丢包行为 试验目的:1. 熟练用ns2做网络仿真试验的整个流程:2. 练习写tcl脚本,了解怎么应用http和rtp:3. 练习用awk处理trace数据,了解怎么计算丢 ...
- iOS6下实现滑动返回
[转载请注明出处] 之前在看iOS7滑动返回时,发现了一个iOS6 SDK下的第三方实现,今天偶然间发现了作者在其博客上对该实现的一些心得,读来深觉之前的思考太过肤浅,许多实际的问题没有考虑到.帖子链 ...
- 【leetcode 简单】 第七十五题 第一个错误的版本
你是产品经理,目前正在带领一个团队开发新的产品.不幸的是,你的产品的最新版本没有通过质量检测.由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的. 假设你有 n 个版本 [1, ...
- 【译】第五篇 Integration Services:增量加载-Deleting Rows
本篇文章是Integration Services系列的第五篇,详细内容请参考原文. 在上一篇你学习了如何将更新从源传送到目标.你同样学习了使用基于集合的更新优化这项功能.回顾增量加载记住,在SSIS ...
- APScheduler API -- apscheduler.triggers.date
apscheduler.triggers.date API Trigger alias for add_job(): date class apscheduler.triggers.date.Date ...
- 我应该记录一下我不太了解的一些c语言函数
当然,现在还不分类 fmemopen getpagesize()
- 【codeforces】【比赛题解】#960 CF Round #474 (Div. 1 + Div. 2, combined)
终于打了一场CF,不知道为什么我会去打00:05的CF比赛…… 不管怎么样,这次打的很好!拿到了Div. 2选手中的第一名,成功上紫! 以后还要再接再厉! [A]Check the string 题意 ...