经过一段忙碌的各大厂的面试,也顺利的拿到了几个offer,总体通过率还是蛮高的。现凭着记忆做了一些面试题目的整理,做个回顾。
1.arr=[6,8,8,7,6,6] 依次输入6 7 8 写几种方法,然后他们的复杂度分别为多少?
2.call bind apply 具体用法(1.改变this指向2.继承) 实例
3.组合构造函数 借用构造函数用法:
https://blog.csdn.net/ddwddw4/article/details/84838592
4. 0 'NAN' undefind null ‘1’ 怎么判断类型
(思路可先用type of 或者Object.prototype.toString.call(),instanceof() 等去结合具体情况去判断。)
5.vue v-for :key为什么必须绑定key值,为什么不推荐使用index?
https://blog.csdn.net/ddwddw4/article/details/85220565
6.闭包问题:
如用let解决问题,实际原理是什么
for(let i=0;i setTimeout(function(){ console.log(i) }) } https://www.cnblogs.com/zhuzhenwei918/p/6131345.html https://blog.csdn.net/ddwddw4/article/details/78676956 闭包问题解析 7.this 指向问题 function A(){ this.name='asd'; } var b=new A(); //this 指向哪 https://blog.csdn.net/ddwddw4/article/details/84839165 8._proto_与prototype的区别 Array上面有没有_proto_ ? https://blog.csdn.net/ddwddw4/article/details/85221056 9.vue双向数据绑定原理 https://blog.csdn.net/ddwddw4/article/details/84765179 https://blog.csdn.net/ddwddw4/article/details/80975024 10.v-model语法糖怎么实现的(v-bind:value + v-on:input) https://blog.csdn.net/ddwddw4/article/details/84958473 11.arr1=[2,3,5] ,arr2=[2,6,8,5,3] 两个数组合并去重排序 12.vue怎么动态更新数据与视图 (1.Vue.set() 2.比如数组的push,pop,shift,unshift,splice等相关方法。3.改变引用) 13.localstorage 前端怎么做过期处理?(利用时间戳,两次时间戳相减,得出经过时间,去判断是否要做过期处理) 一个网站下面的多个二级子网站 怎么去做共同的登录状态管理, 用啥做,如果用cookie的话怎么做? 本质是 cookie localstorage sessionStorage的区别。 14.flex 的布局使用 15.正则 dsajjw@weel/jtml/sksd/dudongbin1 怎么分别取出dudongbin和1 16.em,px,rem区别?rem布局是怎么实现的?原理是什么 http://caibaojian.com/web-app-rem.html 17.css3写一个三角形 18.前端页面优化技巧 https://www.cnblogs.com/MarcoHan/p/5295398.html 19.Vue 优化技巧 (组件异步加载,keep-alive缓存,图片懒加载等) 20.哪个项目中遇到的难题,怎么解决的? 21.Vue 的生命周期 (11个) 22.vuex的流程(官网) 23.从地址栏输入url到页面展示出来的过程发生了什么? https://blog.csdn.net/ddwddw4/article/details/84396263 24.link与@import的区别 25.xhtml与html的区别 26.数组的归并 reduce 和用for循环有什么性能上的区别吗 为什么? 27.数组迭代方法 https://blog.csdn.net/ddwddw4/article/details/84647313 28.export 与export default的区别 29.es6 promise 用法例子手写 https://blog.csdn.net/ddwddw4/article/details/84307598 30.Eslint 用过没,手写XX 31.为什么有跨越问题,跨越问题解决办法(1.服务器代理 2.CORS 3.图片Ping 4.JSONP 5.iframe等) 32.深拷贝 https://blog.csdn.net/ddwddw4/article/details/84306615 33.css中百分比问题: https://blog.csdn.net/ddwddw4/article/details/82962679 34.面试题 function Foo() { getName = function () { alert (1); }; return this; } Foo.getName = function () { alert (2);}; Foo.prototype.getName = function () { alert (3);}; var getName = function () { alert (4);}; function getName() { alert (5);} //请写出以下输出结果: Foo.getName(); getName(); Foo().getName(); getName(); new Foo.getName(); new Foo().getName(); new new Foo().getName(); 详解 https://blog.csdn.net/ddwddw4/article/details/84942240 35.文件上传的方式?ajax如何实现上传? https://blog.csdn.net/ddwddw4/article/details/85115162 36.es6的其他用法 (let,const,解构赋值,字符串模板,class promise,扩展运算符等) 37.数组去重方法 https://blog.csdn.net/ddwddw4/article/details/84401353 38.XSS CSRF SQL注入等前端安全问题,怎么解决? 39.其他面试问题参考 http://blog.poetries.top/2017/03/12/front-end-interview-summary https://blog.csdn.net/wdlhao/article/details/79079660 40. 在我的博客里面有一些平时遇到问题的总结,大部分问题也做了收录,可以参考。 https://blog.csdn.net/ddwddw4 以上关于JS的问题,Javascrpt 高级程序设计(第3版)中都有较为详细的原理解释与说明,可参考。看完这书,js无难题。 http://blog.poetries.top/2017/03/12/front-end-interview-summary https://blog.csdn.net/wdlhao/article/details/79079660 https://baijiahao.baidu.com/s?id=1611739455644700149&wfr=spider&for=pc前端面试题整理
2018最新Web前端经典面试试题及答案
新鲜出炉的8月前端面试题