你想啊你的专业是人工智能,那不学计算机组成原理也比较合理,以及你想走后端,如果是业务向的,那和人工智能基本就没有关系
所以我想说的是本科是通识教育,在学校学不到自己想学的是常有的事,不要“抱怨”学校,当然最重要的就是自学了
自学第一步就是学会做笔记,Notion、飞书、Obsidian等等笔记软件挑一个就好了,或者你有Blog的话也可以直接发Blog,以Obsidian和你所掌握的知识为例展示笔记的组织结构,在Obsidian中[[]]
是链接到其他笔记文件的意思
index.md文件作为根索引
...
### 编程语言
描述...
* [[C++]]
* [[Python]]
* ...
### 计算机基础知识
描述...
* [[数据结构]]
* [[计算机组成原理]]
* ...
### 人工智能
描述...
* [[TensorFlow]]
* ...
...
C++.md作为子索引
# C++
C++...
## 基础
* [[C++分支]]
* [[C++循环]]
## 进阶
* [[STL]]
* [[Template]]
* ...
...
就这样像一棵树一样可以无限拓展,然后知识间有关联的也可以通过[[]]用法串联起来,最后就是一张知识网了,然后笔记就是把你最近学到的知识记录下来,一般来说我会按5W原则组织内容,不过也不一定那么严格,以我的一篇笔记为例
# Python代码分析举例
以三种创建相同列表的不同方式为例
方式一:乘法语法糖
### 字节码入门
### 字节码分析
### CPython源码分析
### 测试程序
### 总结
### References
这个内容是我在看完【Python】三个看似一样的列表,占用内存空间竟然不一样多?_哔哩哔哩_bilibili这个视频写下的,我觉得看完很有收获就全部都记录下来了,并且自己再去深挖里面的内容,这样在过了很久以后我也可以再去看这篇笔记,再去修改,有点像实验报告就是了
当然一些知识点有可能内容非常多,所以就可以使用“挖兔子洞的”方法,比如其中的字节码入门这一块我可以先使用“Todo”和[[]]
占用这个位置,到时候再深入,这也解决了“发现要学的实在太多”的问题,分清主次然后挑有兴趣和重要的学,次要的和无聊的先用笔记占住位置,有空了再学
然后就是学习路线的问题了,你学习后端的话我推荐先学习Java或Golang,Java的话我很喜欢的一个路线(包含内容)是JavaGuide (gitee.io)(老版)或者看新版Java 面试指南 | JavaGuide,你还可以去找其他的资源,Github上有好多
学完了基础知识就可以开始做各种小项目了,并且可以完善之前的笔记,把遇到的坑点和新特性都记录下来,项目刚开始做可能有点难,那么就先看源码,HelloGitHub 分享 GitHub 上入门级、有趣的开源项目上有好多已经筛选过的项目,挑一个看看,看看看着你大概就能自己开始写了
然后进入进阶学习,一些出名的库和中间件都看一看用一用,还有拓展学习,考虑学习一些前端知识、运维知识和数据库知识等等