# 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 安全


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mm.ricky.moe/interview/to-do.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
