面试精简问题

根据最近复习出了一些能够考察到基础的题,避免面试者死记硬背前端面试题库

  1. 使用flex实现垂直水平居中
  1. for in & for of 区别 *如何对object 使用 for of
  1. 如何判断一个值是否为NaN es5如何判断
  1. 判断类型有几种可能
  1. 如何判断两个值是否属于同一类型 如何用es5实现Object.is()
  1. let 有什么特点 为什么会产生提升 如何用es5模拟一个let if是块作用域吗 显性的用大括号包过一段代码制造块作用域有什么好处
  1. 对数组arrar 新增一个值为2的key(key1) array的length为?
  1. 通源策略,cors ,jsonp原理

  2. 使用es6去重数组

  3. react生命周期 父子间通信用哪个生命周期

  4. antd如何实现按需加载

  5. BrowserRouter VS hashRouter 什么区别 使用BrowserRouter时用nginx调试有什么需要注意的

  6. vue是如何实现双向绑定的 如何实现mvvm的

  7. react render做了什么,setSatet后发生了什么

  8. 多次setState对性能有影响吗

一些面试题
  1. async await

    1
    2
    3
    4
    5
    await sleep(3000);
    async function sleep(ms){
    ....
    //实现函数sleep;
    }
  2. ant design 如何实现按需加载
    - babel-plugin-import && babelrc配置plugins

  3. 解释 同源策略,CORS

  4. BrowserRouter VS hashRouter

  5. 页面响应速度优化方案

  6. webpack如何配置ES6

  7. componentWillReceiveProps生命周期的触发条件

  8. es6基础 :

    • let定义的变量是否可以变量提升
    • 使用es6去重数组
    • =>的特点
  9. Iterator考察点:

    1
    2
    3
    4
    5
    6
    7
    8
    range(3,5) = [3,4,5];
    range(0,4) = [0,1,2,3,4];
    Array的Iterator接口实现range

    const range = (start, end)=>{
    if(start > end) return [];
    return [...Array(1+end-start).keys()]
    }