学习前端知识架构体系

「前端大纲」- 学习前端知识体系

Posted by wendy on January 9, 2020

思考:为什么我们要了解底层。如果一个东西谁都会,那个这个东西就会变得不值钱;了解底层才能不是一个简单搬砖工;除了底层外,视野,技术的全面性也是格外重要。

面试方向

  • 基础知识
  • 底层类, 一些稀奇古怪的js题,或者直接某个底层技巧(JavaScript异步机制、JavaScript回收机制,JavaScript变量机制)
  • 源码类, Vue(比如axios、vuex、vue-route源码)、React
  • 项目,项目里面做了什么事情,或者介绍一些项目。(一些操作,同构、移动解决方案、组件库、架构、 一些优化操作(比如管理keep-alive, 如何分模块管理页面、缓存操作))

前端知识大纲

JavaScript、计算机网络、Vue、React、Node、工程化、项目实践

一、JavaScript

1 函数

  • JavaScript内存管理
  • 保证代码质量(技巧)
  • 提高代码可靠性
  • underscore源码分析
  • compose函数和pipe函数
  • 高阶函数
  • 常用函数
  • 防抖和节流(技巧)
  • 深拷贝和浅拷贝(技巧)

2 异步编程

  • 同步和异步
  • Event Loop机制(浏览器和node.js)
  • 异步编程方法(发布/订阅、深入理解promise、generator函数及其异步应用、深入理解async/await)
  • 处理异步的框架 - Rxjs
  • WebWorker的多线程机制

3 设计模式

  • 设计模式概论
  • 封装与对象
  • 提高复用
  • 提高可扩展性
  • 提高代码质量
二 计算机网络

1 网络协议

  • TCP/IP
  • HTTP
  • TLS
  • HTTPS & HTTP3

2 网络请求

  • Request(Form提交、Ajax和Fetch、文件上传、Axios源码分析)
  • webSocket
  • 缓存

3 网络安全

  • 同源策略
  • XSS攻击
  • CSRF攻击

4 模块加载

  • 模块加载方案
  • 闭包
  • 资源定位 异步加载
  • 解析依赖
  • Webcomponent

5 路由

三 Vue

1 初识Vue

  • Hello Vue
  • 模版语法 & 事件绑定
  • 计算属性 & watch

2 探索Vue的组件世界

  • 生命周期 & 函数式组件
  • 自定义指令
  • 双向绑定与单项数据流
  • 插槽
  • 组件化

3 深入Vue源码设计

  • 响应式
  • 插件
  • 渲染函数

4 Vue生态

  • 状态管理vuex
  • 路由 vue-router
  • 服务端渲染nuxt.js
  • Vue DevTools
  • Composition API RFC

5 Vue实践

  • 对话框
  • 表单
  • 动画切换效果实现

6 企业级组件系统架构

  • 可复用组件设计
  • 权限控制
  • 自定义皮肤设置
  • 国际化设置
  • 自动化页面埋点

7 Vue3.0

四、React

1 入门结束 2 JSX介绍 3 组件基础知识 4 组件进阶 5 react生态 6 react原理 7 react-hooks 8 react高级实践和性能优化 9 状态管理

五、Node

1 Node.js基础

  • Node.js发展简介
  • Node提供的能力原生API
  • Node原生的Web Server实践
  • Node Web Server的写法
  • Node进阶及原理解析
  • Node原生的局限性与框架的必要性

2 Web服务及Koa

  • Koa给出的函数,解决原生困难
  • Koa重写Web Server
  • Koa进阶及原理解析
  • Koa源码分析 & 手写Koa核心代码
  • koa在企业开发中应用

3 企业级Node.js框架

  • 企业级应用对Koa提出的挑战级BEF开发模式
  • 手写企业Node框架
  • Node框架基建
  • 云上的Node及微服务
六、工程化

1 脚本世界

  • 玩转npm
  • base简介和快速入门
  • Node开发简单cli工具

2 规范先行

  • 代码风格
  • 版本规范和Changelog
  • 其他规约

3 质量

  • code review
  • 测试基础
  • 单元测试
  • e2e测试
  • 测试驱动开发
  • 监控和异常上报

4 工程设计

  • 工程设计简介
  • 工程结构范式
  • 多仓库选型

5 构建艺术

  • 构建简史
  • babel(token到ast,编译理论、基本概念、使用、插件编写)
  • 深入webpack(设计思想(tapable源码分析)、高级使用、从create-react-app学习配置、loader详解、Plugin详解、常见plugin使用指南)

6 持续集成与部署

  • CI/CD简介
  • 持续集成(巧用github、CI平台,一jenkyins为例)
  • 部署(前后的分离、发布策略、多环境发布)
  • 虚拟化(docker、kubernetes)

7 Git

  • Git原理介绍
  • Git基础操作 - 常用命令
  • Git进阶(rebase作用、reset和revert的区别、reflog、cherry-pick、git和shell结合)
  • 前端工程化应用 - busky-link-staged

8 效率工具

  • 真机远程代码调试
  • ‘无线’调试
  • 移动端调试
  • 使用代理攻击进行
  • 公网访问本地服务
  • 随机数据的生成
  • restful api 快速
  • svrx
七、项目实践