前端面试题总结

JS基础篇:

1、js中什么是基本数据类型?什么是引用数据类型?以及各个数据类型是如何存储的?

2、基本数据类型和引用数据类型有什么不同?

3、new关键字的原理?

4、继承都有哪些方式?

5、如何判断一个数据是一个数组呢?

6、const a = [1,2,3,4],typeof a 的结果?

7、js事件轮询

8、判断数据类型有几种方法?

9、instanceof原理

10、typeof可以判断出什么样的类型?

11、typeof判断不出哪个基础数据类型?可以判断出哪个引用数据类型?

12、instanceof能判断出基础数据类型吗?

13、为什么typeof  null 是object?

14、== 和 === 有什么区别?

15、数组遍历的几种方式区别?

16、forEach和map有什么不一样的?为什么for循环会比其他循环快一点?

17、深浅拷贝的理解?自己如何实现一个深拷贝?

18、对象的地址存在什么位置?对象存在什么位置?

19、原型,构造函数,实例三者之间的关系?

20、break和continue的区别?

21、JS事件环

22、先执行宏任务还是先执行微任务,微任务在什么时候执行?

23、常见的状态码以及其含义?

ES6:

1、promise与async/await?async/await如何避免使用更多的try/catch去处理异常?

2、用到promise的哪些方法?

3、如何捕获promise的异常?

4、promise.all和.race有什么区别?

5、promise执行内部有错误的返回值是什么?

6、promise的工作原理?

7、市场上流行的promise规范有哪些?

8、let、const、var的区别?

9、const不可以修改直接赋值,为什么可以直接修改对象或数组中的某个元素?

10、箭头函数和普通函数有什么不一样的?

11、普通函数的this指向的是啥?如何改变普通函数this指向?

12、call、apply、bind之间的区别?

13、代码实现call、apply、bind

14、created、computed里面可以写箭头函数吗?

15、说一下vue中methods中普通函数this的问题?

16、箭头函数为什么不能被new?

17、箭头函数有没有自己的prototype?

18、解构和扩展运算符?

Vue:

1、v-if和v-for的优先级,以及为何不能共用?

2、v-if和v-show的区别?

3、什么是虚拟DOM?如何实现一个虚拟DOM?

4、vue中的diff算法

5、vue项目中有封装过axios吗?怎么封装的?

6、vue是怎么进行依赖收集的?

7、vue组件之间传值方式?

8、props传值进行默认值的设置是怎么设置的?

9、vue路由跳转的传参以及传参的方式?

10、启动一个定时器并且在什么时机进行清除?

11、计算属性和普通methods有什么不一样的?

12、计算属性中用到的值很频繁的变动的话还会用这个计算属性吗?

13、计算属性中声明的值能和data中重名吗?

14、watch监听普通变量和对象中的变量有什么方式?

15、watch监听的时候让第一次有值的时候也进行监听使用的方式是?

16、vue的生命周期

17、created里面怎么操作DOM(数据获取后重新获取页面的高度)?

18、怎么保证异步渲染的时候ref能获取到?

19、vue的nextTick以及源码?

20、vue的data为什么要用return的方式?

21、vue的数据双向绑定?

22、watch和computed的区别?

CSS:

1、什么是BFS?

2、盒模型

3、标准盒模型,怪异盒模型?

4、常用的布局属性

5、绝对定位在不知道水平宽高的时候如何保持元素水平垂直居中?

6、页面图片影响加载,做哪些优化处理?

7、CSS3的新特性

8、display有哪些属性?都有什么含义?

9、实现两边固定中间自适应的方式有几种?(双飞翼/圣杯)

10、flex布局常用的属性和属性值

11、flex1是什么意思?

12、怎么解决移动端高度塌陷的问题?

13、transform和animate具体实现的是什么样的动态效果?

14、transform的主要属性?

15、什么是重绘、回流?

16、什么是伪类?

17、用css写动画如何解决内存cpu?

18、清除浮动的方式有哪些?

19、移动端rem是怎么进行换算的?

20、1像素问题?

其他:

1、项目中逻辑比较复杂的地方,简单说一下?

2、公司用到新技术的时候通过什么样的渠道去学习呢?

3、想看一下技术知识点通过什么渠道去学习?

4、独自负责一个vue项目模块的时候怎么去搭建?

5、开发中是否使用过嵌套路由(递归路由)?

6、移动端怎么进行兼容?

7、项目中有哪一部分是需要自己花更多的经历去克服的?

8、如何根据权限判断路由?

代码:

1、给出一个数组,计算出三个数的最大乘积?[2,8,4,1,-7,-8]

2、手写防抖、节流函数

3、在一个数组中找到指定元素的位置并返回位置

4、一个数组循环右移n位

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值