阿里云前端一面(2016.3.11 下午六点。面试了大概25分钟,通过):
内容包括项目介绍、跨域、闭包、原型、设计模式、CSS盒子、Linux一些命令,SVN拉分支,还有一些项目的前后台交互。HTML5新特性及离线存储。
首先是问项目,项目里你做的什么东西,写了哪些页面,前后台是怎么调用的,遇到了什么问题,你是怎么解决的。用的前端框架是什么?源码你看了吗?觉得这个框架的优缺点是什么?
接下来是基础问题了。具体问题记下了:
1、为什么要用闭包?你对闭包的认识,应用场景是哪些?
2、S里的继承有哪些?口述一个原型继承的代码.
3、在项目开发中是否遇到了跨域问题?有哪些解决方案,jsonp与html5的解决方案是什么?
4、讲讲几种简单的设计模式的应用场景。外观模式与适配器模式的区别。
5、常见的Linux指令你用过哪些?管道是用来干嘛的。
6、讲讲CSS的盒子模型,怎么区分和使用。
7、SVN拉分支的命令是什么?
8、你对加班怎么看?
阿里云前端二面(2016.3.16 下午五点半。面试了11分11秒,跪了):
内容包括项目介绍、CSS3新特性、HTML5新特性。
首先是问项目,用的框架是什么(因为自己用的是公司内部框架,所以这个问题一般都会问。),这个框架与Angular有什么不一样?源码是否了解?
接下来是基础问题了。问的比较新,我就跪在这。具体问题记下了:
1、CSS3动画用过吗?animation有那几个属性?Transition呢?(自己用的都是jQuery里的animate,和他讲错了),那时候心里已经开始慌了,CSS3和Html5新特性只是了解一些,稍微一深入,就有点吃不消,我和他讲,平时公式用的CSS都是公共的,有专门的负责样式的自己只是拿过来用就是,对css掌握的不是很好。果然下面到了html5.
2、Html5里的离线存储平时用过么?有哪些。Cookie与WebStorage的区别。
3、Html5里的多线程知道吗,如何创建一个线程?线程嵌套了,他们之间是怎么通信的?
面试到此结束。我了他哪里答得不好?前端知识更新快,对于一些新东西要快速学习,快速理解。有一些比较重要的东西,光会用是不够的,里面的一些原理还是要弄清楚。
腾讯一面(2016.3.16 下午5:45。面试了20分钟左右):
内容包括项目介绍、JS闭包、HTML5跨域处理。整体来说这个面试最美压力,整个过程就是聊天一样。技术性东西没怎么聊。
1、首先问了一下为什么首选城市是上海?愿不愿去深圳。
2、学的是通信,为什么要选前端?你觉得你对于计算机专业有什么优势与不足?
3、聊了大概十分钟的项目,吐槽了一下在实习遇到的部门沟通与最佳实践的种种问题,他也表示感同身受。
4、最后问了JS闭包、HTML5跨域处理。
蘑菇街1面(2016.3.21 晚上8.20)26分钟
首先聊项目,这里聊得还可以,满顺畅的,但是接下来我犯了一个严重错误,就是因为聊得顺畅。我给他介绍了一个比较厉害的功能实现。但是其实这里在具体的项目中不是我实现的。记住一点不会就不要乱吹,不然是搬起石头砸自己的脚。
聊完项目,开始聊知识点了,总体感觉是问的比较深,一共就问了4个问题,但是一个问题会拓展下去。
1、JS事件模型与事件流介绍一下,事件代理用过吗?but自定义事件【答得不好】
2、浏览器原理,和他讲了一通。Js是怎么解析的?什么时候执行的?but定时器的执行原理【答的不好】
3、怎么设计一个JS组件。【这个真没搞过,乱说了一下复用性,提供接口,】
4、jQuery与angular有什么特点。源码里哪里比较有特色。【jQ源码当时没看完,跟他说了一些比较浅的东西,然后他恩恩,还有呢?还有呢?这里直接被还有呢问死了。
总结:自己的做的要比较熟,一些基础的东西不能浮在表面,要深入一点,被问到的时候不能虚,会多少答多少,不会了就直接说出来,我当时不会了就在那里,一直让面试官等着,最后面试官问了句,你还在吗?这印象太不好了。干脆利落,他可能会多问几个问题,拖拖拉拉,对方可能就不想问了。
腾讯2面(2016.3.24 下午4:00)28分钟
这里提醒一下,腾讯的电话,我事先没接到,前一天晚上打球去了,打球回来洗澡去了,晚上十点打了我两个电话没接到,第二天中午我直接打过去了,是hr接的电话,下午就电话就来了。
这次记住了上次的教训,聊项目的时候,可以给面试官挖几个坑,因为这次面试的明显能感觉出来是个boss。坑在哪里?坑是自己掌握的比较好,在聊项目的时候可以吸引到面试官的点,稍微带一带方向,下一个问题面试官可能就是要问你这个问题了。
第一坑:
我给他挖的第一个是angular的源码分析。(较上次jQuery源码的教训,还不如讲自己比较熟的angular)。
为什么会挖这个坑?因为项目用到的框架是企业内部的框架,没法和他讲,但是是对angular的封装,我说这个框架,企业内部因为我权限不够,无法查看源码,但我知道它是对angular与ajax的封装,我对angular比较熟。这样他就被吸引了。
完事了聊了聊实习的一些经历。讲了在企业学到的一些东西,因为我感觉他对我做过的东西不是很感兴趣,都是一些和具体业务有关。我就和他聊了一些企业管理的东西,从开发中的代码规范到最佳实践,再到敏捷开发流程,最后发现面试官比较喜欢听团队管理,又和他聊了一些部门间沟通的事情,部门间联调,加班的一些事。
最后问了我一些技术问题,问我对算法熟不熟?计算机网络怎么样?【这个是聊到了通信与计算机专业差异性问题,我是学通信的,他想了解一些我对计算机基础的知识的掌握程度。我说数据结构与算法学过,但是都还给老师了,但是学校没有吧学费退给我。他又问计算机网络呢?我说还行,【因为当时心里不敢再说不怎么熟,我就说了还行。
问题:怎么减少http的请求次数?答了前端的东西,他要求从协议去解释,没有想出来。
总结,腾讯的面试聊天式,虽然氛围轻松点,估计面试官也有他的考量,尽量展示自己吧。能挖点坑就挖点。
网易游戏1面(2016.3.25 晚上7:00)36分钟
这里面的是网易游戏互动娱乐。网易游戏就是霸气,上来稍微自我介绍一下,就开始面试了。还没说项目,他就开始问问提了。
问题好多,好散,大概问了大概30个问题。我尽量回忆。考察的知识面好多。
1、css兼容性处理。
2、纯css3实现360度旋转,不能用js。
3、Css动画用过吗?过渡函数有哪些?
4、Css盒子,怎么设置?
5、Css定位,怎么响应式布局双栏,多种方法。
6、选择器有哪些?给我出了具体的个题目,问能不能达到效果。关于伪类选择器的,我猜了一下不能。
7、原生js实现ajax的流程,状态码有哪些。
8、怎么区分不同的浏览器(火狐,IE,google),多种方法。
9、Js声明函数的方式有哪些?分别有什么不同?
10、闭包与匿名函数的区别,分别怎么用?举例子说明
11、BOM的常用属性
12、节点的增删改查分别怎么操作?
13、Javascript的继承机制,有什么好处与不足。
14、Js事件流的处理兼容性处理,一共有哪些,【答全比较难。】
15、SE6的let与const有什么区别?
16、用过sea.js与reqire.js吗?【表示没用过】
17、Angular用过吗?有哪些特性,原理是什么?
18、在angular的开发中遇到过什么问题吗,双向绑定吗中数据模型变,v不显示。
19、移动端与PC端开发有什么不同?
20、怎么设置响应式布局?
21、Bootstrap响应式布局是怎么实现的?
22、为什么频繁操作dom节点的代价比较大?
23、Html5有哪些新特性,你用过哪些?
24、http1.0与http1.1有什么区别?http2有什么新特性?
25、。。。。。。。。。。。。。。。。记不起了。
总结:问的问题都比较基础,但是设计的面很广,问题量比较大。基本覆盖了所有的重要的知识点。认真打好基础吧。