金三银四过去了,面试了好多场,总结了以下面试基本都会问到的问题,后续会不断更新。
javascript
- let const var区别
- es6常用的API
- 箭头函数和普通函数的区别
- 手写防抖节流函数,new,call,apply
- 柯里化函数
- 事件循环,微任务,宏任务,同步任务
- promise,async await 原理。
css
- 三栏布局,用多种方案实现,flex,grid,margin负值
- 元素居中
- 三角形实现
- position里面属性分别有什么作用,对应什么进行定位
- flex所有基本都考
- css3动画
- 毛玻璃,页面变灰
vue
- 数据通讯方法,说越多越好
- vue2和vue3区别,vue3改进的点
- compositionApi用法,为啥不用mixin用这个
- vue的虚拟dom,diff算法原理
- vuex原理,vue-router原理,(主要考插件引入的原理和如何挂载到全局 vue.use())
- 如何定义一个vue自定义组件和挂载到全局,vue.component(name,component),vue.use(component)
- vue自定义指令,怎么写,里面有什么钩子
react
- fiber架构改进的地方和原理
- diff算法原理
- 数据通讯方法
- 函数式组件和类组件
- 新旧生命周期的不同
- 优化方法 pureComponent useCallback useMemo 之类的
- react hook的使用和实现原理(useState,useCallback,useMemo,useEffect,useContext,useReducer),自定义hook有没有写过
- react-redux 和 mobx用过哪个,怎么用
- 用过什么中间件 react-thunk react-promise
webpack
- webpack构建过程
- 自定义loader和plugins
- webpack的优化方案
前端优化
- 前端进行过什么优化方案,白屏时间,cdn,压缩,懒加载,ssr.......
- ssr
- 虚拟列表
- 微前端
- webComponent
nodejs
- 如何开启多进程(child_process,cluster)
- 事件循环