# Web 全栈开发学习路线(基础篇)

TIP

对于非计算机专业或转行的同学,甚至本专业的同学未来需要往 Web 全栈方向发展,并成为一名资深开发的必备知识体系能力清单。

一名优秀的前端开发工程师也叫做 "全栈开发工程师",这个时代也被叫做"大前端时代"。

只有根基扎实了,未来才能盖高楼大厦。

# 1、计算机基础

TIP

需要了解和熟悉核心知识点,具体内容可查阅相关资料

计算机组成原理 操作系统 汇编语言
冯 · 诺依曼结构 进程和线程 寄存器和内存模型
二进制 CPU 调度算法 堆栈模型
算术运算和逻辑运算 内存管理 CPU 指令
各级存储器的区别 文件系统和 IO /
编译原理 计算机网络 编码
编译器流程 TCP/IP 协议 ASCII 码
AST UDP unicode 字符集
/ DNS,HTTP UTF-8 / UTF-16

# 2、数据结构

TIP

结构化与非结构化的思维,非常重要

逻辑结构与代码表现 线性结构
栈(逻辑结构)可用数组或链表(代码)表示 向量(如 C 语言的数组,length 不可变)
队列(逻辑结构)可用数组(代码)表示 链表
树(逻辑结构)可用对象(代码)表示
/ 队列
树(tree ) 其他
普通树 优先级队列:堆
二叉树(为何偏偏重点讲二叉树?而不是三叉树、四叉树……) 词典(散列表)
搜索树(AVL 树、红黑树、B 树)

# 3、算法

TIP

了解一下常用基本算法

算法思想 递归思想 常用算法 算法刷题
二分 本质 线性结构(查找、排序,新增、删除) leetcode
贪心 爆栈 树(遍历,新增删除 [ 平衡树 ] ) /
动态规划 / 图(搜索,最短路径)字符串(KMP 算法、前缀匹配) /

# 4、编程模式

面向对象 OOP 面向切面编程 AOP 函数式编程 FP
类和对象 主要功能、意图 高级函数,纯函数
三要素(继承、封装、多态) AOP/OOP 区别 curry
UML 类图 作用,应用范围 compose

# 5、设计模式

SOLID 设计原则 常见设计模式 常见应用程序框架模式
单一职责原则 工厂模式、构造器模式 MVC
开闭原则 单例模式、原型模式 MVVM
里氏替换原则 发布订阅者模式(观察者模式) ORM
接口隔离原则 适配器模式、装饰器模式 /
依赖倒置原则 代理模式、外观模式、迭代器模式 /

# 6、前端相关语法和 API

TIP

  • 业界标准:W3C、ECMA-262
  • XML:可扩展标记语言

# (1)HTML/HTML5 标签和属性

TIP

  • 基础标签:

    • 文档声明、文档结构、功能标签
    • 块级元素,区块标签,内联元素,特殊内联元素
    • 转义字符,表格标签
  • 媒体标签、图形标签:

    • 音视频
    • SVG
    • Canvas

# (2)CSS/CSS3 样式和属性

基础 布局 定位 响应式 CSS3 模块化
理解“流” CSS 的设计核心 block 和 inline-block relative,absolute viewport 渐变 BEM
基础的图文样式 盒模型、margin 相关 fixed rem 动画 css-in-js
层叠性和选择器权重、字体 iconfont float 布局,BFC,Flex、Grid、响应式布局,移动端事件 定位上下文 vw vh,百分比 2D/3D 转换 /

# (3)ES 语法

TIP

  • 变量,表达式,函数等基础语法
  • 作用域:
    • 自由变量
    • 闭包
    • this
  • class 和 继承
  • 原型、原型链
  • 异步编程:
    • promise、async/await
    • 宏任务和微任务
    • event
    • loop
    • 模型
  • Map 和 Set
  • Proxy 和 Reflect
  • 装饰器 Decorator
  • 常用 API :
    • 字符串
    • 数组
    • 对象
    • 正则表达式
    • 日期处理
  • 异步处理
  • 模块化:ES6 Module(可对比 AMD、CMD、CommonJS)

# (4)TypeScript 语法

