必须学的中间件:redis,Redis 基本面试必问,工作也基本的都会使用到,所以必须掌握,推荐书籍《Redis 设计与实现》、《Redis开发与运维》。两本书刷完,就差不多了,或者说第一本书刷完就差不多了。
其他的话,像消息队列啊,分布式等相关框架,有时间也可以学习一波。
6、一个完整的项目把上面的 Java 基础以及框架学了,就要做个完整的项目了,我只能说,项目非常非常重要,这时候自学以及跨行业的劣势就非常大了,因为面试的过程,一定会问项目,而且必须是你自己亲自做过的项目,假如你只是看视频,没有动手实践,很容易就会被问懵。所以一定一定一定要亲自动手做一个项目。
当然不是说这个问题就成了死结了,大家可以选择实操课程去解决自己在项目经验上的缺失,特别是那种基于真实项目的课程。
一定要至少做一个项目;一定要至少做一个项目;一定要至少做一个项目;
推荐:SpringBoot电商支付实战+电商平台双系统
不过,作为应届生,单单只会 Java 是很难进大公司的,算法 + 计算机基础也是极其重要的,特别是大公司,这方面问的特别多。
二、数据结构与算法的学习大学第一学期你入门了某种语言之后,就要开始学习数据结构与算法。当然,不一定是第一学期,对于非科班的也一样,也是建议这个学习顺序。当然,你有自己的目标,完全可以按照自己的来。
我的文章是主写数据结构与算法的,我秋招也是靠着这个优势拿到 offer 的,所以我认为数据结构与算法是非常非常重要的,可能你会听到工作都基本没用到这些知识啊,或者库函数都帮我们封装好了啊,我们干嘛要学。
如果你这样想的,那你就错了。对于想要找工作的来说,这方面的知识是必考的,所以你得学;对于已经工作的来说,这方面的知识,可以让你学习到很多设计思想,所谓 数据结构 + 算法 = 程序,而且你学了这个,你会发现学习其他知识,上手的特别快。综上,数据结构与算法必学。
好吧,上面扯了这么多,就是告诉你,数据结构与算法的重要性,好了,下面我介绍下入门数据结构必学的有哪些,不过你跟着书本的学习顺序来就是了。
1、基础数据结构的学习
1、时间复杂度、空间复杂度
2、链表、队列、栈
3、树(二叉树,查找二叉树、AVL树,红黑树等)
4、图(图有好多种算法,深度/广度搜索,最短路径、最小生存树等)
如果你是科班的,那么这些我觉得你大一第二学期都学完是最好的了,没学完也问题不大,有些人可能是先教《离散数学》这本课,为数据结构与算法做铺垫。
书籍推荐:《大话数据结构》、《数据结构与算法分析:C语言描述版》,学哪一本?都可以,问题不大,我当时学的是第二本。大家记得根据自己的语言去学,我上面列举的,都是用 c 语言来实现的。
视频:我只看过《小甲鱼的数据结构与算法》视频,你们自己看着办吧。
2、算法的学习
在大一大二,真心建议你们把算法基本功打好,后面就真的没啥时间刷题之类的了,因为无论你以后要学习哪个方向的,算法都是实用的,会一些算法,说话也都自信了。算法的学习,刷题是必须的了,但不建议盲目刷题,而是先学习一些算法思想,在找对应的题刷,要学的主要有:
1、十大排序算法
2、递归、贪心、回溯、动态规划、枚举等
推荐书籍:《阿哈算法》、《算法设计与分析基础》适合入门;《算法第四版》、《算法导论》、《编程之美》适合进阶
视频:这种还是挺建议看书,我没看过视频,,这里就不介绍了。
书籍这里下载:
3、保持算法的学习
算法的学习,真的是靠积累的,而刷题是必须的。而且学校都会举办一些比赛,这里还是比较建议大家去参见的,这样也能让你更加有激情着去学习。当然,每年都会有很多 ACM 编程大赛,要不要参加呢?这个看你了,也不是说参加就一定好,看你自己吧,具体可以参考我之前一篇文章说的:
大家可以在 leetcode 长期保持刷题,一天一两道,或者一个星期三四道都行。
这里给大家推荐一份刷题笔记,学完应付面试基本问题不大:
下载链接:
三、计算机基础的学习