前端面试题三--higher

一、es5之下,原生js无法支持类似于CMD AMD等规范的模块化语法,但require sea webpack之类工具支持了这些规范,它们是借助了es5以下js的哪种特性实现的呢?

闭包,作用域、内存控制等相关回答。

二、React 优化中的 shouldComponentUpdate

1、React 官方指出:shouldComponentUpdate 是一个性能优化的紧急出口,即:万不得已不要用。
2、走shouldComponentUpdate方法是很费时的,且控制不好会出意外(该重新渲染时不渲染)。
2、render方法:React 是通过判断虚拟DOM是否有变更来决定是否重新渲染的,所以如果render方法的返回值没有变更,实际上就不会重新渲染。

三、vue 双向绑定的原理

参考:https://www.cnblogs.com/kidney/p/6052935.html

1、访问器属性

通过Object.defineProperty()来定义

image

get 和 set 方法内部的 this 都指向 obj,这意味着 get 和 set 函数可以操作对象内部的值。
另外,访问器属性的会"覆盖"同名的普通属性,因为访问器属性会被优先访问,与其同名的普通属性则会被忽略。

2、DocumentFragment

首先:通过DocumentFragment劫持,将Dom树拆成节点组成的数组;
然后:通过判断节点类型及属性v-model的值,将Text节点中的/\{\{.*\}\}/进行值v-model的值替换
最后:重新渲染Dom树,以实现数据渲染。

四、前端技术选型问题,具体体现及实例

五、前端错误监控系统

六、react-router有哪几种history 及 区别

BroswerHistory和HashHistroy区别

七、webpack 打包速度优化

八、webpack 缓存可能带来的问题

九、关于接口数据结构 与后端同学相关探讨

你可能感兴趣的:(前端面试题三--higher)