# To-do

* [ ] CSS3
* [ ] 移动端布局
* [x] vue mixin
* [x] ES6 WeakMap
* [x] reduce
* [x] slice
* [x] splice
* [ ] 微前端 看这个仓库 [qiankun](https://github.com/umijs/qiankun)，
  * [x] qiankun是基于[single-spa](https://github.com/CanopyTax/single-spa)
* [ ] sentry 源码学习
* [ ] axios 源码学习
  * [x] promise链
  * [ ] 如何做到多种调用方式？
* [x] 学习axios的相关项目 [umi-request](https://github.com/umijs/umi-request)
* [ ] 基于axios 实现 重放的多种策略 [见子页](https://mm.ricky.moe/interview/to-do/axios-zhong-fang-duo-zhong-ce-lve)
* [ ] vue compile-core 学习
* [x] 自己造一个 webpack  热更新的轮子
* [ ] webpack 5
* [x] koa2 源码学习
* [x] vue diff原理
* [x] 浏览器缓存策略
* [x] ES8
* [x] ES9
* [x] ES10
* [ ] ~~koa2 + ts~~ **了解**[**daruk**](https://github.com/darukjs/daruk)
* [x] 浏览器的本地存储
* [x] URL到页面发生了什么
* [x] HTTPS与HTTP
* [x] 图片懒加载
* [ ] service worker
* [ ] Deno
* [ ] 实现destructuringArray：destructuringArray( \[1,\[2,4],3], "\[a,\[b],c]" ) ==> { a:1, b:2, c:3 }
* [ ] jest
* [ ] nuxt
* [ ] 整理 [30s JS ](https://www.30secondsofcode.org/)
* [x] 手写 Promise
* [x] 手写 new
* [ ] 了解一下 bluebird
* [x] webpack 优化相关
* [x] 实现一个eventbus 参考 <https://github.com/tbreuss/eventbus>
* [x] 新生代+旧生代的详细算法补充一下
* [x] Array some
* [ ] vue router 简版实现
* [ ] vue router 原理理解
  * [x] 对于整体流程，hash和history两种mode有一定了解了
  * [ ] 路由涉及前端控制权限，'管理员'手下的资源，资源表也就是路由表的设计，还有路由的一些钩子，如何销毁上一个组件和渲染下一个组件的，过场动画怎么实现的，组件是同步or异步加载，守卫导航
* [ ] mobx
* [x] HTTP 状态码
* [x] 链表
* [x] 二叉树
* [ ] 轮播
* [ ] 返回顶部与取消
* [ ] 图片懒加载
* [x] sourcemap
* [ ] requestAnimationFrame
* [x] 登录相关
  * [x] 统一登陆
  * [x] 记住登陆
  * [ ] oauth
* [ ] OKR
* [x] 文件上传断点、续传 [掘金连接](https://juejin.im/post/5dff8a26e51d4558105420ed#heading-26)
* [x] !!
* [x] 性能优化(重要)
* [x] 正则
* [ ] 蒙版的css
* [ ] Array.reduce实现一个Array.map和Array.filter
* [ ] vue与react对比
* [x] 0.1 + 0.2&#x20;
  * [ ] 学习理解 [number-precision](https://github.com/nefe/number-precision)
* [ ] osi 七层模型
* [ ] tcp拥塞控制和流量控制
* [x] 三次握手四次挥手，为什么三次和四次
* [x] em和rem的区别
* [x] 尾递归优化
* [ ] XMLHttpRequest
* [ ] 01背包、红黑树、二叉树增删改查、n+m=k
* [x] websocket
* [ ] base64
* [x] 模拟实现parseInt
* [x] 加油站问题
* [x] 取1000个数字里面的质数
* [x] http报文头部有哪些字段
* [x] 100 \* 100 的 Canvas 占内存多大？
* [x] 路由守卫
* [x] `(a ==1 && a== 2 && a==3)` 可能为 true 吗
* [x] 用正则实现trim() 清除字符串两端空格
* [x] CORS 更深入的了解
* [x] OPTION请求
* [x] 如何阻止表单重复提交
* [x] SEO
* [x] Referer
* [x] 证书和证书中心
* [ ] JSONP 安全
