引言
可以说自己从找工作是从今年的3月份开始的,面试一直拉锯到现在,整整8个月,拿到了美团,网易,51信用卡,有赞的offer。面试的公司也不计其数,数了下知名的大概有,阿里巴巴,网易,网易游戏,美团,京东,有赞,51信用卡等。最终也拿到了满意的offe,校招已经告一段落。现在细细总结下面试的经验。
原文链接http://localhost:8000/html/2017-11-17.html
网易
一面
一面是电话面试。
1.css盒子模型
2.浮动清除,清除原理
3.js基本数据类型,引用类型
4.事件循环机制(macro-task大概包括:script(整体代码), setTimeout, setInterval, setImmediate, I/O, UI rendering。micro-task大概包括: process.nextTick, Promise, Object.observe(已废弃), MutationObserver(html5新特性)
5.react,vue和普通的区别
6.jquery和jquery.fn(有什么区别,方法是写在哪里的)
7.订阅模式
8.webpack组成部分
9.amd和cmd的区别
二面
二面去的网易大厦
1.react和vue区别和相同点
2.vue和传统框架的区别
3.vue-router两种运行方式(hash和history)
4.url后面哈希的作用(锚点和传递数据)
4.异步变成的解决方案,回调,promise,generator,各自的区别(generator的原理,es5下generator实现方式)
5.判断类别,undefined和null的区别,如何正确判断类别(typeof 和Object.prototype.toString.call()方法)
6.js基本数据类型
7.继承原理
8.如何去重
9.es6/es7有了解哪些,(答了map,set,generator,symbol,class,module,promise,async,await,生成器的原理)
10.如何判断一个类的属性来自自身还是原型链
11.如何去除一个数组的后两位
12.call,apply,bind区别,以及bind的实现方式,参数形式
13.手撕new 的实现原理
14.splice,slice区别
15.fun的原型链顶端是什么,object顶端是什么
16.如何遍历一个数组和对象,(判断数组和对象,和一种方式实现)
17.for in 遍历对象会不会遍历原型链属性
18.for in 遍历对象会不会遍历原型链上的方法
19.webpack和gulp的区别、
三面
三面是hr面,和hr姐姐谈了谈人生和理想~~。最后拿到了offer。
美团
一面
视频面试
1.es6/es7有了解哪些,map,set,generator,symbol,class,module,promise,async,await,生成器的原理
2.http2和http1的区别
3.cdn原理
4.01-背包,动态规划
5.计算机网络的缓存,https原理
具体有点记不清楚了。
二面
视频面试
主要是聊我做过的项目。
1.做的一个聊天项目https://github.com/hua1995116/webchat
聊了切页效果的实现(3d加速,如何开启3d加速(说了大概8种),3d加速的原理,哪些情况3d加速不好),首屏的优化,优化后与优化前的对比(优化请求,图片大小等),用什么工具检测(chrome的performance),以及项目用户基础,前后端自己搭建,自己手写的localstroage缓存,缓存有哪些,大数据缓存用什么比较好。
2.在公司做的一个活动项目
聊了移动端布局,(淘宝flex结局方案),rem,css动画,requestAnimationFrame,自己写的动画有什么优化方式,图片加载,手撕一个进度条(啪啦啪啦)等。
3.手写一个promise形式,并有随机返回值。
其他的具体想不起来了,面了1个多小时,挺多东西的。。
三面
还是视频面试,主要是谈一些工作上以及自身的一些个性把,这个你自己答,开放性的。最后拿到了offer。