- JS 基础类型(要区分原始类型)
- 原型和原型链
- 词法作用域
- this
- 闭包
- 模块化
- ES6 的新特性比如 Promise、解构、变量提升、迭代器、Symbol、Proxy、Generator
- 数组去重
- compose
- 数组扁平化处理
- setTimeout 实现 setInterval
- 发布订阅模式
- 继承
- Promise 含 then、catch、resolve、reject、race、all、abort
- new 操作符
- call、apply、bind
- 深拷贝
- instanceof
- 柯里化
- 防抖、节流
- 版本号排序
- Dom2JSON 和 JSON2Dom
- 类数组转化为数组
-
Object.is
- Ajax (xhr)
- 分片**解决大量数据渲染问题
- 模版字符串解析
- 实现一个对象的 flatten 方法
- webpack 配置
- webpack4、5 源码流程解析
- loader、plugin 的作用和手写
- 常用的 loader、plugin
- React/Vue 源码分析、部分原理和组件交互
- 周边框架比如 redux、react-router 源码分析
- EventLoop(到 Libuv 的调度规则)
- 事件优先级
- 中间件
- KOA 原理
- stream 处理
- 浏览器事件循环机制
- 从打开页面到渲染经历了什么(说出来浏览器的各个进程间的调度)
- 浏览器缓存规则(from memory、from disk)
- localStorage、sessionStorage
- OSI 七层协议
- HTTP 三次握手
- 1.0、1.1、2.0 有什么区别
- TSL 的用处
- http 缓存
- header 如何设置
- cache-control 的选项
。。。
-
排序相关
-
数组
-
队列
-
栈
-
链表
-
树
-
图
-
二分法
-
贪心
-
回溯
-
搜索(dfs、bfs)
-
滑动窗口
-
动态规划
-
背包
-
剪枝
-
位运算
-
Tire 树
-
并查集
-
堆