2025届_星月之弦
技术栈测试
1、学Java看的哪个资料:《Java语言程序设计》、尚硅谷Java入门视频
- 重载,重写,泛型懂吗?都懂,泛型的掌握可能稍微差些
-
Java集合这块学过了吗?学过,掌握的一般
- HashMap源码,JVM,JUC是否看过:没有
2、数据结构与算法看的哪个资料:
- 链表,栈,队列,二叉树能自己手写吗:可以,但需要突击复习一下才能写
- AVL树,红黑树,线段树学过吗:只学过AVL树
- 冒泡,快速,归并排序能手写吗:可以
- 递归,二分,贪心,回溯,动规,枚举这几种算法学过哪几种:除了动规和回溯都学过
- LeetCode 大概刷了多少题:新手村的4道easy
3、框架与中间件
- servlet,cookie,session学过吗:
- SSM学过了吗:
- redis 学过吗:
- SpringBoot项目做过几个:
4、MySQL看的哪些资料: 尚硅谷的视频
- sql 熟练吗:一般般
- 索引底层原理懂吗:不懂
5、计算机基础
* 计算机网络看什么资料:王道的书
* 操作系统看什么资料:王道的书
* 计算机组成原来看的什么资料:还没学过
学习规划(2022.9.10)
第一阶段的学习,主要是打基础,由于你本科不是科班的,这里你需要重新学习一下数据结构,为之后的算法学习打基础,所以目前给你安排的学习是 数据结构 + 语言 这两基础。具体安排如下
1、数据结构与算法:刷这个体系课 数据结构与算法体系课,学习目的:提高编码能力,所以编码能力就是 把自己的想法变成代码,也就是能够把 伪代码描述 变成具体的代码,所以学习数据结构,编码非常重要。至于书的话,你也不算零基础,不推荐书了,这个课程刷一下就可以了。
2、Java:刷一下 Java进阶,刷完应该 Java 这块就差不多了,后面的学习更多是通过书籍来学了,你们Java应该学的比较浅层,这个老师讲的很深入。
你前期主要学习这两门,学完「2」,就要来跟着我来完成从0设计 一个项目的任务了。然后你学校会教计算机网络,如果你要学,推荐看B站 中科大的计算机网络课哦。
时间安排:两个可以同时学,前者重编码,后者重理论,时间分配上可以随便根据自己的兴趣,。
咱们的课程大纲看这里:所有课程大纲入口,课程大纲你可以看看,有个设计项目的活动你感兴趣也能参加。
然后学习的时候,记得每周来打卡下学习进度,比如可以参考他们的:24与25届做的比较好的成员示例
第二阶段
1、核心八股文:系统刷一下 mysql + redis,刷完就可以按照面经来刷了,赶一波实习
(1)、Java并发:学习 Java并发,然后Java并发有点难,你看前面十几章节就行,有个概念就行,因为比较难。
(2)、mysql=>redis:mysql 你看 MySQL原理剖析课程说明,看看能不能看懂索引的那些,到时候看不懂再和我说吧,我在给你视频。redis 的话先去刷《redis开发与运维》:《Redis开发与运维》怎么看 + 重点章节,对应的电子书这里下载:书籍推荐。
时间推荐:时间推荐:20~25天,学完1后可以跟着一边学
2、复习:
第一轮复习(必须完成):刷高频题,按照 八股文高频题库(必看) 进行第一轮复习,核心学的差不多,就准备去投递简历了。
第二轮复习(非必需):之后按 面试突击专题学习指南(必看) 进行第二轮复习,这个时候你已经能够应付挺多八股文了,但是八股文学无止境,之后学完有时间再回归系统学习,我会给你推荐对应的书籍和专栏。
每周学习跟进(一个月连续不打卡会被移除)
22.09.10-22.09.16
1.数据结构与算法体系课P0-P7 并且自己也独立打了一遍代码
2.leetcode easy题 3道(本来打算一天做一题,但是觉得复现把课刷完,再来做leetcode可能效果比较好,不然光有想法,打不出来。。)
3.下周规划:继续看数据结构与算法体系课。虽然课有点多,还得看论文,但是还是尽量保证学这些内容的时间,每天在1-2h。对自己说,加油~。
22.09.17-22.09.23
1.数据结构与算法体系课P8-P15,完成课程作业并独立敲了一遍课程代码。自底向上完成归并排序的方法,理解还是不很好,后续需要加强复习。
2.下次组会要汇报论文了,预计要低进度一周。。。
22.09.24-22.10.07
1.数据结构与算法体系课P16-P20,5个视频课,主要是学习了快排和二分查找(P21是二分查找的实战,还没看)。感觉对代码的理解有一定的上升,课程中反复强调循环不变量,现在对那种对边界部分的处理的理解好了不少。 怎么处理边界条件,关键取决于一开始这个循环或者函数想要做的事,换句话说,也就是我们的循环不变量是什么,这决定了如何处理边界条件。所以处理边界条件的时候,要关注于循环不变量,这和写递归的时候关注宏观语义是一样的。
2.近期估计都是以这个比较慢的进度学习了,到了要交课程作业的时候。加上我学的也慢。打代码的细节还是处理的不好,写出来很多bug,还是要多打才行。
22.10.08-22.10.21
1.数据结构与算法体系课P21-P24四个视频。P21是二分查找的实战,这个实战给我最大的感悟就是,二分查找算法主要是要构造一个某种意义上有序的解空间。最基础是,从索引映射到数组那个位置的值;一般化之后,就应该理解成索引映射到某一个解空间,然后这个解空间的某种性质会跟索引那样单调变化。 P22-24就是二分查找树的CRUD操作,这部分基本属于复习考研学的了。
22.10.22-22.11.04
1.数据结构与算法体系课,P25-P30五个视频,二分搜索树的一个应用,以及冒泡排序、希尔排序和堆排序,比较简单,相当于复习。
22.11.05-22.11.18
1.数据结构与算法体系课,P31-35五个视频。P31是已经学过的排序算法的复习比较简单;P32-P34分别是线段树、Trie、并查集三种高级的数据结构,但是明显可以感觉到是收着讲的,所以也没有太难。线段树是关注于区间的统计性质,Trie是字典树,使得查询的空间复杂度只与query有关,与树已有结点无关,和哈希表在思想上有些类似的地方。P35是考研学过的AVL,虽然本来就知道是怎么回事,但是打代码屡遭bug。。。后面整个课看完还得复习一下。
2.争取恢复周更,不再半月更。
22.11.19-22.12.11
简言之,摆了三周。。。。具体而言,因为准备考试+疫情学校临时通知返乡+被关了3个月回去玩了一周。不过到最后大多数考试都延期了。。。非要说学了什么的话,就是王道的计组看了1/3左右。还挺尴尬的上次更新刚说要周更,反手3周没更。。。
22.12.12-22.12.18
简言之,看了数据结构与算法体系课P36-P37(红黑树、计数排序)以及基数排序的两个文章。
1.红黑树是AVL的改进,AVL严格要求结点左右子树的平衡,而红黑树将这个要求弱化到维护黑色结点的”平衡“,这样做的好处使得面对增删需求时,红黑树性能更好,因为不需要那么频繁的调整结点;整体综合性能也更好,唯一缺点是查没有AVL快,代码具体逻辑会复杂一些。
2.计数排序和基数排序都是非基于元素比较的稳定的排序算法,基本思想是先有”篮子“,看鸡蛋什么样然后放到篮子里。
22.12.19-22.12.25
阳了没学。。
22.12.26-23.01.01
数据结构与算法体系课P38-P40,这三P包括下一P要讲的KMP,都是讲的字符串匹配。而这三P主要是通过很多个例子去引入哈希的思想,最后介绍滚动哈希的匹配算法。哈希思想的核心和字典树有一些类似之处,我的哈希值只与我自身的性质有关,而不是基于我与别人比较的结果相关,比如经典的哈希表,就是我存放的地址是由我自己的名字决定的。在字符串匹配中使用这种哈希的思想,就从逐个字符的匹配变成哈希值的比较,快速的过滤掉大部分不可能的情况。滚动哈希的话,就是通过数学方法使得可以通过前一个字符串的哈希值快速计算后一个字符串的哈希值。当然这也是必须的,不然性能和暴力法也没啥区别。
23.01.02-23.01.08
1.数据结构与算法体系课P41,这一部分主要讲KMP。相比滚动哈希,KMP的思路侧重于减少匹配的趟数,核心是已经匹配过的字符串其实不需要再匹配,有一部分的匹配是可以跳过的,不用像暴力法一样又从头开始匹配。另外从LPS的求解过程来说,KMP也是一种动态规划算法。
2.图论算法课P1-P4,包含绪论、图的表示、深度优先遍历及其应用。这一部分较为基础,考研时也学过。
23.01.09-23.01.15
1.图论算法体系课P5-P8。P5讲的是BFS,BFS相比DFS可以解决一系列“最短路径”的问题,而DFS的独到之处在于存在前向边,可以解决关于割点的问题。P6及P7讲了大量算法题,解决这些问题的核心在于建模,把状态定义好这对应于图中从一个顶点,而状态的转移对应于图中的边。可以使用状态压缩来减少visited占用的空间,也可以把定义状态的过程当作是一种状态压缩。
23.01.16-23.01.22
1.图论算法体系课P9-P12。P9/P10讲是哈密尔顿路径和欧拉路径。找欧拉路径实际上就是找环,然后找到退栈,继续找。哈密尔顿是NP问题,实际上就是暴力法了。P12讲的最小生成树以及P13讲的最短路径等算法,实际上考研的时候都大量练习过,学完以后,理解的比较深刻了,尤其是那个Floyd算法和Dijstra算法以前只是背住了怎么用,不理解后面的过程。
23.01.23-23.01.29
1.图论算法体系课P13-P14.有向图算法拓扑排序,之前就学过,此处是复习。寻找强连通分量的算法核心在于,需要把整张图理解成一个几个强联通分量的“单向连接图”,如果能找到这个“单向顺序”,对其遍历就能得到每一个强联通分量,而实际这个操作的核心又在于对原图的反图进行深度优先遍历,在其遍历结果的逆序,对原图进行遍历就得到了各个强联通分量。P14讲的网络流算法(最大流算法)的核心,就是随便找路径,然后可以对冲流量找到新的路径。基于这个思路,对残量图进行dfs修改相应边上的权值即可。
23.01.30-23.02.05
1.图论算法体系课最后两章。最后一章是对之前所学的回顾。倒二章讲的是匹配算法。使用P14讲的匹配算法,也可以解决二分图的匹配问题,这相当于一种匹配算法建模。但这种方法效率低些。匈牙利算法更高效,但有点不理解,如课程所言面试不会用到和考到,日后真用到时再复习复习。
2.了解了从0-1web项目的相关内容,对后续要学的有个大概规划
23.02.06-23.02.12
适逢考试,先停止一周。下周也可能要停。。。
23.02.20-23.02.26
javaweb部分前5章:MySQL、JDBC、Maven、MyBatis。MyBatis剩一点小尾巴
23.02.27-23.03.05
1.mybatis的小尾巴+javaweb的2章半(html+css+js+http+tomcat,servlet就起了个头)
2.时运不济,我当时刚看完servlet,就感染甲流了。。。
23.03.06-23.03.12
甲流叠加考试,无进度
23.03.13-23.03.19
1.由于中间断了一周,所以把http+tomcat+servlet重新学了一遍
2.新学了request+response对象那章。学的挺慢的感觉,感觉得花视频时长的1.3倍左右才能把对应内容学完。这章末尾有个案例,涉及到之前新学的mybatis,嗯,已经忘了好多。。。
23.03.20-23.03.26
1.学习了第10章JSP和会话技术。这章案例花了我蛮久时间的,有个bug我找了3小时才解决…
23.03.27-23.04.02
1.学习了javaweb第11章过滤器&监听器&Ajax;以及第12章Vue和element部分。
2.javaweb第12章还剩一个综合案例,估计下一周就只能把这个搞定了。。每次做案例会比较花时间
23.04.03-23.04.30
1.最近导师开始催了加上最后几门考试给我整的。。一缓就一个月没更新了。。。
2.搞定了javaweb部分的最后一个案例,并没有想象中的难。
3.ssm的m按照课程大纲整了一遍。
23.05.01-23.05.07
1.spring框架课程的里看不下去,比较枯燥,所以我看的黑马的。这周搞定了spring框架除了事务的部分。
23.05.08-23.05.21
1.完成了spring事务部分+springMVC+springBoot的学习,可以动手做项目了,以及开始学八股&算法
23.05.22-23.05.28
1.这周二阳了,学的少了点。看了一遍springboot的笔记,动手练习了一下。
2.计网自顶向下30页
23.05.29-23.06.04
1.计网自顶向下40页,第一章主要是个概述,印象比较深的是时延以及5层模型,不展开了。
2.web项目1,作了初始化配置,用户模块以及商品分类模块。目前这两个模块自己感觉下来的几个点是统一响应对象,统一的异常处理(更规范可维护性更好,如异常枚举类)以及类的专用,比如专门创建与pojo类似的请求对象类达到职责分明的作用;使用过滤器来完成统一鉴权。
3.redis缓存不知道怎么回事就是配不上,能连上服务器,但是想配的缓存的方法没法往redis写缓存。这里记一下这个问题,先往下学,回头再处理。。。
23.06.05-23.06.18
1.找到了redis缓存配不上的bug,草,@Cachable注解的包导错了,变成swaggui下面的那个包,所以redis连上了,但是方法配不上缓存。。。
2.计网自顶向下第一章的练习题和复习题搞定了,才明白过来分组交互的速度其实比整个发过去还快,虽然会传点首部信息。。
3.计网自顶向下第二章,差一个小节搞定。
4.mumu生鲜项目的商品模块搞定,这个模块比较复杂的点就是查前后台的商品列表了,用到了递归算法。另外一个点是,复杂查询的时候,要有专门对象来处理对应,思路上就和有一个请求对象来处理参数合法等问题是一样的。
23.06.19-23.07.02
1.完成了练手项目的购物车模块和订单模块
2.买了腾讯云,现在又在鼓捣环境,部署啥的估计又得花不少时间,刚把ssh远程连接配好。。。
3.最近痛风来势汹汹,严重影响学习。。。
23.07.03-23.07.23
这几周是忘了更新了,不是没学。
1.第一周:成功把项目部署到腾讯云服务器上了,部署的时候发现我把统一响应对象的返回的status一直写成code,找了好几个小时才找到为什么前端不响应。还有就是当时地哥说改前端页面里的127.0.0.1成自己服务器的ip,这个bug自己也搞了好久。。做完之后还是有些成就感的,虽然还是感觉基础很差,八股啥的基础也不行,但是至少做了点什么出来,当时还是很开心的。
2.第二周:完成了第二个项目的初始化,以及完成支付那个模块的开发,成功对接上了微信支付,不过整个还是感觉都是在调一些那个作者写的工具的api之类的,就大概懂整个支付的运转流程,什么是native支付啊之类的。
3.第三周:完成了第二个项目用户模块,商品模块,分类模块。这部分基本和第一个项目比较像,学起来也是轻车熟路了,自己敲代码的时候明显感觉有了更深的理解,为什么要设vo,统一的异常处理,硬编码换成枚举之类的,写的代码bug也少了不少。不过这个项目和第一个项目比要写的接口少了不少,回头应该向地哥说的那样,有点自己的思考,回头加一些自己思考过的功能上去,目前还是先跟着视频往后做。
23.07.24-23.08.06
这两周老师催得紧,没法摸鱼,可劲怼人。。。。
23.08.07-23.08.13
1.把电商支付项目的收货地址,购物车,订单模块都做完了,也成功部署到服务器了。不过部署那边docker、linux啥的还是不太会用,弄了好久。。
2.接下来跟着地哥的剑指offer第五期刷题。
23.08.14-23.08.20
1.跟着地哥的剑指offer第五期在刷题
2.课程大纲中的niginx入门以及docke入门。
23.08.21-23.08.27
1.继续跟着地哥的剑指offer第五期在刷题
2.课程大纲中的rabbitmq入门
23.08.28-23.09.17
1.完成了地哥剑指offer的所有题目
2.接下来打算做论坛项目了
23.09.18-23.10.08
最近几周老师催的紧+国庆放假去找女朋友玩了,没学。。。
23.10.09-23.10.22
1.打算继续刷算法,项目再说。
2.拿捏算法体系课 39/117
23.10.23-23.10.29
1.拿捏算法体系课 86/117
23.10.30-23.11.5
1.拿捏算法体系课 117/117。完结了,有些比较难的还是没完全掌握,过段时间再2刷吧。
2.下周开始搞JVM或者计网
23.11.6-23.11.12
1.图解jvm专栏44/44。主要了解了内存分配、垃圾回收器及其算法以及jvm优化思路的内容,其他的这个专栏讲的比较少比较浅
23.11.13-23.11.19
1.这周帮女朋友写了一个调研报告把自己学的时间给占了。。。就重头开始看计网,看了20页
23.11.20-23.11.26
1.计网自顶向下:139/529。
2.深入理解JVM:84/716。地哥训练营里版本的字体看不太惯,找了另一种的,页数稍显多。
23.11.30更新
消化道出现了某种问题需要回家做检查,需要停一段时间了。希望没事。
23.12.17更新
1.计网自顶向下:303/529。看完了网络层,但还有之前看过的两章复习题没看
2.深入理解JVM:292/716
23.12.18-23.12.24
1.计网自顶向下:368/529,以及上周没看的复习题看了
23.12.25-24.01.08
1.计网自顶向下看完了
2.图解http看完了
3.开始2刷拿捏算法,进度:3道
4.创新点效果不好,实习要黄了…
24.01.09-24.01.28
1.深入理解jvm搞定
24.01.29-24.02.11
1.JUC并发25篇
2.mysql45讲搞定
3.redis开发与运维前两章(170/890)
24.02.12-24.02.18
1.redis开发与运维34章(316/890)
2.科研不顺利进度要缓慢非常多了…不搞的话每天还挺焦虑的。暑期实习应该是黄了,做不完老师也不让走,安心呆着吧。。。
24.02.19-24.03.03
1.redis开发与运维完结,剩下3章由于是非重点直接跳过了
2.牛客网项目起了个头,p5/p67
24.03.04-24.03.31
1.牛客网项目P48/P57
24.04.01-24.05.09
1.晃了一下,我居然5周都没更新了。。。倒是有在学,就是老是科研那一直出叉子,五一又去深圳找女朋友(偷跑的),老师那催着写小论文,赶鸭子上架,导致最近5周前3周比较认真在学,最近两周全再搞这破论文。。和老师又谈了一次,放松了一点要求,但是坚持要把大论文初稿完成才让我离开学校。估计至少得6月底了。虽然对没实习这事有预期,但是还是比较难接受,毕竟身边好多人早就搞完已经去实习了,导致有时候也很焦虑很怀疑自己,睡不好。
2.牛客网项目做完也部署到服务器上了
3.简历写了也给地哥看了
4.拿捏算法从头到尾二刷结束,感觉比第一次刷好了很多,很多题都有思路了,比如动态规划也有点感觉了,虽然比较难的还是做不出来,但是能想的和答案比较接近了,还是不错的。
5.接下来打算开始看八股高频题了,加功能点的事情想拖一会,现在还是必须拿出60-70%的时间管我的鬼科研。。。