前端面试常见问题

1. html5&css3

元素垂直居中对齐

        1. position relative absolute marginauto

        2. flex justify-content center

        3. transform

flex: 1   flex shrink 

2. js

基础数据类型 typeof   instanceof区别

1. 数组 foreach和map的区别

        map会返回一个新的数组

        数组增删改方法

2. 闭包和作用域

        函数内部变量可以在外部使用,问题:占用内存,容易造成内存泄漏,

        使用完毕后释放

3. 实现一个类似关键字new功能的函数

        调用constructor xxx 返回新建的对象

4. 如何实现继承 原型和原型链 --proto--

5. 箭头函数和普通函数的区别

        this指向 一个是静态的 一个是动态的

6. 迭代器和生成器函数的关系

7. 浏览器事件循环机制

        promise settimeout 

        宏任务和微任务 js eventloop

typescript

1. type和instance的区别

2. 常见工具类型

3. any unknown never

vue

1. 虚拟dom

2. Vue3的改进

        1. 数据响应不一样,2.x 是getter setter 新的动态属性无法检测到,3.x是proxy,可以监听

        2. 2.x用的双端diff算法,3.x是文本diff算法,类似git检测代码不一样时的方法

        3. 编译优化

        4. api不一样 composition api和option api

3. computed和watch的区别

浏览器相关

1. http

2. 缓存机制

3. 页面渲染过程

工具链相关

webpack的理解 作用是

webpack里的loader和plugin是什么 执行顺序是?

vite和webpack的区别

react

生命周期,hooks在函数组件中取代哪些生命周期

fiber 把原先不可中断的渲染过程变得可以中断,响应用户操作,再继续渲染,用户友好。

性能优化

减少请求

手写代码

深拷贝

快速排序

模拟链表结构

手写promise

防抖节流

数组降维去重

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值