面向前端面试题的一些感悟和整理。
Sward To Offer
,剑指 Offer,STO 系列之Javascript
。
原理篇
1. 描述 js
在浏览器端的执行流程♥♥♥♥
- 执行栈
- 事件队列
- 微任务及宏任务
-
setTimeout
与promise
的执行顺序
2. 深拷贝与浅拷贝♥♥♥
- 如何实现?
3. 防抖和节流♥♥♥
- 定义
- 分别如何实现
4. 闭包♥
- 概念
- 特性
- 缺点
5. jsonp
的实现原理♥♥
6. js
的事件模型都有哪些♥♥
- 事件冒泡
- 事件捕捉
- DOM 事件流
7. js
的基本数据类型有哪些♥
- 数据类型
- 如何判断类型
8. call
与 apply
的区别是什么♥
9. 函数声明和函数表达式的区别♥
10. new
操作符具体干了什么
11. js
延迟加载的方式有哪些
12. 描述下盒模型
13. 浏览器输入 URL 后发生了什么
14. 什么是负载均衡
15. 原型及原型链
- 概念
- 如何实现继承
16. 浏览器的渲染过程
- DOM 树
- 渲染树
17. 重绘和回流
- 区别和关系
- 如何最小化
18. 同源策略
19. vue 的生命周期
20. vue 父子组件通信
21. vue
中 v-for
中key
值的作用
22. vue
中计算属性
23. 单页应用的优缺点
24. 常见的 HTTP 请求头
25. 介绍观察者模式
- 观察者和发布订阅的区别
26. 介绍http2.0
27. 介绍service worker
实战篇
1. 实现一个双向的数据绑定♥♥
Object.defineProperty
2. 实现一个简单的路由♥♥
3. js 原生的 ajax 实现♥♥♥♥
4. 数组去重
- 能写几种方法?
5. 文件上传
- 小文件与大文件
- 断点续传
- 切片
6. 上万条数据的 Table
渲染
- 数据缓存
- 可视化区域加载固定数量的数据
- 数据缓冲