2023届_yvyan
技术栈测试
1、学Java看的哪个资料:
牛客网Java入门
- 重载,重写,泛型懂吗?
懂,但是不是非常熟悉 -
Java集合这块学过了吗?
学过了,源码没看过,只是看八股文学的 -
HashMap源码,JVM,JUC是否看过:
HashMap源码没看过只是背过相应的八股。JVM也是直接看八股,底层细节没有看过。JUC最近在看黑马的视频。
基础这块没有深入的看过,只是直接看的八股文,没有知识的连续性。有些零散。
2、数据结构与算法看的哪个资料:
韩顺平数据结构与算法。代码随想录
- 链表,栈,队列,二叉树能自己手写吗:
复习一下就能手写,大多都是在leetcode上刷题。 -
AVL树,红黑树,线段树学过吗:
没学过 -
冒泡,快速,归并排序能手写吗:
之前写过,复习一下就能手写 -
递归,二分,贪心,回溯,动规,枚举这几种算法学过哪几种:
除了枚举。其他都挺熟悉 -
LeetCode 大概刷了多少题:
现在是295题,有的题刷了3-4遍,leetcode提交1300次
3、框架与中间件
- servlet,cookie,session学过吗:
仅仅是了解了一下,底层原理没有看过,只是会背八股的水平。 -
SSM学过了吗:
学过,做过2个项目,大概知道每一层负责的任务,Dao负责的对接数据库,service是主要的业务逻辑实现,Controller负责接收请求。 -
redis 学过吗:
学过,小林Coding的redis部分看完了,也有总结学习笔记,但是还达不到特别熟悉的地步。 -
SpringBoot项目做过几个:
2个,但是都只是跟着视频敲,让自己设计一个系统有困难。spring源码没看过
4、MySQL看的哪些资料:
- sql 熟练吗:
一般,牛客上刷过30道左右Sql -
索引底层原理懂吗:
看过小林Coding的MySql篇。也总结了笔记,较熟悉。
5、计算机基础
* 计算机网络看什么资料:
直接帅地网站上背的八股,总结有一些笔记。bilibili湖科大的课看完了,也有总结笔记。
- 操作系统看什么资料:
王道考研课,感觉有点浅。 -
计算机组成原来看的什么资料:
没看过。学过微机原理,好像相似。
学习规划(2022.12.7)
课程大纲: 所有课程大纲入口
你这个的话,看你简历,其实履历挺不错的,秋招可以获得好些大厂的面试机会,在今年其实算非常不错了,基础也还好,不过根据你上面的基础 描述,是不足以应付大厂面试的,有些学的有点粗糙,所以接下来可以静下心来,花两三个月来系统学习下各方面的东西,这样春招去面试也会比较有底一些,而且这两三个月是可以学习非常多东西滴。
你需要花时间学的主要是 项目 + 八股文,算法可以少花点时间,差不多面试来时,再去刷一刷手感就好了,春招的笔试,权重会更低,你简历还行,也就是笔试对你的影响是更小的,所以算法这块,你只需要稳住面试中的算法就行。具体安排如下:
1、八股文:这个是你需要学习的重点,你需要重点学习的有:java集合源码+并发+JVM,redis+mysql+分布式基础+计算机网络,具体安排如下:
(1)java集合源码+并发+JVM:你Java集合源码看一下,就从 Java进阶 看一下集合那里的源码分析,重点是 hashmap+concurenthashmap,看完刷一下图解JVM学习指南 + Java并发。这几个看下,这块应该就差不多了,到时候学有余力在看一下《Java并发编程艺术》,就够的了。
(2)redis+mysql:这两个你应该熟悉一点,不过你刷一下这两个课程吧: Redis考什么+高频题汇总+MySQL原理剖析课程说明,就差不多了。
(3)计算机网络:你刷过我网站的,很多其实差不多了,不过可能深入考察细节容易顶不住,刷一下小林的图解网络,应该就差不多了,至于操作系统,这个一般问不深,看我网站的就可以了。
2、项目:你社区论坛或者电商支付选择一个,再次复习下吧,或者看看笔记,把项目运行起来,别嫌弃麻烦,项目现在越来越重要了,然后消息队列必须写上,不然可以问的少很多,你之后就按照我写的这个逻辑去复习:项目相关事项都总结在这里。
3、算法:这个优先级比较低,你争取把 算法高频题库 过一遍就可以了,面试基本问题不大。
学习顺序:说实话,没有太多顺序,你自己安排就行,你 也可以把你的安排弄好,跟我说和不合理啥的。
复习:然后过了一遍之后,还需要复习,按照 八股文题库(必看) 过一下就可以了,这个用来保证核心的问题你们是否掌握。
在刷的过程中,到时候在根据你的学习速度给你动态调整了,你先学,明年二月初也会有模拟面试,到时候可以参加啥的。然后记得来每周打卡学习进度哈,比如像他们这样:23与22届做的比较好的成员示例
有什么问题记得随时私聊帅地
课程大纲: 所有课程大纲入口
每周学习跟进
学习进度(2022.12.7)
单例模式:
通过static静态变量保证单例在类加载的时候直接创建,在全局获取单例的时候只会返回同一个实例而不需要重新创建。
注意将构造器私有化,避免外部通过new来创建新的实例。
饿汉式:在static初始化时直接new,可能会存在资源浪费的问题。
懒汉式:在第一次getInstance时实例化,后续的getInstance将返回同一个实例。
单纯的懒汉式可能在多线程情况下出现问题:在判断实例是否为空时,若两个线程同时判断为空,则会出现实例化两次的情况,需要加同步锁来实现线程安全。
public static LazySingleton getInstance(){
if(singleton == null){
synchronized (LazySingleton.class){
if(singleton == null){
singleton = new LazySingleton();
}
}
}
return singleton;
}
final基本使用:
1.修饰类:使类不被继承
2.修饰方法:使方法不被重写
3.修饰变量:使变量不被修改
Java异常:
为什么要有异常处理机制?
为了保证程序健壮性,避免一些编程错误或者偶然的外在因素导致的一般性问题使程序终止运行导致程序死掉。
异常分类:
ERROR:Java虚拟机无法解决的严重问题。如:JVM系统内部错误,资源耗尽。StackOverflowError,OOM;
Exception:可以针对性的对代码进行处理。包括运行时异常(空指针,数组越界,类型转换等),一般是指编程时的逻辑错误,程序员需要自己去避免,很普遍的现象,可以不用都try-catch;编译时异常(编程时编译器检查出来的异常,如:文件不存在,类未找到等),要求必须处理try-catch的异常,不然编译器不会运行该程序;
Java异常处理:
1.try-catch-finally
由程序员自定义处理,如果没有try-catch,默认是Throws
2.Throws
将异常丢给上一级处理,当一直向上丢到JVM时,JVM一般的处理方法就是打印异常信息,退出程序。
学习进度(2022.12.14)
总结:小林Coding 图解Redis。
黑马Java并发第一遍过完,下周做总结。
学习进度(2022.12.21)
黑马JVM重点内容看了一遍,还没完全消化。
黑马Java并发总结了一半。
下周开始接入Spring相关。