web前端工程师面试技巧 常见问题解答

 

web前端工程师面试技巧 常见问题解答

每一年的春招是各企业需求人才的黄金时期,很多的前端大牛或者前端新手在面试时候不知道怎么来回答面试官的问题,下面来看下我转载的这篇文章吧,但愿对从事前端工做的你有所帮助。css

每到年后,即是换工做的高峰期,不少同窗会开始面试马拉松。固然也会有一批人选择年前面试年后入职。今天,我决定聊聊关于面试的话题,以及前端工程师的面试套路. (ps:这篇文章摘自 医小生与程序猿 的微信订阅号)。html

mianshi1

简历的细节

做为一个标准的理科生,我也曾大大咧咧不修边幅。但这毕竟是找工做,尤为是前端工程师,对于细节必定不能忽视。虽然说面试以技术为主,但简历是敲门砖,一个潦草随意的简历一定是会减分的。简历都作成这样,作网页能好到哪去。前端

具体来讲,有那么一些原则。首先,错别字是确定不能有的,很少解释。除此以外,字体、字号,以及边界对齐,都要作到总体一致,视觉上温馨。有我的博客、我的做品的连接,最好把连接加上,这样别人一点就能看而不用复制到浏览器。有些同窗会把简历作成图片的格式,致使连复制连接都不能,这是典型的不为他人考虑。有些同窗在mac上用pages作简历,完了就把.pages文件发过来,你怎能肯定对方hr就是在用mac办公呢?node

这些细节重要吗?也没有多重要,但却能反映出你的我的习惯,以及与人交际的态度。换位思考一下,你就知道为何这些细节不能忽视。想象一下,你跟一个同事要他的电话号码,他给你发了一段微信语音。 jquery

js套路

做为前端工程师的核心技能,js知识的考察是面试的重要环节。ios

通常来说,若是面试者是初级工程师,我会先从基础问起。经典问题如js的原型继承、闭包、类型转化,经常使用函数的一些用法,好比不少同窗都记不清数组的splice方法的三个参数。css3

对于只用过jquery的同窗(大部分初级同窗是这样),有几个问题是必问的,好比jq监听事件的几种方式及其异同点,在此基础上解释事件代理、事件冒泡机制。jq的一些方法的实现原理,好比$.inArray。jq插件的写法,解释$.fn是什么东西。web

若是以上的回答比较满意,就开始问mvc、mvvm、模块化开发、ES6等这些脱离了“刀耕火种”年代的新东西。面试

若是对于新知识体系的掌握都不错,我还会问一些常见的性能优化,以及这些框架在实战项目中的优缺点。毕竟入门一个框架即可以泛泛而谈,但只有深刻使用并解决一些复杂问题,才能有本身的看法。算法

而后是前端工程化方面的探讨。再往上就是项目的架构讨论,这种通常是问面试者目前工做中的架构,有哪些局限和可优化的地方。主要是想了解他是否有本身的思考,而不是在现有的框架之下停滞不前。

若是面试者是2~3年有经验的工程师,我会直接问mvvm这一层。若是发现他是那种工做3年却只有1年经验的类型,则往降低,开始问jquery方面的知识,不行就再往降低问基础。事实上我遇到的这种类型还真很多。

css套路

css是最容易被忽视的一块,也是最能挖掘出知识的一部分。

对于初级前端,我会先问应用。好比说左右两栏自适应如何实现,底部自适应如何实现,一些布局技巧如margin负值、各类状况的居中、盒模型的计算等等。

再往上就是原理性的一些知识,好比解释BFC的概念及常见场景。IE6兼容的问题我记得是好久没问过了,毕竟过期了。css与渲染性能也是须要知道的,我会问重绘和回流是怎么回事,如何在css布局阶段就减小性能浪费。

css 新知识相对少一些,基本就是css3和css预编译了。这块的话其实也没什么深度,大致上掌握了就能过关了。若是必定要看面试者的功力,那就是探讨sass/less框架下的整站css架构话题。

