乐趣区

Sword-to-Offer

面向前端面试题的一些感悟和整理。
Sward To Offer,剑指 Offer,STO 系列之Javascript

原理篇


1. 描述 js 在浏览器端的执行流程♥♥♥♥

  • 执行栈
  • 事件队列
  • 微任务及宏任务
  • setTimeoutpromise 的执行顺序

2. 深拷贝与浅拷贝♥♥♥

  • 如何实现?

3. 防抖和节流♥♥♥

  • 定义
  • 分别如何实现

4. 闭包♥

  • 概念
  • 特性
  • 缺点

5. jsonp的实现原理♥♥

6. js的事件模型都有哪些♥♥

  • 事件冒泡
  • 事件捕捉
  • DOM 事件流

7. js的基本数据类型有哪些♥

  • 数据类型
  • 如何判断类型

8. callapply 的区别是什么♥

9. 函数声明和函数表达式的区别♥

10. new操作符具体干了什么

11. js延迟加载的方式有哪些

12. 描述下盒模型

13. 浏览器输入 URL 后发生了什么

14. 什么是负载均衡

15. 原型及原型链

  • 概念
  • 如何实现继承

16. 浏览器的渲染过程

  • DOM 树
  • 渲染树

17. 重绘和回流

  • 区别和关系
  • 如何最小化

18. 同源策略

19. vue 的生命周期

20. vue 父子组件通信

21. vuev-forkey值的作用

22. vue中计算属性

23. 单页应用的优缺点

24. 常见的 HTTP 请求头

25. 介绍观察者模式

  • 观察者和发布订阅的区别

26. 介绍http2.0

27. 介绍service worker


实战篇


1. 实现一个双向的数据绑定♥♥

  • Object.defineProperty

2. 实现一个简单的路由♥♥

3. js 原生的 ajax 实现♥♥♥♥

4. 数组去重

  • 能写几种方法?

5. 文件上传

  • 小文件与大文件
  • 断点续传
  • 切片

6. 上万条数据的 Table 渲染

  • 数据缓存
  • 可视化区域加载固定数量的数据
  • 数据缓冲

退出移动版