- [栈]
- [队列]
- [字典]
- [BST]
- [Trie Tree]
- [图]
-
排序: [冒泡排序] / [选择排序] / [插入排序] / [快速排序] / [希尔排序] / [归并排序]
-
查找: [顺序查找] / [二分法查找]
-
物理层 物理层解基本概念 / 数据通信的基础知识 / 物理层下面的传输媒体 - 导引型传输媒体、非导引型传输媒体 / 信道复用技术 - 频分复用、时分复用、统计时分复用、波分复用、码分复用 / 数字传输系统 / [宽带接入技术]
-
数据链路层 数据链路层基本概念 - 信道类型、帧、三个基本问题 / 两种情况下的数据链路层 - PPP协议、CSMD/CD协议 / 以太网 - 拓扑、集线器、信道利用率、MAC / 扩展以太网、优化以太网
-
网络层
-
传输层 TCP和UDP的区别以及应用场景 / TCP三次握手和四次挥手
-
应用层 DNS、域名 / http缓存 / http2.0 / https / http常用状态码 / HTTP方法 / GET和POST的区别 /
-
RESTful架构 RESTful架构
- [语义化]
- [浏览器渲染]
- [Websocket]
-
[选择器]
-
[重排/重绘]
-
布局 居中 - position + transform / [float布局] / [flex布局]
-
this:call/apply/bind
-
DOM: dom - 创建/添加/删除/插入/克隆节点 / innerText 和 textContent / attribute和property
-
存储: cookie / localStorage/ [sessionStorage]
-
BOM: URL的井号 - location.hash / history的相关api / onhashchange事件,onpopstate事件
-
ajax:ajax实现
-
异步: [回调函数] / [Promise] / [Generator] / [Async]
-
canvas canvas语法 / 动画三要素 / requestAnimationFrame
-
定时器 setTimeout / setInterval
-
模块化 模块化 / require 和 import 有什么区别
-
[深拷贝]
-
[防抖]
-
[预加载]
-
[执行上下文]
-
[递归]
-
页面加载情况 - readystatechange/DOMContentLoaded/load/beforeunload/unload
- 工作原理 - 包括核心概念和工作流程
- webpack-dev-server
- 开发环境中 客户端 与 服务器热更新 优化探索
- url-loader 与 file-loader的区别 (以及image inline的实现)
- 提取第三方库 - DLL
- 开启gzip压缩
- 压缩js - ParallelUglifyPlugin
- Scope Hoisting
- 开启热模块替换
- css模块化
- css前缀兼容处理
- [按需加载]
- [cdn]
- jsx语法
- 数据流- props 和 state
- 组件间通信
- 生命周期 / 生命周期 - componentDidUpdate
- defaultProps + propTypes
- React 同构 - ssr
- BrowserRouter 和 HashRouter的区别
- React创建组件的三种方式及其区别
- setState机制
- React.Component 绑定方法
- 循环,key值的重要性
- [高阶组件]
- [虚拟DOM]
- [Diff算法]
- XSS - httpOnly/转义/黑白名单/CSP
- CSRF - samesite/token/验证码/referer
- 密码安全
- 点击劫持
- DOS、DDOS
- 重放攻击
- 传输安全
- [SQL注入]
- [上传漏洞]
- [fs模块]
- [path模块]
- [koa-static-cache源码解读]
- [TTD]
- 上传图片插件: 上传图片插件 - 原生实现
- 分页插件: 分页插件 - 原生实现 / 分页插件 - react实现
- 模态弹框插件: 模态弹框插件 - 原生实现 / 模态弹框插件 - react实现