Mahiru's Humble Abode       博  客   时 间 线   归  档   关 于 与 友 链



现状
Published on Thu May 19 2022 23:30:00 GMT+0000

有关目前掌握知识的欠缺情况汇总

语言方面

JavaScript

总体来说,JS的基础语法已经通关了,现在最主要的问题是

1、由于工程中使用面向对象开发较少,所以对于面向对象方面的语法不是很熟悉。

2、有关 DOM 和 BOM 的 API 也不是很熟悉,基本上就是用到哪看到哪,没有一个全面的了解。当然,API 如此之多,全部了解是不可能的,但最起码应该掌握总体状况,知道大概有哪几类 API,主要是做什么的。

目前已发现的几个主要知识盲区:鼠标键盘事件监听、拖拽操作、用户选择区域操作、文件上传下载、对 window document 的控制与导航

TypeScript

TS 方面,现在已经可以应用在工程中了,但是

1、对类型运算、面向对象、泛型等方面掌握仍显不足。后期应该再多加练习。

2、没有写 d.ts 的经验

函数式编程

React 使得前端开发开始往函数式编程方向靠拢,因此有必要学习一门函数式编程语言。暂定学习C#,然后学F#,这样函数式编程思想就能有个基本了解。

后端编程基础

Go的基础语法还没有完全掌握。

工程应用方面

目前前端工程化水平还比较基础,主要体现在:

1、会用现有的脚手架,但是不会自己搭建脚手架。

2、没有写构建工具配置文件的经验。

3、没有使用 monorepo 管理项目的经验

4、没有写自动化测试的经验

5、没有使用 CI/CD 的经验

6、没有编写编辑器插件的经验

7、对HOC(高阶组件)了解甚少

8、没有做过组件库,不清楚组件导出的具体逻辑

9、缺乏写带登录鉴权的 App 的经验

框架学习方面

React

1、对一些新的 HOOK API 不熟悉

2、编程思想:对 “有状态无渲染、有渲染无状态” 理解与应用较浅

3、对框架原理掌握较浅

4、对使用各种状态管理方案的场景没有深入了解。

Vue

一点不会。

Canvas 绘图与 WebGL

只是有基本了解,但是应用较少

WASM

想要学习 WASM ,需要经历一个艰难的过程。如果只是调库还好说,但是如果想要自己编写,需要学习 Rust、学习 Rust 最好先有 C++ 动态管理内存的基础。

也可以尝试用 AssemblyScript,但是效果不明

Web Components

不会

GraphQL

不会

Mock 数据

不会

……那你还会啥

样式与UI方面

1、对移动端优化、响应式布局的了解与应用尚不熟练

2、对在相同页面同时构建移动端和桌面端界面尚无可靠运用,只是知道方案

3、对 CSS 没有一个系统学习的基础,只是纯纯地背属性

4、对 SCSS LESS 等语言特性没有系统学习

计算机基础方面

1、对设计模式、前端设计模式没有了解

2、SICP 学习搁置

3、对计算机网络了解甚少

4、缺乏对诸多基础算法的了解(具体的在算法掌握总结部分指出

5、缺乏 Linux 操作基础,缺乏 shell 或 ps1 脚本的编程基础,缺乏构建 CLI 的基础。

6、缺乏 Git CLI 的使用经验

7、没有学习 CSAPP

解决方案

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
0(全程)练习算法题,高频题多写几次,还需要注意领域特化题(防抖节流、Promise、柯里化等)
1计算机网络
2js复习,包括常用dom和bom api
3ts复习,面向对象复习
4前端设计模式与设计模式
5通过nestjs学习与前端息息相关的后端知识,包括安全
6sicp
7框架设计原理,思想,常用API
8前端工程化进一步加强,熟悉构建原理等
9复习计算机操作系统
10(实习期间实践)样式、更多业务开发技巧、多端优化等
10(同步按需)(可能在实习期间已经掌握)学习类UNIX操作系统指令,命令行操作,CI/CD等
10(同步按需)学习C++与WASM
10(同步按需)复习计算机组成原理
11(同步按需)学习Java,了解更多软件工程相关知识
12(同步按需)学习C#,F#,Rust
13(同步按需)学习Go