最近想着去市场中试试水,看看本身的几斤几两。
哈哈,而后大概遇到了这么几类问题吧。写出来和你们分享一下。html
1.原型及原型链的问题
这个问题面试的公司都有问。其实这个问题也是好多新手特别犯难的一个问题。对于一些人来讲原型和原型链要解释得清楚又准确就要把原型这块的知识点看好多遍。OK,直接说个人方法吧,我直接在纸上画了这样的一张图:前端
当我画完这张图并辅以说明的时候面试官通常就不会继续问原型和原型链的问题了。vue
2.继承
通常问完了原型以后会被问道关于继承的问题,只要回答继承的几种方式和各类方式的优缺点,侧重点是对组合继承方式的理解。面试
3.手写深拷贝
这个问题也是被问到了不止一遍,就连美团也问到了。
最简单的就是使用JSON.parse()与JSON.stringify()。
其次还要掌握一种。json
function deepClone(obj){ var newobj=obj.instanceof Array?[]:{}; if(typeof obj!=="object"){ return obj; }else{ for(var i in obj){ newobj[i]=obj[i].typeof obj[i]=="object"?deepClone(obj[i]):obj[i]; } } return newobj; }
固然,只要理解了上面的方式,在回答的时候说出大概意思也能够。(推荐写出来,边写边讲原理)
4.script标签的defer和async有什么区别
这个本身看一下就好,不是特别难,并且问的几率不大。segmentfault
1.关于页面缓存的问题
这个就比较简单了,只要看几篇文章就能够回答的很好。
2.页面的优化
关于这个问题,除了说那些关于代码压缩、图片整合、减小请求次数之外。最好说出一些深层次的东西,好比for循环和map的区别、if判断和switch判断性能上有什么样的区别、发送请求返回的数据尽可能压缩在14kb或14kb的倍数、W3C规定setTimeout的最小时间是4ms、因为大多数显示器的刷新频率都是60Hz,因此涉及到动画的setTimeout的时间最好不要低于16.7ms等等这样的回答。这样的回答每每得到面试官更多的好感。
3.跨域的方法
这个问题也是各个公司都喜欢问的。通常回答如下几点就行了:
jsonp,代理,postMessage(一样也是iframe跨域传输经常使用的方式)
4.jsonp的原理以及jsonp的返回
这个面试以前必定要看,jsonp的原理你们都知道,就是利用script标签的src属性,不过对于这个问题必定要很是看重,最好能手写出jsonp请求。对于jsonp返回数据的类型,这个也是面试官常常会顺着问的问题。跨域
由于个人简历上只写了vue,因此问的都是一些关于vue的问题。
我就说几个常见的问题吧。
比较简单的是数据传递的方法。
还有数据双向绑定的原理。这个我会在下面附上连接。连带着原型的连接一块儿。通读这两篇文章就问题不大了。promise
promise
这个是重点,若是你面试的是一家使用比较新的技术的互联网公司,颇有可能会问到promise。而问的方面都会有所不一样,这里无法给出范围,最好的办法就是把阮一峰老师关于promise的那部分多看两遍。固然,也不排除会有一些公司会让手写出promise的实现方法。缓存
面试了几家公司,关于H5和CSS3的问题都很少,关于this指向的问题也不多问,闭包的问题也很少,还有像call和apply的区别这种简单的问题我就再也不说了,(不排除会有公司会出手写call()方法的实现)
有的公司会问移动端和pc端开发有什么不一样(这个根据我的开发经验去说就好,在回答问题的时候切入本身写的项目也是能够的。)
第三个参考连接也是很值得看的,特别是那些作前端时间不长的小伙伴,很适合用来做知识梳理。
PS:我的能力有限,没能挺到美团的最后一轮面试,不过面试的几家公司也是涉及到了各行各业,这篇文章只是对即将面试的前端小伙伴们一个参考,最后效果仍是要看我的努力的。加油吧!闭包
起风了,惟有努力生存。
参考:
https://segmentfault.com/a/11...
https://segmentfault.com/a/11...
http://www.dailichun.com/2018...