文章目录
- 前言
- 一、javascript相关
- 1.js的八个基本数据类型(高频)
- 2.this的五种指向方式
- 3.Function的call,apply和bind方法的区别?
- 4.Promise,手写promise
- 5.闭包
- 6.原型链,作用域链与原型链的区别?
- 7.继承与继承的五种实现方式
- 8.深拷贝与浅拷贝的区别?(高频)
- 9.事件委托
- 10.var,const和let对比(高频)
- 11.宏任务与微任务
- 12.bind的实现方式
- 13.eventloop,事件循环(超高频)
- 14.new的过程,手动实现一个new方法
- 15.0.1+0.2!=0.3的原因
- 16.什么是防抖和节流?有什么区别?怎么实现
- 17.“==”和三个等号的区别?
- 18.null和undefined的区别?
- 19.内存泄露和内存溢出
- 20.垃圾回收机制
- 21.怎么判断数组array和对象
- 22.js的三个面向对象的属性
- 二、浏览器
- 三、css相关
- 四、HTML相关
- 五、ES6相关
- 六、vue相关
- 1.你对vue的理解
- 2.响应式原理
- 3.8个生命周期
- 4.组件通信的方法
- 5.双向绑定的原理(京东)
- 6.computed和watch的区别
- 7.对虚拟节点的理解
- 8.diff原理
- 9.eslint
- 10.vue常用的修饰符
- 11.v-text、{{}}和v-html的区别
- 12.vue的单页面的优缺点
- 13.vuex是什么?怎么使用?在哪种场景使用?
- 14.vue路由
- 15.vue数据绑定的几种方式?
- 16.注册全局组件和局部组件
- 17.viewui的常用组件
- 18.vue首屏加载慢的原因是什么?怎么解决?白屏时间怎么检测?
- 19.vue-router懒加载和非懒加载方式的区别?
- 20.手动搭建一个vue项目,和使用vue-cli的区别?vue-cli给我们做了什么?
- 七、react相关
- 八、计算机网络
- 九、操作系统
- 十、手撕代码
- 十一、其他问题
- 总结
前言
记录一下在面试过程中遇到的以及搜罗到的web前端开发岗位的面试题,以八股为目录,部分题目会记录公司出处,先记录题目,答案之后补充,欢迎各位小伙伴评论区补充。
以下是本篇文章正文内容
一、javascript相关
1.js的八个基本数据类型(高频)
2.this的五种指向方式
3.Function的call,apply和bind方法的区别?
4.Promise,手写promise
5.闭包
6.原型链,作用域链与原型链的区别?
7.继承与继承的五种实现方式
8.深拷贝与浅拷贝的区别?(高频)
9.事件委托
10.var,const和let对比(高频)
11.宏任务与微任务
12.bind的实现方式
13.eventloop,事件循环(超高频)
14.new的过程,手动实现一个new方法
15.0.1+0.2!=0.3的原因
16.什么是防抖和节流?有什么区别?怎么实现
17.“==”和三个等号的区别?
18.null和undefined的区别?
19.内存泄露和内存溢出
20.垃圾回收机制
21.怎么判断数组array和对象
22.js的三个面向对象的属性
二、浏览器
1.回流和重绘
2.http缓存,协商缓存
3.cookies,sessionStorage和localStorage
4.跨域问题(超高频)
5.在浏览器输入网址到页面渲染的整个过程(超高频)
三、css相关
1.盒子模型(标准盒模型和怪异盒模型)
2.垂直居中的方法(字节)
3.css样式优先级
4.行元素和块级元素有哪些?
5.几大经典布局方案(圣杯布局和双飞翼布局)
6.css3新增属性
7.如何使一个div消失在视野中?
8.说明z-index的工作原理,适用范围?position的属性
9.css命名规范
四、HTML相关
1.谈谈你对html5的理解以及新增的属性?
2.标签语义化的理解
3.dom是什么?关于dom的api有哪些
4.w3c标准
5.前端优化的一些方式
五、ES6相关
1.es6新增特性
2.forEach,for in和for of三者的区别?
3.bable是什么?有什么作用?
4.es6对数组做出的优化有哪些?
5.es6对object对象做出的优化有哪些?
6.es6对函数做出的优化有哪些?
7.symbol是什么,有什么作用?
8.literator是什么?有什么作用?
9.set和map
10.遍历的几种方法对比
11.es6新增的函数列举
六、vue相关
1.你对vue的理解
2.响应式原理
3.8个生命周期
4.组件通信的方法
5.双向绑定的原理(京东)
6.computed和watch的区别
7.对虚拟节点的理解
8.diff原理
9.eslint
10.vue常用的修饰符
11.v-text、{{}}和v-html的区别
12.vue的单页面的优缺点
13.vuex是什么?怎么使用?在哪种场景使用?
14.vue路由
15.vue数据绑定的几种方式?
16.注册全局组件和局部组件
17.viewui的常用组件
18.vue首屏加载慢的原因是什么?怎么解决?白屏时间怎么检测?
19.vue-router懒加载和非懒加载方式的区别?
20.手动搭建一个vue项目,和使用vue-cli的区别?vue-cli给我们做了什么?
七、react相关
八、计算机网络
1.http和https区别?https的工作原理和优缺点?http2.0和http1.0
2.tcp和udp概念区别?三次握手,四次挥手?为什么握手需要三次?(阿里)
3.常见的状态码?
4.ur的组成以及同源策略
5.强缓存以及协商缓存
6.get和post的区别?
7.常见的http方法
8.web安全问题
9.域名解析的过程和原理
九、操作系统
1.什么是死锁?死锁产生的条件
2.什么是虚拟内存
3.进程和线程的区别?
4.并发和并行的区别?
十、手撕代码
1.事件委托
2.常见的排序算法,度量的标准
3.数组去重
4.深度/广度优先遍历
十一、其他问题
- 近期访问的比较好的博客有哪些,列举一下(阿里)
- deadline怎么解决(阿里)
- 列举曾经遇到的困难(学习或者生活上)以及解决方式(字节)(京东)
- 怎么学习的前端
- 与别人相比的优势
- 项目相关。项目里面你的角色,你做了什么?开发过程中遇到的困难,怎么解决的?
- 准备怎么学习一个新的技术
- 你的爱好
- 你的职业规划
- 怎么理解大前端
- 为什么选择前端,说说你对前端的理解
- 压力大怎么解决(京东)
- 工作枯燥怎么解决(京东)
- 个人优缺点(京东)
- 找工作看重哪些因素(京东)
- 实习经历(京东)
总结
这里对文章进行总结:
失败不可怕,胆怯最可怕,失败之后无所进益最可怕