给大家分享一下前端的学习路线
目录有链接则表示本人已经学习掌握的知识点
javascript高级
- call,apply,bind,new等手写实现
- 原型链和闭包深入
- 执行上下文和作用域链
- 深拷贝和浅拷贝
- 防抖和节流
- 词法分析和语法分析
- 常量 解析 模板字符串 展开运算符 解构操作符 箭头函数 数组新方法 生成器和迭代器
- Symbol元编程 set map应用及weakmap object.definedProperty以及下一代Proxy&Reflect esModule实现
- v8内存管理 垃圾收集 引用计数,标记清除 标记整理和增量标记
- 浏览器和node.js中的eventLoop 高阶函数 发布订阅和观察者模式 Promise核心应用 generrator和实现co库 async await原理实现完整的Promise类库 包含reace all finally try等方法
Vue全家桶
- Vue基础什么是Vue?、Vue的使用、Vue常见的指令、Vue的事件绑定和属性绑定、Vue中的计算属性、computed和watch的应用、表单中的数据绑定、手写Vue中的响应式原理、MVVM手写实现
- Vue应用Vue中的修饰符、自定义过await、vue-cli3.0实战、 render方 法详解和使用jsx语法
- 封装自己的ElementUl组件什么是组件和组件的应用、组件的属性和校验、组件之间的通信、EventBus应用、组件slot用法、封闭自己的树型组件、日历组件、异步加载的省市级联组件、基于element-ui/iview二次封装表格组件和树型组件、组件的单元测试和集成测试
- 路由篇VueRouter的基础应用、编程式导航、路由嵌套、路由守卫、路由元信息、实现动态权限菜单、按钮及权限认证、登录权限、手写实现VueRouter源码
- vuex vuex应用(state、getter、 mutation、 action)、 手写实现中的state、getter、 commit、 dispatch、actions/mutations、模块化
- PWA manifest.json配置、service worker生命周期、fetch请 求拦截、cache api以及缓存策略、Notification API、cache api以及缓存策略、Notification API、workbox应用、Vue实战PWA
- Vue SSR服务器端渲染SSR原理和设计理念、集成koa实现服务器端渲染、webpack构建Vue SSR项目、集成路由及代码分割、集成VueSSR和Vuex实现数据同步
- 项目优化路由懒加载、页面预渲染、SSR原理和Nuxt实战、 Vue骨架屏、Vue-devtools开 发插件、Vue动画
- Vue全家桶项目Vue-cli3.0项目搭建、服务器构建(koa2+mongodb)、cube-ui组件化实战、路由配置和动画、如何Mock后台数据、数据获取和axios应用拦截器、基于JWT的注册登录权限管理、公共组件封装、上拉刷新、下拉加载、图片懒加载、课程购买、微信和支付宝支付、使用vuex实现购物车、项目布署和上线
React全家桶
1.核心篇
- React核心
- 模块化和组件化
- React的属性、校验和参数传递
- React的状态和双向数据绑定
- React中的单向数据流
- 受控组件和非受控组件
- React表单双向数据绑定
- 新旧Context_上下文环境
- DOM获取之Ref
- 新旧生命周期函数
- children属性的使用
2.进阶篇
- create-react-app原理分析
- JSX原理和虚拟DOM原理
- setState异步原理实现和事务实现
- 使用Immutablejs和PureComponent优化性能
- React动画.
- ErrorBoundary、Suspense和Fragment
- React Hooks+Redux实战
- React性能分析
- React中的高阶组件和render props
- React新一代的Fiber架构
- 从零实现一款包含完整dom-diff算法的React
3.路由篇
- 路由配置
- 路由懒加载
- 路由重定向
- 路由之权限管理
- 受保护的路由
- 手写-个完整的React-router4路由库
4.redux篇
- redux核心概念action、reducer、 store
- 手写实现redux、react-redux、 connected-react router完整功能库
- 手写redux-logger、redux-promise 、redux-thunk、 redux-saga、 redux-actions、 reselect、 redux-persist完整类库
5.React服务器端渲染SSR
- 客户端渲染VS服务器端渲染
- React中的服务器端原理
- 同构的原理和意义
- SSR中使用路由跳转和redux
- SEO优化和预渲染
- Koa2+next.js服务器端渲染实战
6.mobx篇
- observable、computed、 autorun、 when、reaction实战
- 手写一个mobx类库
7.Ant-Design篇
- Button、Modal、 Loading、 Notification、 Message、 List、 Carousel等 U|组件
- 布局、表单和复杂表格组件
- 手写Antdesign表单组件
8.Ant-DesignPro篇
- nunjucks、yaml、mockjs、 roadhog
- umi配置静态和动态路由、权限和动画、UMI实现原理
- dva创建应用、集成AntDesign、定义路由和UI组件、链接仓库、使用effects和reducers、 手写实现dva
- 使用AntDesignPro开发企业级后台系统
9.typescript
- 开发环境、基本语法、面向对象编程、泛型、类型系统
- 前端工程化TS应用、声明文件、TypeScript+React集成开发
node
1.node核心模块
- EventL oop和事件队列
- process全局对象
- commonjs原理解析
- 深入字符编码
- Buffer对象
- fs文件模块
- 压缩与解压缩
- 加密与签名算法
- Stream流的原理和应用
- 多线程与集群
- tcp和http服务器
- 多语言、防盗链、正向和反向代码服务器
2.Express&Koa
- 路由配置、参数处理、使用中间件、模板、静态文件中间件、重定向、cookie和session
- 手写原版express框架、手写原版koa2框架、JWT权限认证
3.企业级开发框架Egg.js
- 项目架构、配置路由、静态文件服务、模板引擎、远程接口服务、计划任务
- 集成MYSQL、restful接口、 sequelize持久化工具、国际化、扩展工具方法、中间件、运行环境、单元测试、服务器部署和运维
- 自定义插件和框架
4.单元测试
- 测试用例和需求分析
- 单元测试框架mocha
- 爬虫利器Puppeteer实战
- Jest+Enzyme实现React单元测试
5.服务器布署
- TCP/IP协议族网络模型、IP协议以及简单路由、TCP连接的本质、TCP三次握手和加次挥手、路由和网关、滑动容器和Nagle算法、HTTPS、网络命令、网络调优、wireshark抓包实战
- 域名、备案、服务器、环境配置、安全设置、远程部署、发布与更新
- 集群的负载均衡、PM2实战
6.Nginx
- nginx的安装和使用
- 模块和基本配置
- 正向反向代理等应用场景
- CDN
- 浏览器缓存.
- 跨域
- 防盗链
7.Docker
- Docker介绍和安装
- Dockerfile
- 存储和镜像仓库
- Dock实战.
8.jenkins
- jenkins job
- shell集成
- 集成nginx和git
- 持续集成和布署
- travis gitlab ci
9.MySQL
- MYSQL安装与使用
- MYSQL系统架构
- 数据处理之增删改查
- 数据类型和约束分页.
- 索引和慢查询性能分析
- 数据库安全之防止SQL注入
- 数据库设计ER图设计
- 数据库事务、锁和日志隔离级别
- 数据库设计之三大范式
- 基于角色的权限访问控制(Role-Based Access Control)
10.Mongodb
- Mongodb安装和使用
- Mongodb的系统架构
- Mongodb高级查询
- Mongodb索引
- Mongodb安全与权限
- mongoose模块之Schema
- mongoose模块之Model
- mongoose实战
11.Redis
- Redis安装和使用
- 5种数据结构及使用场景
- API的理解和使用
- Redis客户端
- 发布订阅
- 事务
- 备份和恢复
前端设计模式
创建型设计模式
- 工厂模式
- 建造者模式
- 原型模式
- 单例模式
结构型设计模式
- 外观模式
- 适配器模式
- 代理模式
- 装饰者模式
- 组合模式
行为型设计模式
- 观察者模式
- 状态模式
- 策略模式
- 命令模式
- 访问者模式
- 中介者模式
- 迭代器模式
算法&数据结构
1算法的基础知识
- 输入、输出和数据级
- 计算能力的变革
- CPU、寄存器和内存
- 二分查找
- 插入排序.
- 冒泡排序
2.算法的衡量和优化
- 时间复杂度和空间复杂度
- 复杂度的本质
- 合并排序
- 递归函数复杂度分析
- 递归表达式分析法
- 递归数学归纳法分析
- 主定理
3.排序算法
- 排序算法介绍
- 基于比较的排序算法
- 合并排序优化
- 快速排序
- 快速排序复杂度和优化
- 计数排序
- 基数排序
- 桶排序
- 外部排序
4.递归
- 递归的基本概念
- 递归图形的绘制
- 递归和穷举问题
- 组合问题
- 递归空间优化
- 回溯算法
- 重复子问题优化
- 尾递归
- 搜索问题(8皇后)
- 深度优先搜索和广度优先搜索
5.数据结构
- 数组
- 双向链表
- 反转单向链表
- 堆
- 栈
- 队列
6.进阶算法
- 动态规划的概念
- LCS问题的子结构.
- 填表法
- 构造结果
7.BAT面试真题.
- 反转二叉树
- 解析query字符串
- 取N个数字为M
- 火车排序问题和队列
- 网格走法动态规划
- 两个栈实现一个队列