自我介绍1. 假设要做一个网页版的音乐播放器,如果用户打开多个标签页,如何让只有一个标签页播放--用localstorage,记录哪个窗口正在播放,每个窗口去判断是否是正在播放的窗口,如果不是就暂停。2. 一个父元素内有两个子元素,让他们在左右排列,在父元素内部上下居中,如何实现--父设为BFC,让他们在水平和垂直轴都居中--代码3. CSS动画,鼠标放在按钮上按钮变大,并有过渡效果,如何实现--transform scale 过渡 代码4. ES6新增数据结构--Symbol, bigInt --symbol有什么作用5. Set和Map数据结构用法,数组去重用谁实现,map表示键值对和普通对象的区别--6. 向后端发送两个请求,都响应回来后做数据合并,想到ES6的哪些知识?如何实现--(如果Promise.then连接,是串行,要求并行)promise.all都resolve拿到结果后返回promise对象再处理7. ES6里Promise新的功能和特性(引出上面一题的答案)--apply,all,call8.模块化规范了解哪些,如commonJS--9. 一个数组,每一项都是一个人的信息,人名成绩等,要求返回语文成绩大于80的人名,组成新的数组以逗号分割--遍历,更快速:filter获得大于80的人名,用map取出人名加’,’构造数组10. 字符串过滤前后空格,如何实现--用过啊啊啊 忘了!!11.性能优化--防抖和节流12. 其它性能优化?打包13. 日期格式化怎么做的14. less比CSS的优势,说三个15. 抽象语法树是什么,有哪些应用场景--AST概念,页面渲染16. 打包工具里用到ast吗,哪个用了--Webpack--反问:如何学习前端,本次面试表现如何,有哪些需要加强