前端知识体系梳理 - 进阶部分

182 阅读3分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第15天,点击查看活动详情


前言

众所周知,前端需要掌握的知识非常杂,知识点涉及的也很广,上文我们讲了基础部分,包括javascript、html、css、网络、浏览器相关知识,本文就进行一个前端进阶部分的知识体系的梳理,帮助大家进行查缺补漏。

大前端 - 进阶部分

工程化相关知识(webpack、vite、Rollup是目前主流的,至少要了解一种),我们以webpack为例

  1. webpack模块打包原理
  2. webpack文件监听原理、热更新原理(hmr)
  3. 常用的loader和plugins
  4. plugins的原理(事件流框架 Tapable)
  5. tree shaking(通常用于描述移除 JavaScript 上下文中的未引用代码)原理与优化
  6. bundle 分析(bundle analysis)及打包速度优化
  7. webpack构建过程
  • 其他方面,如模块系统、nginx、docker也需要有一定了解

现代主流框架原理的理解

react、angular、vue至少要深入了解一种

  1. vue2与vue3的对比
  2. vue与react的对比
  3. diff算法区别
  4. 虚拟dom差异

数据结构与算法

要了解一些概念,数据结构,空间复杂度,时间复杂度,最好掌握一些解决问题的模版比如回溯,动态规划,二分查找这种,多刷leetcode

  1. 数据结构:栈与队列、数组、哈希表
  2. 链表(移除/添加/翻转/环形)
  3. 字符串(暴力、BF、BM、KMP、sunday算法)
  4. 二分查找(注意边界)
  5. 动态规划(一个规模比较大的问题通过若干规模较小的问题结果来得到)
  6. 树(前中后序遍历、层序遍历、满二叉树、完全二叉树、二叉搜索树、平衡二叉搜索树)
  7. 递归(确定递归函数的参数和返回值、确定终止条件、确定单层递归的逻辑)

node(进阶一定要有node相关知识)

  1. v8:内存机制,垃圾回收,js执行过程
  2. node原理:事件循环、高并发、进程线程、Cluster
  3. serverless (少服务器的,亦或是无服务器的,弱化后端和运维概念)
  4. bff层(Backend For Frontend)
  5. 缓存方案(内存缓存、redis)
  6. 爬虫应用、绕过反爬虫(降低频率、代理服务器)
  7. node框架,比如koa/express/egg/nestjs也需要掌握一个

结语

  • 上一章我们讲了前端基础的知识,本章讲了一些进阶的知识,文中提到的概念对中级前端来说还是挺重要的,和基础知识不一样,我们不仅停留在使用上,还需要理解原理。
  • 有了深度,还可以扩充一下我们的广度,比如数据库方面、一些基础设施方向(工程化、组件库、微服务)、lowCode、DevOps平台、存储平台、监控平台,D2C 前端智能化,包括一些跨端、ssr、可视化、操作系统,都可以进行尝试。