mianshi3

移动端套路

前端页面在移动端的舞台愈来愈大了,尽管如此,仍是有些同窗没有这块的经验。前端的知识断层就是这么严重。行走在移动端的前端仍是有不少特有问题的,因此必须得考察。

最基本的就是布局问题,不一样屏幕下的自适应。首先会问viewport的概念,解释清楚它是什么,默认值是多少,移动端如何经过控制viewport来实现自适应。

除此以外就是各类自适应的方法,百分比布局的问题啦,rem布局的问题啦,flex布局,以及css3的calc知道不知道。

因为移动端开发是一个经验密集型差事,不少问题的解决就是靠踩坑、靠经验。因此不少零碎的问题会随机来问,好比点击事件300毫秒延迟、绝对定位的兼容、ios下iframe兼容问题、scroll事件的性能优化、各类卡顿问题的解决方案等等。

算法及其余

一说算法,可能不少同窗都头疼。甚至也有面试者在我提到这块时,直接就说你别问了,我算法不行。

其实算法通常是不问的,其余公司也应该也是这个状况,我知道美团除外。我问算法的状况通常是对方是软件工程或者是计算机专业毕业。毕竟这是基础课程嘛。

不会问很难的,由于算法这块我本身也不行,只能简单问一问探个路。说说经常使用的几种排序算法,找最大数、找中数,时间复杂度怎么计算的,差很少就这些了。

对于软件/计算机专业,操做系统、编译原理、计算机网络这些应该是基本课程,我有时也会问一问,可是我知道这对前端工程师来讲属于“边缘知识”了,不起决定做用,算是附加题吧。

学习能力

学习能力是很重要的一个指标,对于新手尤为重视。判断学习能力实际上是很难的,一般有那么一些角度能够观察到。

写博客。我未毕业的时候就开始写博客,并坚持到如今。我也坚持认为,自学到知识并能写文章表达出来,能够展现出一我的的学习能力。因此若是一份简历中有博客连接,我一般会仔细去看。

另一个考察学习能力的方式就是看他的“折腾能力”。好比,就算工做中不用angular,你是否本身研究过它。是否本身研究过nodejs,乃至于Android、iOS开发,这都是有可能的。

再有就是问问他平时看的书、网站、APP等,若是一我的下班后就不关注程序开发,我不认为他学习能力强。由于学习自己就是克服惰性的一个过程。

mianshi2

沟通/表达/人品

在面试评估表上,这也是占一栏的。关于沟通表达能力的评估,会贯穿面试的整个过程。主要踩分点就是,你要知道面试官具体问的是什么,不要答非所问,也不要硬扭转话题,真实天然的表达便可。有一些“面试技巧”会教你说把谈论的话题往你擅长的方向引,在我看来这是愚昧的,由于面试官并不傻。

曾有一个面试者硬要给我背写出冒泡算法,尽管我已经说了没必要写了,他仍是不停。难道我会不知道这是他提早背好的吗?有一些比较“聪明”的会隐秘些,但难逃法眼。你要相信,面试或许会有运气成分,但绝无空子可钻。

诚实很重要。另一个我比较看重的就是,人品。简单来讲,你是不是一个顾及他人感觉的人。有些人在面试的时候话比面试官都多,整个过程都是他在给面试官讲道理。就算你年龄比面试官大,工做经验很高,但此时此刻,你是面试者。

怀有谦卑之心的人是我一直喜欢的,然而要看透这一点并不是易事。我通常会问面试者一个主观问题:你如何向一个彻底不懂编程的局外人解释前端工程师这个职业。这个问题看似简单,但能考察他对前端的理解,他的表达能力,最难的是他要站在一个彻底不懂编程的人的立场来解释清楚。你们能够试着回答一下。

在这里郑重的说一下: 机会只会垂青有准备的人!加油吧2017!

 

 

此文来自于:https://blog.csdn.net/u012118993/article/details/60584551

相关文章
相关标签/搜索