愿你坚持不懈,努力进步,进阶成自己理想的人

—— 2017.09, 写给3年后的自己

杭州网易春招前端实习生面经(考拉海购)

面试时间方面

网易站内信通知的是13:00面试,但是由于现场人比较多,实际上到了14:00左右才开始面试。一面大概面了50分钟,二面大概30分钟。然后三面就是HR面了,HR面比较短,十几分钟就面完了


一、技术一面

一面面试官首先让我做一下自我介绍。然后介绍完之后,就开始看我的简历,问的问题基本上是从简历上延伸的。大概能够想起来以下的问题(不完全是提问的顺序):
1、你从简历里挑一个项目,讲讲你这个项目是如何布局的。然后我就挑了iLIVE,然后面试官要求我布局一个左边自适应,右边固定宽度,下面还有一个框的布局。然后下面那个框要被上面那两个框中高度最高的撑开。问我有几种方法实现
2、BFC是什么,以及BFC的应用
3、手写一个原生的AJAX实现(要求写出原生AJAX来GET和POST),AJAX中的状态码的作用,AJAX中怎么判断是否请求返回了
4、什么是闭包,闭包的作用
5、手写垂直和水平居中,要求尽可能多的给出解决方案
6、前端模块化的理解,用过Node.js吗?AMD和CMD是什么,有什么区别,你的项目里是怎么实现前端模块化的。Node.js用的是哪个,然后哪个框架用的是AMD
7、对原生DOM操作有了解吗?document.getElement开头的这种方式和document.querySelector的这种方式有什么区别
8、前端性能优化的方式有哪几种
9、CSS3动画和jQuery动画有什么区别
10、对MVVM的理解,以及Vue是怎么实现双向数据绑定的
11、对事件机制的了解。知道事件代理吗?事件代理的原理是什么,事件代理有什么好处?事件代理中如何获得触发源
12、如何实现延迟加载
13、项目中遇到的最大难点是什么
14、IE事件模型和Chrome事件模型的区别是什么?知道事件机制的几个阶段吗?jQuery中的事件是哪种?
15、定位的方式中fixed和absolute的区别
16、介绍一下函数节流
17、代码层面的优化,你说了可以缓存DOM查找结果,那么对于DOM操作,除了缓存DOM查找结果,还有什么可以优化DOM操作的
18、margin崩塌是什么,如何解决
最后问完后,面试官问我有没有什么想问的。然后让我出去等会,准备下一面


二、技术二面

二面的话,面试官风格和一面不太一样(感觉有点像是传说中的压力面)。一开始也是自我介绍,然后开始问问题。不过,一开始就问得没太听得懂(所以一开始感觉自己要挂了)。
1、你平时开发过程中怎么实现前后端分离的?然后我们现在有个情况,比如接口规范制定好了,但是要是前端写好了,后端没写好。或者后端写好了,前端没写好,怎么办?你怎么处理这种情况
2、你能手写一个闭包吗?闭包的作用是什么?闭包的优点是什么?缺点是什么?
3、手写一个水平和垂直居中。我说了flex和绝对定位实现,面试官就问我,绝对定位方式中要是考虑兼容性问题,那么怎么办?
4、new运算符实际上做了什么事情?
5、问了this的很多问题,对this的理解。然后问为了解决this的指向问题,有哪几个函数是有关的。我回答call、apply、bind。然后他就接着问我这三个有什么区别。
6、还问了说ES6中有个特性也可以绑定this,问我是什么。我一开始不理解,然后就觉得应该是箭头函数。然后就跟他说是箭头函数
7、箭头函数解决的是什么问题,为什么能解决
最后问完后,面试官问我有没有什么问题想问他的,然后跟我说让我跟HR沟通入职时间的问题

三、HR面

1、让我做自我介绍
2、因为简历上写了计算机科学与技术(卓越班),就问我关于卓越班的情况,问是不是按照成绩分班的
3、问我项目都是自己做的吗?平时是怎么学习前端的
4、问我能够实习几个月,什么时候能够来实习
5、问我有没有面试其他公司,目前情况是怎么样
大概就是上面那些问题,然后最后HR就说他想问的都问完了,问我有没有什么想问的,然后告诉我回去等通知。


四、总结

总的而言,网易的前端面试还是比较看重基础的。所以就是要好好的巩固Javascript语言基础,学习好HTML和CSS3,尤其是CSS的布局方面。