一面: 为什么做前端? 浏览器缓存?强缓存返回 http code 是多少,协商缓存返回的 http code 是多少 跨域有哪些方式? HTTP2.0相比HTTP1.1的优势? script加载的时候有两个标签async和defer在加载过程中有什么区别? js的数据类型?怎么检测数据类型?检测数组的时候es6和es5的方法都要说? js的原型链,用例子说明一下? js的事件循环机制?说一下哪些是宏任务哪些是微任务?事件循环的应用场景? 深拷贝和浅拷贝?如何实现 什么是rem?根据不同类型的手机去设置他的大小那怎么设置呢? Promise的方法? XSS和CSFT?如何预防? ...