一、58同城前端面试题27道
1. css盒模型
 2. css画三角形
 3. 盒子水平垂直居中(所有方式)
 4. 重绘、重排
 重绘就是重新绘制(repaint):是在一个元素的外观被改变所触发的浏览器行为,浏览器会根据元素的新属性重新绘制,使元素呈现新的外观。
重排就是重新排列(reflow):当渲染树的一部分必须更新并且节点的尺寸发生了变化,浏览器会使渲染树中受到影响的部分失效,并重新构造渲染树。
5. 网页颜色变灰
6. js的基本数据类型, 值类型和引用类型
7. 数据判断类型  
   typeof  instance of  constructor  Object.prototype.toString.call()
8. 原型和原型链
9. cookie 、sessionStorage 、localStorage
 10. async await   和 promise 区别
 11. new 实现过程
 12. http状态码
 13. useEffect 依赖为空数组时和 componentDidMount 的区别
 14. this.$nextTick() 的原理
 15. computed 和watch区别
       computed 对属性数据有缓存,推荐使用
 16. vue 子组件能不能修改父组件的props
 17. 小程序包大小限制,体积超标的话如何处理(图片压缩+CDN, 分包操作)
 18. 小程序嵌套webWiew
 19. 大文件上传(大视频)前端处理
       断点续传  具体操作
 20. webpack 工作原理
 21. source-map (从本地到线上怎么操作)
 22. 数据运算 0.1 + 0.2 怎么保证数据准确  
      方案:把小数转换为整数来进行计算。或者 使用计算库
 23. nginx处理跨域-反向代理(原理)
 24. 性能优化-如何评价页面性能好坏,用什么指标
 25. 优化手段 从几秒到几毫秒
 26. 过去遇到有挑战的事情,怎么解决的?
 27. 深拷贝 和 快速查到
二、百度前端面试题
1. webpack优化
 2. ES6新特性用到了哪些
   箭头函数 this
  
   promise.all()  promise.rise()
3. javaScript 的 eventLoop
4. xss攻击 怎么解决
5. VVM的VM原理
6. vue2和vue3的区别
7. keepAlive
8. 路由
9. 移动端可PC端视图兼容
  手写代码题 
   1. 扁平化数组
   2. 字符串提取前几个不重复的字符串长度