哈罗出行面试

1. es6中generator

generator是es6的异步编程解决方案
简单应用如下:

function* helloWorldGenerator() {
      yield 'hello';
      yield 'world';
      return 'ending';
    }
    let hw = helloWorldGenerator();
    console.log(hw.next());
    console.log(hw.next());
    console.log(hw.next());
    console.log(hw.next());

用处用一下几点:

  1. 异步操作的同步化表达
  2. 控制流管理
  3. 部署 Iterator 接口
  4. 作为数据结构

2. options预请求是什么

(1). get和post皆存在预请求
(2). 什么是预请求
预先询问服务器支持的请求方法,确定请求是否被允许

3. https加密流程

https = http + SSL;
https相对于http更加安全主要是SSL;
以前http直接进行数据传入,数据相当于在裸奔
https就是在数据传入前使用SSL非对称加密(RSA),当加密完成后,即可使用对称加密(AES)进行数据传输,加密过程如下:


image.png

4. call,apply传入null,里面的this会是什么?

function test () {
    console.log(this);
  }
  test.apply(window);       // Window
  test.apply(null);         // Window
  test.apply(undefined);    // Window
  test.apply();             // Window
  test.call(window);        // Window
  test.call(null);          // Window
  test.call(undefined);     // Window
  test.call();              // Window

5. vue的hot-module是怎么实现的?

6. for...in, for, for...of区别?

(1). 在形式上: forin中key是属性名, forof是值
(2). forinhi遍历对象的属性,包含原型上的属性; 但是forof不会遍历原型上的属性,也不能循环普通的对象
(3). forin不能遍历map和set,forof是可以的

7. es6的iterator

. v-model实现细节, vue-router回退怎么做到的, vuex中mapActions等怎么加入到组件的, 及很多框架实现,个人需要阅读源码

你可能感兴趣的:(哈罗出行面试)