常见二面面试题

189 阅读1分钟

1. 在JavaScript中,有哪些方式可以遍历一个对象的自有属性

const obj = { firstName: 'jack', lastName: 'Lee' }

  1. 利用for...in进行遍历
for (let k of obj) {
    if (obj.hasOwnProperty(k)) {
        console.log(obj[k])
    }
}
  1. ES6提供的方法 Object.keys Object.values Object.entries
Object.keys(obj);    // [ ['firstName', 'lastName'] ]
Object.values(obj);  // [ ['jack', 'Lee'] ]
Object.entries(obj); // [ ['firstName', 'jack'], ['lastName', 'Lee'] ]
  1. Object.getOwnPropertyNames()
  2. Object.getOwnPropertySymbols() 唯一可以遍历Symbol的方法
  3. for...of
  4. Reflect.ownKeys()

2. 从http网络资源加载的角度出发,前端可以采用哪些手段做性能优化?主要集中于http网络或者网络资源方面

3. 前端有哪些技术可以实现复杂动画?(多考虑性能方面)

4. 项目是采用webpack打包的吗?如果webpack项目打包构建的速度比较慢,希望进行优化。回答两个问题,一是如何进行分析,二是说一下你知道的一些比较有效的提升webpack打包构建速度的工具或者方法

5. 说说以往的项目中在技术方面比较复杂或者比较难的事情,然后你是怎么解决的

6. 写一个前端缓存函数