web前端面试题
html
1. localStorage和sessionStorage有什么不同?
2. ES5中的数组方法有哪些(forEech,map,filter,some,reduce)
3. forEach和map有什么不同
4. forin和forof有什么不同
CSS
1.网站优化的内容有哪些
2.css怎么进行优化
3.css选择器的权重
如何实现一个元素上下左右居中
flex:0 1 auto;是什么意思
JS
call/apply/bind有什么区别
bind里面的this返回的是函数还是值
箭头函数和普通函数的区别
什么是截流和防抖
promise
原始对象和
js
1.什么时候会用到监听器?
商家页面,监听用户选择哪个分类商品
城市选择器中监听城市的变化
后台管理系统中标签页面的变化,监听路由
React
1.类组件中的生命周期
2.函数组件的生命周期
3.使用hooks函数组件模拟生命周期
4.纯函数组件
5.setState 是同步的还是异步的,什么情况下是同步,什么情况下是异步
6.react父子组件之间怎么进行传值
7.redux是什么东西,主要是用来干什么的
8.在你的项目中什么地方用到了redux
9.redux有什么优点
10搭建react项目的流程
-
-
进入项目目录,npm start 或yarn start启动项目
以中后台管理项目为例:
-
在App.js中构建一级路由,实现 登录页,管理页,404页面的路由配置及路由拦截
-
在管理页中把左侧菜单和右侧内容区拆分出两个组件
-
在内容区组件中定义二级路由,即各个功能页面
-
11.一般情况下你在项目中遇到问题时怎么解决的
Vue
1.vue第一次页面加载会触发哪几个钩子
2.created和mounted的区别
3.DOM渲染在哪个周期中已经完成
4.$route和$router的区别是什么
5.v-if和v-show的相同点和不同点
v-if 在编译过程中会被转化成三元表达式,条件不满足时不渲染此节点。
v-show 会被编译成指令,条件不满足时控制样式将此节点隐藏(display:none)
6.v-for为什么必须使用key
7.v-for和v-if的优先级
8.Vue组件通讯有哪些方式?
1、props 和 $emit。父组件向子组件传递数据是通过props传递的,子组件传递给父组件是通过$emit触发事件来做到的。
2、$parent 和 $children 获取单签组件的父组件和当前组件的子组件。
3、$attrs 和 $listeners A -> B -> C。Vue2.4开始提供了$attrs和$listeners来解决这个问题。
4、父组件中通过 provide 来提供变量,然后在子组件中通过 inject 来注入变量。(官方不推荐在实际业务中适用,但是写组件库时很常用。)
5、$refs 获取组件实例。
6、envetBus 兄弟组件数据传递,这种情况下可以使用事件总线的方式。
9. vuex 状态管理。