# 原理篇
---
#### 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`渲染
- 数据缓存
- 可视化区域加载固定数量的数据
- 数据缓冲
----
- 前端
- C1-Javascript
- H5图片分块和断点续传
- JavascriptPatterns[Stoyanstefanov]
- macotask和microtask
- 前端代码生成器
- 跨域
- 页面回到顶部滚动按钮实现
- C2-CSS
- 浏览器的一些单位
- 盒模型
- 移动端判断横竖屏
- C3-框架
- ReactNative
- 开发环境搭建(安卓篇)
- Vue
- vue+pdfjs使用
- vue+typescript使用实践
- vue+webpack3.x集成typescript
- Vue源码3
- vue源码分析1
- vue源码分析2
- vue笔记
- C4-工具
- git
- Gitlab-CICD
- mock规则
- vscode-settings
- webpack自定义命令,切换代理地址
- 正则表达式
- 深入浅出webpack
- C5-Node
- express
- express源码阅读
- nightmare使用指南
- 爬虫1.0
- C6-微信
- 微信
- C7-Canvas
- 基础API
- 前端随笔笔记
- 后端
- C1-Java
- shiro
- C2-Linux
- ffmpeg
- ITerm
- Linux
- MongoDB安装
- MySql安装
- Ngnix反向代理
- 常见错误
- 备忘
- mac
- 备忘-Work
- 备忘Link
- 服务器资源
- 教程
- Hexo个人博客搭建笔录
- 文档
- CSS编码规范
- 前端编码规范
- 随笔
- 整理
- 正则
- 链接收藏
- 面试
- CodeWars题库
- CodeWars题库(二)
- Java社招面试题
- Java面试
- Web面试
- 前端笔试题
- 笔试题