面试准备

2017-09-12  本文已影响28人  星月西

1.本地存储

1.1 cookie

1.2 localStorage

持久化存储数据,同源策略

1.3. SessionStorage

存储会话数据,数据只保持到浏览器关闭

1.4 IndexedDB

同源策略,对象存储数据库,所有操作为异步执行,客户端本地数据库

2.nodejs

4.preact

3.React生命周期

生命周期分为挂载,渲染,卸载这几个阶段

4.React性能优化

1.如果新的props和旧的一样,这是React还是要进行虚拟DOM的diff,,这个diff就是多余的性能损耗,而且在DOM结构比较复杂的情况,整个diff会花费较长的时间
可以通过集成React.pureComponent纯组件来优化性能,它重写了shouldComponentUpdate,浅比较Props和state,当两者相等时返回false,这样组件就不会进行虚拟DOM的diff
2.有特殊需求时,可以使用shouldComponentUpdate来判断是否需要更新组件,比如判断传入数据的id是否有变化等等
3.diff算法不会尝试比较不同组件类的子树,如果发现正在使用的两个组件类输出的DOM结构非常相似,可以把这两个组件类改成一个组件类
4.不要进行DOM节点跨层级的操作,保持稳定DOM结构有助于性能的提升,可以通过CSS隐藏和显示节点,而不是真正地移除和添加DOM节点
5.React会将所有显示到DOM的字符串转义,防止XSS

5.使用Symbol设置私有属性

let Person=(function(){
    let _name=Symbol();
    class Person{
        constructor(name){
            this[_name]=name;
        }

        get name(){
            return this[_name];
        }
    }
    return Person;
})();

let a=new Person('red');
console.log(a.name);

首先在函数作用域内创建属性名,使用闭包引用这个变量,就不会被垃圾回收器回收,接着使用Symbol设置属性名,保证不会重名,且外部无法生成同样的值,保证唯一性

6.express特点

7.koa特点

8.HTTP请求报文和响应报文

8.1 请求报文

请求报文由

9.性能优化

10.请求报文和响应报文

请求报文由

响应报文

11.垃圾回收机制

内存分配量达到了一个临界值,垃圾收集器就会运行,这个临界值会动态调整。
如果垃圾回收的内存分配量低于15%,那么临界值就会加倍,垃圾回收的内容分配量高于85%,那么临界值会重置为默认值

12.ES6

及时清除引用是非常重要的,WeakSet和WeakMap对值的引用都是不计入垃圾回收机制的,这是弱引用,一旦消除对该节点的引用,它占用的内存就会被垃圾回收机制释放,WeakMap保存的键值对也会自动消失,向向对象上添加数据,又不想干扰垃圾回收机制,就可以使用WeakMap

13.暂时性死区

只要在块级作用域内存在let命令,声明的变量就绑定这个区域,不再受外部影响,在声明之前使用变量,会报错
只要已进入当前作用域,索要使用的变量就已经存在了,但是不可获取,只有等到声明变量的那一行代码出现,才能获取和使用该变量

14.前端SEO

上一篇 下一篇

猜你喜欢

热点阅读