2023届_wh
1、学Java看的哪个资料:Head First Java+学校的基础教程
– 重载,重写,泛型懂吗?懂
– Java集合这块学过了吗?学过
– HashMap源码,JVM,JUC是否看过:
2、数据结构与算法看的哪个资料:
– 链表,栈,队列,二叉树能自己手写吗:
– AVL树,红黑树,线段树学过吗:
– 冒泡,快速,归并排序能手写吗:
– 递归,二分,贪心,回溯,动规,枚举这几种算法学过哪几种:刷题基本都见过,但不熟练
– LeetCode 大概刷了多少题:100
3、框架与中间件
– servlet,cookie,session学过吗:学过忘了
– SSM学过了吗:学过忘的差不多了
– redis 学过吗:
– SpringBoot项目做过几个:1-2个 但现在忘了
4、MySQL看的哪些资料:mysql必知必会 现在基本忘了
– sql 熟练吗:
– 索引底层原理懂吗:
5、计算机基础
– 计算机网络看什么资料:自顶向下那本书
– 操作系统看什么资料:操作系统原理、实现与实践 还没看完差一点
– 计算机组成原来看的什么资料:学校基础资料 基本不会
学习规划(2022.4.19)
咱们的目标是,八月下旬那样子就陆续参加投递面试了,面试会持续到十月底,我看了下你的情况,你目前的情况就是,很多其实都学过,但是忘了或者不大深入,所以我觉得,很多东西得系统捋一捋,系统捋完后,就刷我给的八股文题库查漏补缺,同时也是高频题再次复习了一下。然后我看你,一天可以分配来学习的时间挺多的,学习上我觉得可以分三条线来学。
分别是:算法 + 八股文 + 项目,面试也是基本考这个,咱们就从这三个方面展开,系统过一下,之后在给予我给的八股文题库来复习 八股文题库(必看),具体安排如下:
1、算法:算法我没有太多建议,我觉得攻略都差不多,本质在于刷题,然后你刷太多肯定不现实,我觉得到八月多,有 300 左右题量差不多,当然,具体看你自己的一个刷题速度了,然后如果你没有特别攻略的话,可以按照标签来刷我总结的 算法高频题库,都是高频题,刷完一遍,后面需要二刷。当然,你自己要去 leetcode 刷也可以吧。
另外,你有空把红黑树和 AVL 树补一下,不需要会写代码,知道他们的应用和优缺点就可以了,比如 HashMap 底层为啥用红黑树而不用AVL树这些,包括索引啥的,也经常问,所以你可以在这里根据目录,没学过的补一下:数据结构与算法
2、项目:现在大家的八股文都很溜,所以我觉得项目这块也越来越重要了,当然,项目的本质还是问八股文,做项目就是为了和面试官有的聊,特别是项目中有中间件相关的东西,所以咱们的项目也是有中间件的东西,可以聊的点非常多,所以咱们得先把项目过一下,之后安心准备项目考点(到时候考点都会准备好)。关于项目,你其实学过,不过很多都忘了 吧,建议快速简单把 javaweb=>ssm=>springboot=>2个项目,这样子过一下,然后你做支付实战 + 牛客网社区这两个项目就行,课程大纲看这里:所有课程大纲入口,ssm,javaweb之类的项目可以不用做了,简单复习下框架和cookie,session 这些,直接上手这两个项目。
3、八股文:八股文挺多的,你先整体过一下,主要就是 Java集合+JVM+mysql+reids+os+计网,这些是重点,JUC倒可以晚点,然后学习建议是先搞定集合源码 + JVM + mysql 原理,redis 等做完项目再学原理,os + 计算机网络也可以晚点。但其实他们之间也没有严格的先后循序,那具体建议是:
(1)先学 Java进阶,之后顺势学 Java虚拟机课程说明(必看),
(2)学习 mysql 原理 + 计算机网络=>OS
然后你先学吧,后面通过你的学习进度再来调整,因为有些东西没有严格顺序,你可以根据爱好来,学习所需要的所有课程可以在这里找到:所有课程大纲入口
时间分配:我觉得可以 算法:项目:八股文 = 4:3:5.
然后你先学,我会根据你学习情况给你动态安排,这是大致的安排。
然后记得来每周打卡学习进度哈,比如像他们这样:23与22届做的比较好的成员示例
有什么问题记得随时私聊帅地
4.20
鉴于我严重怀疑,等到我星期天总结这一周干的事情会忘记周一干了什么,所以我还是先每天都写写今天干了啥,方便到时候总结吧
1.今天有点事情耽误了,刷题只刷了一道不过是一个hard 剑指offer59_1。考点在于双端单调队列 自己对于暴力法给出了一个优化算法尽然超过99的人,比较难得。
2.操作系统方面,学习了设备驱动方面的知识,通过linux0.11了解了显示器和键盘的工作逻辑,最核心的一点就是为了方便管理将设备抽象为文件。不过很郁闷的是敲击键盘比如“ls”是如何显示在显示器上的这个问题还是没想明白。我看了源码发现有一个if分支负责将字符回显到显示器,但是敲击ls的时候不会进入这个if分支。。。哎,网上也没有比较有用的信息,只能先放一下了。
3.项目方面,今天把springboot快速入门刷完了,能够完成通过controller service dao实现最简单的查询功能。不过看完这个视频之后让我有了一些感悟,我以前学习框架的时候也是看视频,不过那些视频每一节基本上都是1-2个小时,但其实知识点真的不多。所以我在想会不会我之前的学习方式都是错误的,把大把时间都花在了看视频,做笔记上面。今天这个课程一共可能就1-2小时,但是从实现效果上已经顶得上那些视频好多章了。也许对于那些注解我现在还是很模糊记不住,但项目做多了应该就能记住。而之前自己害怕忘记,把每一个注解啥的全都记录下来,现在想想好像从来没去看过。
然后做这个项目的时候也遇到了两个问题 一个是导入依赖出了问题,是通过修改镜像解决的。另外MySQL出了点问题,登录不上,我就索性吧5.7的卸载了然后安装了8.0的。
4.数据结构 本来是想看一章的,不过回到寝室洗了个澡发现有点晚了,今天有点累就想的写写总结睡觉了,什么时候看这个可能需要再想想,寝室里面确实没有学习的动力。。。
4.21
今天被老师安排了一个项目,和java没啥关系,他的意思是做了这个项目就用来当毕业论文的内容。后面学习的时间要打不少折扣了,毕竟毕业还是重要一些。
和帅地哥沟通了一下,决定项目先放一放,利用晚上的时间刷刷题+八股文
1.刷题 今天刷了两道题
剑指offer59_2 这道题和59_1完全一样 双端单调队列搞定 不过有一个注意点是 int Integer new Integer 三种情况 比较什么时候是TRUE 另外剑指offer30也很类似,区别在于30题是栈。
剑指offer36 二叉搜索树转双向链表 看到搜索树就想到递归+中序遍历。可惜还是没做出来,可能还是做少了吧。
到此剑指offer这个专题就刷完了(hard没刷),看了下时间从2.21开始刷的,平均一天1道多一点,这么一看效率有点低。中间有点事情耽搁了,不过刷完之后还是能感觉到能力提升了不少。后面再跟着剑指offer的计划过一遍吧。看看第二遍做能不能做到都做出来。
2.操作系统 今天开始学习最后一章文件系统,学完一起总结吧。
4.22
1.刷题 二刷的第一天,栈与队列(9 30)简单题,没啥难度
总结了Deque接口,LinkedList实现类的常用方法。
LinkedList用做队列满足先进先出,add offer加到末尾,remove poll从队首移除,element,peek显示队首。
用作栈 push pop peek操作的都是第一个元素
另外一个考点就是通过两个Deque,实现O(1)获得栈/队列里面的最值
2.操作系统 把文件系统这一章书本过了一遍,视频也刷了一遍。读写文件的流程基本上有一个印象了,还需要二刷深入细节。
3.老师布置的项目 目前处于了解阶段,昨天查了很多硬件相关的知识。另外学习了UTC GMT CST RTC UNIX时间 这几个时间的概念
4.23
1.刷题 第二天 链表(6 24 35)三道题都做出来了
第一题 栈 递归
第二题 迭代法 递归没做出来 其实1 2两道题递归逻辑是一样的,2稍微复杂点
第三题 map 链表 这道题解法挺巧妙的,标记一下
2.老师布置的项目 继续熟悉设备,用到了不少计网的知识。发现书本上的东西和实际操作的差距还是挺大的。配置了网关一个接口的ip,然后通过ssh登录成功,另外对路由表理解更深了。
4.24
1.刷题 第三天 字符串(5 58_2)
第一题 字符数组转字符串
new String(arr,0,len)/String.valueOf()
另外字符串是常量拼接会创建新的对象,效率低,用StringBuffer
第二题 StringBuffer
2.操作系统 二刷文件系统这一章,条理已经比较清晰了
3.项目 想用ftp在两台设备之间传文件。主机作为服务端开启了ftp服务,但是报错ftp:timeout was reached。后来发现主机防火墙没关。以后可以注意,网络问题最先想到的是抓包,通过抓包软件发现若防火墙没关,无法抓到ftp的包,所以判断被防火墙拦截。
4.20-4.24总结:(第一周)
这周决定跟着帅地准备自己的秋招,以前自己准备总是担心会走冤枉路,时间规划会出问题,现在的话就觉得挺稳当的,毕竟有个大佬带着,希望自己能有一个好结果吧。
这一周学习方面总的来说还是不错,剑指offer系列刷完了,二刷的这几天题目做起来也比较顺利。
操作系统最后一章也看完了,最后做一个实验巩固一下。
项目方面 老师布置的项目让我不得不先把java的项目停了,不过不管什么项目能有收获就行。
下一周老师的项目可能要花更多的时间了,希望进展顺利。
4.25
1.刷题 第四天 查找算法(3 53_1 53_2)
第一题 利用数字不重复,原地交换
第二题/第三题 排序数组 考虑二分
int mid = left + (right – left)/2; 注意超限问题
2.项目方面 实践了如何配置dhcp server,给自己的电脑分配ip。之前是静态配置网关和自己电脑的ip。另外看到了设备里面出现docker,很久以前就熟悉这个词了,趁这个机会把快速入门看了。确实是一项很方便的技术。
4.26
1.刷题 第五天 查找算法(4 11 50)
第一题 二维数组的查找 从右上角开始 当做一个搜索二叉树
第二题 二分的变式 right left的取值是mid 还是mid+/-1取决于当前的left/right可不可能是我们找的数字
第三题 map HashMap中的排序和插入顺序无关,可以用LinkedHashMap。
2.看了帅地哥的学习分享,感觉说的几个点很有道理。我以前就很喜欢把笔记做的很详细,但是自己后面又不怎么会看。另外遇到困难的东西我也会担心会不会花太多时间,这样进度太慢。后面的话按照帅地哥说的试一下,看看效果如何。
4.27
1.刷题 第六天 搜索与回溯算法(32_1 32_2 32_3)
三道题是一样的,层序遍历,打印二叉树。
遍历+队列的方式做出来了 递归没做出来,主要没想到层序遍历如何用递归
2.操作系统 花了一下午的时间研究了一下linux0.11文件系统部分的源码。主要是两个部分,当open的时候干了什么,当write的时候干了什么。文件部分的代码相当复杂,感觉比前面进程管理和内存管理要复杂不少。不过现在流程基本是搞明白了。突然想起昨天看帅地哥的视频讲到的,遇到困难的东西不能害怕花时间,这里搞懂了以后学东西遇到类似的就快了。
但是还是有个问题,看源码有的时候调用的函数一层套一层,看完里面干了什么就忘了最外层是怎么调用的,又要返回去看,就浪费很多时间。
4.28
1.刷题 第七天 搜索与回溯算法(26 27 28) 树相关
三道题都是树相关的 转化为几个子问题
如何利用递归判断两个树是否相同/镜像/A是B的子树
另外可以将递归改为队列
2.八股文 看了韩顺平java的498-517节。讲了Collection,List,ArrayList,LinkedList。帅地哥找的视频确实挺好的,这个视频很适合我来看。大部分因为刷题用过所以感觉很熟悉,但是源码部分又的确从来没看过。刷起来效率很高,然后又觉得很有干货。
4.29
1.刷题 第八天 动态规划(10_1 10_2 63)
很简单的三道题,甚至没啥好总结的
2.java进阶 518-546节。今天看视频真的看麻了,把set,map看完了。感觉收获很大,一遍肯定不够以后需要巩固,但至少问到集合底层的原理不至于一问三不知了。看了源码以前的很多疑惑基本都解决了,很多方法也记得更牢了。另外明显感觉到自己阅读源码的能力提升了,一方面有老师带着看,另外一方面之前学习操作系统去看linux0.11的源码的过程也对我帮助很大。所以学习真的是一个积累的过程,所有的付出在未来的某个时刻都会带来回报。
4.30
1.刷题 第九天 动态规划(42 47)
入门级dp,注意空间复杂度的优化。二维变一维/一维变O(1)
2.java进阶 306-318多态 461-480包装类+String 548-553集合练习。重新复习了HashMap,发现多态有点忘了就回去复习了一下,把EntrySet搞懂了。感觉String讲的不是很清楚,明天再回顾一下。
5.1
1.刷题 第十天 动态规划(46 48)
46是走楼梯的变式,存在对称性,所以从前往后遍历和从后往前遍历结果一样。从后往前就可以用到%和/
48双指针好理解一些
2.java进阶 复习了昨天学的String。学习了泛型,另外对于构造器,this,代码块做了回顾。
5.2
1.刷题 第十一天 双指针(18 22)
简单题
2.java进阶 看了单例,多线程基础。然后顺便把线程池的内容看了。另外复习了一下传参机制
5.3
1.刷题 第十二天 双指针 (25 52)
链表合并 迭代和递归都做出来了 52题做法很巧妙,相当于将两个链表拼接起来,复习的时候可以回顾一下。
2.java进阶 回顾昨天看的线程池。另外看了包 修饰符 继承super 重写 静态变量 final 抽象类。之前其实都学过,不过一方面忘了一些,另一方面补充了一些细节知识。然后重点研究了一下protected
5.4
1.刷题 第十三天 双指针(21 57 58_1)
总体还是比较简单,双指针用到了首尾指针和快慢指针
另外有的时候遍历从尾部开始会方便很多。
2.java进阶 学习/复习接口,内部类,异常。
4.25-5.4总结:
总结一下上一周+五一假期学习的内容。
1.刷题方面按部就班,题目不算太难外加二刷所以都做出来了。继续保持就行。
2.操作系统文件系统一章学习完成,本来还有一个配套实验,但因为时间关系只有以后再说了。李治军老师的操作系统原理、实现与实践真的是一本好书,讲的很透彻,但是要花很多时间。我不知道有没有人会看我写的总结,如果你想学习操作系统,而且时间充足(这点很重要),那我建议你可以学习一下李治军老师的操作系统原理、实现与实践这本书,b站也有配套视频。需要先学汇编,另外还要配合赵炯的linux内核完全注释。把这门课程的八个实验认真完成,绝对有收获。
3.java进阶 把重要的内容和遗忘的内容都认真过了一遍。还剩下反射,文件IO,网络编程没看。这个打算以后抽时间看了。最大的收获就是一些源码之前一直没有接触过。另外比如修饰符,重写重载里面有很多细节其实自己最开始学都没在意。
4.下面准备开始学习JVM,时间已经不多了,实验室这边老师也要安排一些活干。希望可以坚持下来,继续保持学习的专注度。
5.5
1.刷题 第十四天 搜索与回溯算法(12 13)
两道题很类似,考虑几点: flag数组需不需要变回去 扩散的时候向四个方向扩散还是两个方向 边界+条件判断 结束返回判断
2.jvm 今天在两个版本的视频之间纠结了一下,浪费了一些时间。看了class文件结构的相关内容。状态不太好,就当休息一天了。
5.6
1.刷题 第十五天 搜索与回溯算法(34 36 54) 树相关
一道中序遍历 一道搜索二叉树与双向链表的转换 复习的时候可以再回顾一下
34题没做出来 思路其实和昨天的两道题一样,可惜没有想清楚加进链表的结点什么时候删除。
2.jvm 完成第六章类文件结构的学习。细节非常多,先有个大概了解吧,如果要用再仔细看看。
5.7
1.刷题 第十六天 排序(45 61)
先把昨天的34题重做了一遍,这一次很顺利。
61是一道比较巧妙的题,复习的时候可以再看一下。
45是自定义排序,可以用快速排序解决。感觉自己做了好几道快排的题一直没有很明白,所以干脆今天把这个排序搞懂。
把数据结构板块里面快速排序的视频看完了,老师讲的挺好的。为什么要引入随机数,为什么要引入双路甚至三路快速排序,整个视频都循序渐进讲清楚了。然后做了75题(三路快排),剑指offer40+215(双路快排)。今天的45题也是双路快排的改进版本。
5.8
1.刷题 第十七天 排序(40 41)
40题昨天就做了,41用到了优先队列。把数据结构里面堆和优先队列的内容看了。堆的底层就是一个数组,然后优先队列又是用小根堆实现的。堆排序分两步分别是建堆和排序。建堆可以用heapify优化。堆更多应用在优先队列,排序效率不如归并快排。
很巧的是selectK和topK可以用快排和优先队列解决,又复习了昨天学的快排。注意比较二者的区别和优缺点。
41用到了大根堆+小根堆 复习的时候可以再看一下。
5.9
1.刷题 18 搜索与回溯算法(55_1 55_2)
求二叉树深度和是不是平衡树。用递归可以很好解决,另外层序遍历也可以求深度。复习了32题。
2.JVM 学习了第七章虚拟机类加载机制,了解了Java9的模块化
5.10
1.刷题 19 (64 68_1 68_2)
64算是技巧题吧,没啥意思,复习再看看就行
68是二叉树的问题 2没有做出来,两种解法都再看看。
2.java进阶 反射部分的内容。昨天学了类加载没太看懂,但今天学完了反射部分,对于昨天的东西理解加深了。
5.11
1.刷题 20 (7 16 33)
7树的递归+map优化 16快速幂 33树的递归,单调栈。
今天一天都在实验室干活,抽时间把题写了,另外看了JVM的第一章,了解了Java和一些虚拟机。
5.12
1.刷题 21位运算(15 65)
利用&和^实现加法。>>>无符号右移和>>有符号右移
2.jvm 看了第二章Java内存区域与内存溢出异常
5.13
1.刷题 22 位运算(56_1 56_2)
56_1没做出来 异或运算,没想到可以分组
2.JVM 第八章字节码执行引擎,看了一半 视频看完了。
5.14
1.刷题 23 (39 66)
39投票法,两两抵消 66dp 从左扫到右再从右扫到左
2.JVM 第八章字节码执行引擎后面一半
5.15
1.刷题 24 (14_1 57_2 62)
14简单dp
57滑动窗口,二维数组里面每个一维数组的长度可以不一样。链表转一维数组/二维数组
62约瑟夫环 模拟法(超时) 找规律,重点是是存活下来的人的下标
2.jvm 看了第三章 垃圾收集器与内存分配策略。
5.5-5.15总结
1.刷题 (回溯 树 单调栈 位运算 约瑟夫环)这几个题没有做出来。回溯掌握的还是不错,那一道题算是意外。树的话之前一直做的不好,二刷已经有明显的提升,准备二刷完了系统学习一下。剩下的几道题属于见的太少,需要多复习几遍。另外系统学习了快速排序和堆+优先队列。
2.jvm 123,678章,书过了1遍,视频也过了1遍。很多内容学习起来还是比较吃力,准备先留个整体的印象,后面再来深究。
3.java进阶 反射
相比前面进度慢了一些,实验室这边一直有活要干,另外jvm也比较有难度。希望继续坚持,下一周二刷可以刷完,然后争取把jvm看完。
5.16
1.刷题 25 (29 31)
模拟法,顺时针打印矩阵和判断栈的弹出序列
2.jvm 12章 java内存模型与线程
5.17
干活干了一天,欠的东西后面补
5.18
1.刷题 26 字符串(20 67)
20判断一个字符串是不是数字用到了简易版本的有限状态机
67把字符串转换为整数,主要是判断当前的数字加上一位会不会超限
27 栈与队列(59_1 59_2)
滑动窗口,两道题都可以用单调队列来求当前窗口里面的最大值。区别在于59_1的窗口大小是k,59_2的窗口大小是整个队列
2.jvm 第十三章 线程安全和锁优化
5.19
1.刷题 28 搜索与回溯算法(37 38)
37 序列化二叉树,一道hard第一遍刷的时候没写。这次写还是没有完全做出来,后面在复习一下。
38 字符串的全排列+去重。没有用回溯+set。而是遍历每一位和后面交换,另外复习了leetcode的31题,得到数组的下一个排列。在这道题就是while循环直到无法得到下一个排列。好处在于不需要去重。
2.jvm 第四章 虚拟机性能监控,故障处理工具。走马观花看了一遍有了基本的印象。
3.实验室项目第一阶段完成,把程序移植到基础镜像为arm64/linux的docker里面。对于docker的使用有了很大的提升。
5.20
1.刷题 29 动态规划(19 49 60)
49二刷做出来了
60还是没想明白状态转移方程怎么写 19hard 做不动了,先cv
2.jvm 第十章 前端编译与优化
3.java进阶 文件IO 611-628
可以通过字节流复制文本文件里面的字符,如果打印在控制台出现乱码可能是文件本身的编码问题。或者idea的编码设置问题
但是不能通过字符流复制二进制文件比如图片,复制后无法打开。
5.21
1.刷题 30 (17 51)
17题目很简单,但是如果要考虑大数问题就只能用字符串。
51先留着 学了归并再来做
2.jvm 第十一章 后端编译与优化。至此就把深入理解java虚拟机和相关的视频刷了一遍,准备过一段时间再深入。
3.java进阶 文件IO后一半629-644
4.数据结构 归并排序前一半。
5.22
1.刷题 31(14-2 43 44)
14-2和14-1的区别在于需要取模,所以14-1的dp就不能用了。直接快速幂然后取余即可。43 44都是数学题,先跳过了
2.数据结构 归并排序后一半。对于自底向上的归并不是很熟练,复习要再看看。把昨天的51用归并做了
3.剑指offer二刷结束 总结题型以及不熟练的题目
5.16-5.22总结
1.刷题 结束了剑指offer的二刷。题目总结了一下,绝大部分题目还是掌握了。听室友推荐下一步准备刷代码随想录的题目,不过每一个专题刷之前先看一下数据结构里面相关的知识。感觉那个老师讲的挺不错的。
2.jvm上周剩下的部分完成 除了实战部分,视频和书都看了一遍。只能说有一个印象,准备过一段时间再来复习了。
3.java进阶 文件IO流 第一次学的时候很混乱分不清楚什么时候该用哪个,这一次掌握的比较熟练了。主要原因还是理解了。
4.下面准备学习mysql了。先把基础命令复习一下,然后去牛客网刷题巩固一下,然后就准备看看底层了。
5.23
1.数据结构 二叉搜索树第一章
2.mysql 过了一遍视频,决定明天还是看书
3.研究了一下用字符流读取二进制文件会出错的原因。
5.24
1.数据结构 复习二叉搜索树的底层实现。二叉搜索树剩余部分看完
2.mysql mysql必知必会 1-21章
5.25
1.刷题 代码随想录 二叉树部分 1-7节
递归,迭代(统一写法和非统一写法) 层序遍历 翻转二叉树
leetcode 102 107 199 637 429 515 116 117 层序遍历或者变式
其中117复习的时候要再看一下 O(1)的空间复杂度
翻转二叉树利用 递归 迭代 层序遍历都做了一遍。任何一种遍历方式在原来输出结点的值的地方改为翻转左右子节点即可
复习剑指offer 32 27
2.mysql mysql必知必会22-30章(完)
牛客网 非技术快速入门练习题1-36 剩了三道hard
5.26
1.mysql 牛客网刷题sql必知必会1-50(完) 非技术快速入门练习题 29 34 35
大部分题属于一句话就解决的 感觉题目出的不是很好
2.刷题 代码随想录 二叉树部分 8-14节
对称二叉树 leetcode 100 101 二叉树最大深度 104 559
二叉树最小深度 111 普通/完全二叉树节点个数 222
完全二叉树的遍历方式有点特别 复习再看一下。
平衡二叉树 110 递归+剪枝 二叉树的所有路径 257 回溯+递归
复习剑指offer 28(是否是对称二叉树) 55_1(二叉树的深度) 55_2(平衡二叉树)
5.27
1.mysql 牛客网 sql10题
2.代码随想录 二叉树 15-21节
其中递归函数在遍历整棵树的时候不要返回值,如果只需要满足某一个条件就需要返回值。
复习剑指offer 7 34
3.数据结构 二分查找第一章
5.28
1.代码随想录 二叉树 22-28节
合并二叉树+二叉搜索树
复习剑指offer 26 54
2.数据结构 二分查找 第二三章 leetcode 875 1011
3.4道sql
5.29
1.代码随想录 二叉树 29-35节
二叉搜索树插入删除,公共祖先
复习剑指offer 68-12
2.整理总结二分查找 重做leetcode 34 35 69 367 875 1101
复习剑指offer 53_1 53_2 11
3.4道sql
5.23-5.29总结
1.复习mysql 看书+牛客网刷题
2.数据结构 二叉搜索树+代码随想录 二叉树专题
这个专题最大的收获是明确了遍历树的几种方式,以前做树相关的题目就是凭感觉,没有套路。看了这个专题才明白,很多答案把递归的步骤合并了,其实大部分的题还是根据那几种遍历模板改几行做出来的。另外对于递归的理解也加深了,确实是好文章。再回过头去做之前的树相关的问题就很轻松了。
3.数据结构 二分查找。整理模板和套路,重做二分查找相关的题目。
下一周目标:数据结构 栈与队列+链表。八股文方面开始学习mysql底层 然后每天写几道sql练练手。
5.30
1.数据结构 栈与队列视频+代码随想录栈与队列
leetcode 232 225 20 1047 150
2.mysql45讲 1-3节
3.3道mysql
5.31
1.数据结构 单调栈 leetcode 739 496 503 42 84
其中42 84再复习一下
2.mysql45讲 4-5节。
3.总结数组复制的几种方式。
6.1
1.数据结构 复习剑指offer栈与队列31 9 30 33 59-1 59-2
复习leetcode42 84
2.mysql 45讲看的有点吃力,找了个视频看看。
6.2
1.数据结构 链表相关视频 leetcode203 206
2.mysql 视频过了一遍
3.3道sql
6.3 休息
6.4
1.刷题 代码随想录 链表部分
leetcode 203 707 206 24 19 142 160
2.mysql 45讲 重看1-5
6.5
1.刷题 复习剑指offer链表相关内容 6 18 22 24 25 35 36 52
代码随想录 dp基础部分 leetcode 509 70 746 62 63 343 96
前面的题属于很简单的dp,96题复习的时候要再看一下。
2.mysql 45讲6-9节
3.数据结构 选择排序 插入排序 动态数组
5.30-6.5总结
1.数据结构 栈与队列(单调栈) 链表 插入排序和选择排序
完成了代码随想录相关内容的习题 复习了剑指offer相关内容
2.mysql45讲 1-9节 最开始看的时候比较吃力,找了个视频看花了一些时间(有一说一 看完视频之后再看这个专题确实轻松不少)
3.代码随想录 dp基础入门
4.下一周目标:
刷题方面 继续dp的专题 代码随想录里面内容很多 争取一周写完吧
写完后复习剑指offer dp的相关内容
mysql45讲 每天4节(6.14争取完结)
数据结构方面 冒泡希尔排序 哈希表
6.6
1.刷题 代码随想录01背包部分 leetcode 416 1049 494 474
果然自闭了 明天再看一下494和474 实在不行考虑先跳过背包
2.mysql 45讲10-13节
6.7
1.刷题 代码随想录 完全背包 518 377 70 322 279 139
复习494 474
2.mysql 45讲14-17节
3.数据结构 哈希表 计数排序 leetcode 75题
6.8
1.刷题 leetcode 198 213 337 300 674 718 1143
其中198 213 337复习再看一下 300可以用二分优化
2.mysql 45讲18-21节 最近学习mysql发现数据结构真的无处不在,存储数据用的b+树,redolog里面的循环队列。排序的时候用的归并排序,以及order by+limit 用优先队列的topK优化。
3.复习计数排序 leetcode75 了解基数排序
6.9
1.刷题 dp 买卖股票的最佳时机系列 121 122 123 188 309 714
主要是分析清楚有哪些状态,状态之间如何转换。代码随想录总结的还是比较到位
2.mysql 45讲 22-25节
3.数据结构 冒泡排序 希尔排序
6.10
1.dp leetcode 1035 53 392 115 583
2.mysql 26-27讲 复习24-25讲
6.11
1.dp leetcode 72 647 516 至此代码随想录dp部分完结
复习剑指offer dp部分 10-12 42 63 47 其中10-2使用完全背包实现的解法再看一下。(377)
2.mysql 45讲 28-31节
3.数据结构 线段树 leetcode 303 307 没有接触过的数据结构,实现了线段树的创建 查询 更新。有了之前二叉树的基础,学习起来比较简单,全是递归实现的。
6.12
1.刷题 复习剑指offer dp部分 46 49 60 66
2.数据结构 字典树 leetcode 208 211 677
3.mysql 32讲 看到后面发现有点看不动了。
6.6-6.12总结
1.刷题 代码随想录 dp部分+剑指offer dp部分复习
2.数据结构 哈希表 冒泡排序 希尔排序 计数排序 线段树 字段树
3.mysql 45讲 10-32讲
4.下一周目标
代码随想录数组 哈希表 双指针 字符串部分
数据结构还差并查集 avl 红黑树 字符串匹配,下一周都过一遍。mysql45讲结束 然后准备计网
6.13
1.刷题 代码随想录 数组部分
leetcode 27 977 剑指offer 3 21 原地交换/双指针
leetcode 209 剑指offer 57-12 48 滑动窗口
leetcode 59 剑指offer 29 模拟顺时针打印
剑指offer39 投票法
2.mysql45讲 33-40讲 粗略看了一遍
3.数据结构 字符串匹配第一章 并查集
6.14
1.数据结构 字符串匹配第二章 leetcode 1392 187 1147
2.mysql 41-45讲 (结束)
6.15
1.刷题 代码随想录 哈希表专题 leetcode 454 15复习再看一下
2.计网 物理层 链路层
3.数据结构 AVL树
6.16
1.代码随想录 字符串专题 kmp看了一下 放弃了
2.计网 网络层前半部分
3.数据结构 红黑树 至此数据结构所有内容看了一遍,下面开始复习。从排序开始。
6.17
1.代码随想录 回溯专题 第一部分 131 39复习的时候再看一下
2.计网 网络层后半部分
3.数据结构 复习选择排序 插入排序 归并排序
6.18
1.代码随想录 回溯专题 第二部分
2.计网 传输层
6.19
1.代码随想录 回溯专题完结(这个专题总结的也很到位)
剑指offer 复习12 13 34 38
2.计网 应用层
3.数据结构 复习快速排序 leetcode215
6.13-6.19总结
1.代码随想录 数组 哈希表 字符串 回溯专题
2.mysql45讲完结 后面的内容看的比较水,有点看不进去了,如果以后要用到再复习吧
3.复习计网 完结
4.数据结构 并查集 字符串匹配 AVL 红黑树 完结
复习排序算法。
5.下一周目标
代码随想录还差一个贪心专题 写完之后看算法面试专题
数据结构继续复习排序
开始复习操作系统
时间不等人,保持学习的专注度。
6.20
1.代码随想录 贪心第一部分 做的不顺,感觉不容易想到
2.复习堆排序,优先队列 topK selectK问题
6.21
1.贪心第二部分
2.复习冒泡 希尔 计数排序 排序部分结束
3.操作系统 导学部分
6.22
1.贪心第三部分
2.复习二分搜索 动态数组
3.操作系统 进程第一部分
6.23
1.贪心第四部分 完结
至此代码随想录一刷结束。dp和二叉树花的时间最多收获也最大。另外回溯专题和贪心专题也总结的挺好的。感谢作者!
2.复习 栈与队列 链表
3.操作系统 进程结束
6.24
1.复习二分搜索树 利用二分搜索树实现集合 映射
2.操作系统 内存管理
6.25
1.复习 线段树 字典树 并查集
2.算法 数组 查找表
6.26
1.复习 AVL
2.操作系统 文件管理
3.算法 链表
6.20-6.26总结
1.刷题方面 代码随想录 贪心专题(一刷结束)
算法课程 数组 查找表 链表相关内容
2.操作系统 进程 内存 文件系统
3.数据结构与算法 复习排序,查找,动态数组 链表 栈和队列 树及其变式(还差红黑树)
4.下周目标
算法课程看完 操作系统看完(差一章IO)
数据结构与算法复习完(差红黑树 字符串匹配 哈希)
开始看java进阶网络编程和多并发
6.27
1.复习红黑树
2.操作系统 IO部分
3.算法 栈队列部分
6.28
1.复习 哈希表 字符串匹配(数据结构与算法课程 复习结束)
2.算法 二叉树
3.java网络编程 第一部分
6.29
1.java网络编程 (结束)
2.算法 递归与回溯
6.30
1.算法 动态规划 (结束)
休息
7.1
1.复习java进阶 list set map
7.2
1.刷题 代码随想录 复习数组专题
leetcode 1365 1207 941 283 922 189 724 34 35
2.java并发 1-2讲 复习jvm12章内存模型
3.电商项目前三章 项目打通 配置完成
7.3
1.刷题 代码随想录 复习链表专题
leetcode 143 234
2.java并发 3-5将 复习jvm13章线程安全和锁优化
3.总结过去的两年
6.27-7.3
1.复习内容:数据结构与算法课程,java进阶list set map性质和源码
2.操作系统 IO部分 java网络编程
3.算法课程看完
4.java并发1-5讲 电商项目开了个头
5.下周内容:继续复习代码随想录题目
java并发 电商项目
7.4
1.代码随想录 哈希表专题 leetcode 205 1002
15题再看一下
2.并发 6-7讲
3.项目 用户模块
7.5
1.代码随想录 字符串专题 leetcode 925 844
2.并发 8-11讲
3.项目 商品分类模块
7.6
1.代码随想录 栈与队列
2.安装并学习redis
3.项目 商品模块 第一部分
7.7
1.随想录 单调栈
2.并发 12-13讲
3.项目 商品模块第二部分 购物车模块
7.8
1.随想录 二叉树1-7
2.项目 订单模块 第一部分
7.9
1.随想录 二叉树 8-14
2.项目 订单模块 完成
3.并发 14-15讲
7.10
1.电商项目收尾
7.4-7.10总结
1.随想录 哈希表 字符串 栈与队列 单调栈 二叉树的一部分内容
2.并发 6-15讲
3.电商项目完结 简单学习redis
4.下周目标
1.随想录 并发继续学习
2.通过项目回顾复习springboot+Mybatis 完成后开始第二个项目。
7.11
1.随想录 二叉树 15-21
2.并发 16-19讲
3.回顾电商项目
7.12
1.随想录 二叉树 22-28
2.并发20-21讲
3.回顾电商项目+java基础 枚举
7.13
1.随想录 二叉树 29-35(结束)
2.并发 22-23讲
3.回顾电商项目(结束)
7.14
1.随想录 回溯1-6
2.并发 24-25
3.新电商项目 完成项目准备工作+微信支付功能
7.15
1.随想录 回溯7-12
2.并发 26-27
3.项目 支付模块完结
7.16
1.随想录 回溯13-16
2.并发 28-29
3.项目 用户模块
7.17
1.随想录 回溯完结
2.并发30-31
3.项目 分类模块 复习cookie+session
7.11-7.17总结
1.随想录 二叉树后半部分+回溯
2.并发16-31
3.项目 总结前一个项目 新电商项目支付模块 用户模块 分类模块
4.复习 java枚举 cookie session
7.18
1.随想录 dp 1-7
2.并发 学习threadlocal
3.项目 商品模块
7.19
1.随想录 dp 8-13
2.项目 购物车模块 复习redis
7.20
1.随想录 dp 14-22
2.并发 学习Lock接口
3.项目 收货地址模块
7.21
1.随想录 dp 23-29
2.并发 32-34
3.项目 订单模块第一部分
7.22
1.随想录 dp 30-36
2.并发 35-37
3.项目 订单模块完结
7.23-7.24
身体不适 休息
7.18-7.24总结
1.随想录 dp 1-36
2.并发32-37讲 threadlocal+lock
3.项目 商品 购物车 收货地址 订单模块
4.下周目标
随想录 dp+贪心完结
并发完结
项目完结+学习rabbitmq
7.25
1.随想录 dp 完结
2.并发 学习synchronize
3.安装学习rabbitmq
7.26
1.随想录 贪心 第一部分
2.并发 38-40讲
3.整合rabbitmq 学习nginx 电商项目完结
7.27
1.随想录 贪心第二部分
2.并发41-42讲
3.复习总结项目
7.28
1.随想录 贪心第三部分
2.并发 43-45讲(完结)
7.29
1.随想录 贪心第四部分
2.复习并发 多线程
3.复习java内存模型
7.30
1.随想录 贪心完结 至此随想录二刷结束
2.复习 并发 线程池 死锁
7.31
1.准备简历
7.25-7.31总结
1.随想录 dp+贪心完结 二刷结束
2.并发38-45讲(完结) 复习多线程,java内存模型等内容
3.项目完结 rabbitMQ+nginx学习
4.下周目标
刷题刷帅地哥的高频题库 全面复习八股文和做过的项目
8.1
1.复习lock接口,jvm13章线程安全与锁优化
2.复习七大排序+二分查找
8.2
1.leetcode 160 206 234
2.复习常见数据结构实现 复习集合
3.学习原子类Atomic cas
8.3
1.leetcode 2 19 23
2.复习电商项目 整理表结构和支付模块逻辑
3.学习concurrenthashmap等并发容器
8.4
1.leetcode 82 92 142
2.复习电商项目 用户模块 商品分类模块逻辑
3.学习CyclicBarrier等并发工具
8.5
1.leetcode 25 143
2.复习电商项目 商品 购物车 收货地址模块逻辑
3.学习 aqs future callable
8.6
1.复习电商项目 订单模块(完结)
2.复习juc
8.7
1.leetcode 148
2.总结简历
8.1-8.7总结
1.算法题库 链表与双指针
2.复习电商项目
3.复习排序 数据结构 学习juc常用工具类
4.下周目标
复习mysql 多线程基础 计网
社区项目
8.8
1.leetcode 94 101 104 110 144
2.社区项目开头
3.复习mysql 索引
8.9
1.leetcode 27 102 105 129 145
2.社区项目第一章
3.复习mysql 锁
8.10
1.leetcode 199 236 124 297 662
2.复习mysql 事务 日志
8.11
1.社区项目 发邮件 注册功能
2.复习mysql explain count等
3.复习JMM 单例模式
8.12
1.leetcode 56 215 315
2.复习计网
8.13
1.leetcode 33 34 69 367 704 复习二分查找
2.复习框架+设计模式
8.14
1.复习AOP+代理模式
2.复习多线程
8.8-8.14
1.算法题库 二叉树 排序算法 二分查找
2.复习mysql 多线程+JMM 计网 框架+设计模式
3.社区项目 做完注册
4.完善简历
8.15
1.leetcode 11 15 26 88 287
2.学习单点登录
3.复习redis
8.16
1.继续复习redis
2.社区项目
8.17
1.复习redis
2.复习消息队列
3.社区项目
8.18
1.复习消息队列
2.复习jvm
8.19
1.复习jvm
2.项目
3.leetcode 70 112 121
8.20
1.复习jvm
2.复习mysql
8.21
1.复习jvm
2.复习框架
8.15-8.21
1.复习八股文
2.完善项目
3.投递简历 准备面试
8.22
1.复习框架
2.笔试 + leetcode
8.25
最近主要是参加面试然后总结。另外复习八股文,周末再记录吧。
8.22-8.28
1.面试了一些小公司感受了一下面试的流程,感觉基础掌握的还行,很多考点基本上每个公司都会问,问的也不算深。但是项目明显不够看,甚至有的公司都懒得问了,嫌太简单。
2.社区项目完成第四章
3.八股文的复习 还差计网 redis java相关的一些内容
8.29-9.4
1.社区项目完结
2.修改简历 投递了几家公司
3.八股文复习 还差redis。项目复习
9.5-9.11
复习八股文,复习算法题目。投简历,做评测,做笔试。。。
学习建议(2022.9.15)
说实话,你们这种感觉 遇到瓶颈 的感受,我还是能理解的,我觉得打破这些怪圈 ,进一步精进,得拓展去学习新的知识,或者讲的更加深入的书,就是通过学习,可以把很多东西串联起来。对于你的话,我觉得你可以学习这几种
1、学习下分布式的知识,不过这块知识,训练营内不多,可能要过阵子才更新,极客时间倒是有,不过我刚好没有对应的盗版。
2、你学习下《Java并发编程艺术》这本书吧,应该可以起到很好的补充,看完Java并发基本稳了
3、更加深入学习下中间件吧,看下《Redis 核心技术与实战》这个专栏吧,我这里给你找来了盗版:https://pan.baidu.com/s/11FqmoYQ5ZdX6feuVsCTFiw 提取码: hlm5
4、框架这块,如果你想继续学,那么可以看一下 spring 全家桶:点击百度云下载 提取码: prep
5、最后就是,从系统设计课程中,选几个看一下,应付场景题:系统架构设计
你可以优先2/3=》1/4,然后 5 的话,找个时间看几个
9.12-9.18
1.继续复习八股文+算法题目
2.学习Redis 核心技术与实战,另外学习一些更加底层的内容
10.10
很久没有更新了,最近又面试了不少公司,有几家hr面结束了等通知,有一些还在流程中,当然也有不少直接简历就挂了。学习状态感觉有点浮躁,可能是找工作的周期有点长了吧,学不进去了。现在以复习为主,后面要开始准备毕业的事情了,希望十月可以结束秋招吧