大厂前端校招 - 系统知识体系梳理
*代表非必须
编程语言
HTML
- 盒模型
-
HTML5
- 语义化标签
- canvas & svg
- 响应式 meta
CSS
-
选择器
- 优先级策略
- 伪类 / 伪元素
- 样式表继承
-
CSS3
- Flex & Grid
- filter
- 媒体查询 & rem
- Transform & Animation
-
BFC
- 高度塌陷
- Margin塌陷
- Float清除
- position 嵌套 & 覆盖
Javascript
-
ECMAScript
-
ES5
- 基本数据类型
- 函数级作用域
- 闭包
- 方法调用/函数调用
- 高阶函数
- 模块加载
-
ES6+
- 块级作用域
- 模板字符串
- Promise 微任务
- Async 迭代器
-
Class
- 继承
- proxy
-
箭头函数
- this 指向
-
原型链
- new 操作符
- bind / call / apply
- 深拷贝
-
-
BOM
-
DOM交互
-
事件代理
- 冒泡 / 捕获
- 两种监听方法
-
-
表单管理
- 如何提交一个表单
-
- History API
- XHR API
-
异步机制
-
Event Loop
- MacroTask / MicroTask
-
-
垃圾回收机制
- 标记清除 / 引用计数
WebAssembly *
计算机网络
七层OSI模型
HTTP
-
1.0 / 1.1 / 2.0
- 1.0
- 1.1 持久化
- 2.0 管线 / 服务端推送
- 状态码
- 缓存控制策略
TCP
- 3次握手 / 4次挥手
-
滑动窗口
- 慢启动 / 拥塞控制
-
可靠通信
- TCP状态机
UDP
WebSocket
数据结构
字符串 / 数组 / 链表
哈希表 / 二叉树 / 队列 / 栈
算法
BFS/DFS
动态规划
位运算
排序
-
冒泡 / 选择 / 快排 / 归并
- 分布式排序 *
滑动窗口
数学
线性代数
-
矩阵
- 矩阵的秩
高等数学
- 链式求导
- 梯度 / 导数 / 偏导
编译原理 *
服务器基础
Node *
PHP *
- CGI / Fast-CGI
- SetCookie
数据库 *
-
SQL
- 时间函数
- 读锁和写锁
-
数据类型
- char / varchar 区别
-
命令调用
- drop, delete, truncate
- 事务
ELK *
进程与线程
- 互斥与死锁
工程实践
模块化
-
ES5
- CommonJS / AMD / CMD思想
-
ES6+
-
Class
- Polyfill
-
用户鉴权
- OAuth
组件化
依赖构建
- Webpack
- Gulp *
版本管理
-
Git
- 分支机制
包管理
性能优化
- base64编码 / 精灵图
- 懒加载 / 预加载
- 静态资源的渲染阻塞
- CSS 选择器优化 / 表达式优化
- CDN
-
缓存控制
- ajax缓存
- header字段
主流框架(至少一个)
Vue
- 生命周期流程
- HTML模板
- 组件通信机制
- 高阶组件
- Router原理
-
VueX状态管理
- Action / Mutation
- 双向绑定原理
-
Virtual Dom
- Diff 原理 *
React
- 生命周期
- JSX
- Redux
- 组件状态管理
浏览器
渲染机制
- DOM
- 重绘/回流
- shadow DOM
浏览器缓存
- Cookie
- Storage
同源策略
- 跨域访问方法
SEO优化
- meta标签
安全
-
TLS
- 非对称加密原理 *
-
网络攻击
- XSS
- CSRF
- 数据库注入 *
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。