想请教一下关于学习方面的问题

本人是在校生,下学期就是大三了。准备大三下去实习,但是个人觉得自己在学校并没有学到什么,我专业是人工智能,不太懂专业课程的安排,感觉学校安排的很乱。想一些基础的计算机课比如计算机组成原理什么的都没开设。查了网络上的一些资料后想走后端方向,发现要学的实在太多,而自己不知道具体从哪里开始。

目前掌握C++,数据结构,都只能算入门,自己也有再接着学,算法是这个假期才开始自学。专业相关的有Tensorflow框架,也只是入门。希望能有人指点一下。

273 views
Comments
登录后评论
Sign In
·

你想啊你的专业是人工智能,那不学计算机组成原理也比较合理,以及你想走后端,如果是业务向的,那和人工智能基本就没有关系

所以我想说的是本科是通识教育,在学校学不到自己想学的是常有的事,不要“抱怨”学校,当然最重要的就是自学了

自学第一步就是学会做笔记,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 上入门级、有趣的开源项目上有好多已经筛选过的项目,挑一个看看,看看看着你大概就能自己开始写了

然后进入进阶学习,一些出名的库和中间件都看一看用一用,还有拓展学习,考虑学习一些前端知识、运维知识和数据库知识等等

·

后端的话学C++和Java都行,目前Java岗位多点,但是面试问的东西很多,而C++的话八股少点。至于从哪里开始,首先可以先刷计算机专业基础课(计算机网络、操作系统、数据库原理),如果这三门你都学过了,那就可以开始学习框架和语言底层知识了(比如Java的话就是JVM、各容器底层实现、JUC等,还有SpringBoot、SpringCloud等框架,此外还有MYSQL、Redis等八股),其实把我提到的都学了,就可以投简历面试了。此外,也可以上牛客网看看别人的面经,针对面经的问题对自己的知识查漏补缺,或者以点及面去学习相关知识。项目的话可以上B站跟着别人的视频来做。

·

多研究研究高等数学,概率论,线性代数。以及数据结构,操作系统,计算机网络,计算机组成原理。把这七门基础课程学透,学精,其他的可以上班了慢慢学。打好基础最重要,就算你没有兴趣,也要认真学 sob sob sob