TIP

  • 类型:变量类型、函数参数类型、函数返回值类型
  • 自定义类型
  • 接口
  • 泛型
  • 枚举
  • 函数重载
  • 命名空间

# (5)JS Web API

TIP

  • DOM 操作:

    • DOM 结构
    • DOM 操作
    • DOM 操作的性能考虑
  • DOM 事件:

    • 事件绑定
    • 冒泡模型
    • 事件代理(委托)
  • BOM 操作:

    • window
    • location(获取 url)
    • navigator(获取 UA)
    • history(前端路由)
    • screen
  • 通讯:

    • postMessage
    • BroadcastChannel
  • Ajax:

    • XMLHttpRequest
    • Fetch
    • 浏览器同源策略
    • 跨域请求(CORS、JSONP)
    • cookie
  • 存储:

    • localStorage
    • sessionStorage
    • indexedDB
  • webworker:相关 API

# (6)WebAssembly(简写 wasm)

值得深入研究,目前最新技术方案

最近,WebAssembly 在 JavaScript 圈非常的火!解析运行更快,将改变 Web 开发领域

WebAssembly 是一种可以使用非 JavaScript 编程语言编写代码并且能在浏览器上运行的技术方案。

WebAssembly 由 Web 和 Assembly 组成,简言之就是在 Web 上运行 Assembly,其缩写是 wasm。开发者可以把 Rust、Go、C 等编写的程序编译为 WebAssembly,从而让程序在浏览器中运行。

2019 年,W3C 宣布 WebAssembly 核心规范成为正式标准。

时隔 3 年,在 2022 年 4 月 W3C 又发布了 WebAssembly 核心规范 2.0 的首个草案

目前,国内大厂已经在实际生产中应用了。(比如:微信的存储和算法中台)

# (7)Web RTC

TIP

WebRTC,名称源自网页即时通信(Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的 API。

# 7、网络和通讯

TIP

  • TCP/IP(了解即可): IP,7 层模型,3 次握手
  • URL 格式
  • DNS 解析(域名到 IP)
  • HTTP:
    • method(Restful API)
    • 状态码
    • Request Header
    • Response Header(其中会有 gzip 压缩)
    • cookie
    • 缓存策略(强制缓存、协商缓存)
  • HTTPS:
    • 如何加密传输
    • 购买 SSL 证书
  • WebSocket
  • 登录方案:
    • session
    • jwt
  • 鉴权方案:
    • oauth2
    • sso
  • 文件上传
  • 相关术语:
    • PV
    • UV
    • QPS ......
  • CDN(专门提供静态文件服务,需要知道)

# 8、Web 前端企业级项目开发流程

一线企业级项目研发流程

  • 1、代码版本管理 Git:

    • 常用命令、多人协作开发
    • 使用 GitHub、GitLab、Gitee、coding.net 等
  • 2、软件包管理:

    • npm
    • package.json
    • yarn
  • 3、技术基建:

    • UI 组件库
    • 业务组件库
    • 公共 SDK
  • 4、Mock:

    • charles mock,
    • mock.js
    • 在线 mock server
    • 国内目前推荐:https://www.fastmock.site/
  • 5、调试和抓包:

    • debugger
    • charles 和 fiddler(抓包、配置代理,如微信能力的测试,需要线上域名)
    • chrome 开发者工具
    • 深入:内存泄漏的排查
  • 6、单元测试:

    • jest 等工具
    • Vue React 框架的测试工具
  • 7、CI/CD:

    • 持续自动化部署和监控
    • github actions
    • travis 等等
  • 8、linux 基本应用:

    • ssh
    • ssh key 信任
    • 常用命令
    • scp 远程拷贝
    • vim 编辑器
  • 9、文档:

    • wiki 平台
    • 在线 office / 知识库
    • MarkDown
  • 10、研发流程:

    • ① 需求评审和 UI 设计

    • ② 技术方案设计

    • ③ 开发过程:编码、调试、单元测试、自测、写注释和文档、代码走查等

    • ④ 联调

    • ⑤ 提测

    • ⑥ 上线:全量,小流量(灰度),ABTest

    • ⑦ DevOps

上次更新时间: 6/8/2023, 9:23:17 PM

大厂最新技术学习分享群

大厂最新技术学习分享群

微信扫一扫进群,获取资料

X