一、简答题
自我介绍,介绍最近一份项目经验,从js技术框架、ui框架、css预编辑器,项目使用平台,编辑器开发工具等
(一)、基础题
- js里怎样判断变量类型,typeof可以区分哪些不可以区分哪些。
- this指向、全局变量和匿名函数作用域
- 原型链__proto__、prototype。
- 数组去重有几种方案,或者找出重复的并排序
- 异步,并发Promise,Generator,Await
- css 垂直居中布局
- 浏览器上输入一个网站都发生了什么。
- 对webSocket是否了解,怎样实现前后端通信?
- 浏览器跨域怎么产生的,解决方案有哪些,各有什么优缺点。
- 移动端的适配问题,像素比,rem相对于什么的长度
- cookie ,sessionStorage,localStorage的区别
- call,appy,bind的区别,怎么实现bind
- ts。如何什么变量
- ts 泛型、重载、接口、类等等
(二)、React
- 生命周期?react创建组件有几张方式?
getDefaultProps:获取实例的默认属性
getInitialState:获取每个实例的初始化状态
componentWillMount:组件即将被装载、渲染到页面上
render:组件在这里生成虚拟的 DOM 节点
componentDidMount:组件真正在被装载之后 - 什么是JSX?和vue中模板语法有什么不同。
- 你对 React 的 refs 有什么了解?几种写法?绑定组件上输出的是dom吗?如何绑定dom?React.forwardRef用过?
- React 中 keys 的作用是什么?
- 什么是高阶组件(HOC)?能用HOC做什么?
代码重用,逻辑和引导抽象
渲染劫持
状态抽象和控制
Props 控制 - 什么是Redux?
Redux 由以下组件组成:
Action – 这是一个用来描述发生了什么事情的对象。
Reducer – 这是一个确定状态将如何变化的地方。
Store – 整个程序的状态/对象树保存在Store中。
View – 只显示 Store 提供的数据 - 为什么React Router v4中使用 switch 关键字?
(三)、Vue
- Vue实现兄弟组件间传值有几种方式 及父子之间传值,访问方法()$children $parent)
- 生命周期,父子组件加载时生命周期。
- $nextick原理
- v-if和v-show的区别。
- vue中 keep-alive用法。(include .exclude)
- vuex中四大模块怎么传递的,component,action,mutation,state,及action和mutation的区别,action是异步的吗?
- vue中$route和$router的区别
- key和ref的作用及区别
- v-model双向绑定原理()
- vue数组,this.arr[0]=“ftgfg”
(四)、其他项目建设工具类
- 页面url到加载完成经过哪些步骤?
- 对webpack的了解
- webpack工程化做了哪些优化?
二、深入
(一)javacript
- 函数节流(throttle)与函数去抖(debounce)区别
- 深拷贝与浅拷贝区别?js实现方案?
(二)、vue
- directive指令,(bind,inserted,update作用)
- transition动画
- filter
- render函数语法(jsx格式,配置babel)
- mixin
相同prop、data、computed合并策略
生命周期函数合并策略
(三)、React
- Redux与Flux有何不同?
Flux | Redux |
---|---|
1. Store 包含状态和更改逻辑 | 1. Store 和更改逻辑是分开的 |
2. 有多个 Store | 2. 只有一个 Store |
3. 所有 Store 都互不影响且是平级的 | 3. 带有分层 reducer 的单一 Store |
4. 有单一调度器 | 4. 没有调度器的概念 |
5. React 组件订阅 store | 5. 容器组件是有联系的 |
6. 状态是可变的 | 6. 状态是不可改变的 |