一、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. 字符串提取前几个不重复的字符串长度