90.9%面试通过率的Java学习路线

看到很多牛油询问学习路线,这两天整理了一下。

简单总结就是技术学的要深,不能只背八股,源码必须看

面试技巧

1、个人觉得最重要的是表达能力,不管是自我介绍、还是项目/实习介绍,以及回答各种问题时,表达一定要有条理性,不要想到什么答什么,可以先和面试官说,"我先想一下/整理一下思路",然后再回答。因为面试通过,对方大概率是要和你做同事的,如果表达能力都不够,那么也没有人愿意和你一起工作。

2、对于自我介绍和项目/实习介绍,自己面试前需要整理出一套话术,简单背一下,这样在面试介绍时,能够有条理、顺畅的讲下来,对方也能够听懂你在说什么,对面试也算是一个加分项吧。

3、自我介绍:不要念简历,简单说一下学历背景、荣誉奖项、有哪些公司的实习即可(我自我介绍基本只有1分钟)

4、项目/实习介绍:美团四大名著《金字塔原理》,有兴趣的可以简单看一下。介绍项目/实习时,可以层层递进的讲,这样更容易使对方理解。其次,建议面试前总结出你项目/实习的难点,因为大部分面试官都会问你项目/实习中遇到过哪些困难,或者说你做的东西都哪些难点,不要让对方觉得你做的东西很简单,没含金量。

技术栈学习

1、Java基础:B站hsp,个人感觉是讲的最细的了,缺点就是时间太长,有时间的可以一点一点刷,我当时全刷完了(里边的项目其实可以不做,提升并不大)。https://www.bilibili.com/video/BV1fh411y7R8/

2、JavaWeb:尚硅谷新版JavaWeb,没有web基础的看着可能比较痛苦(我之前学过点javaweb以及ssm,没有web基础的可以先看尚硅谷老版javaweb,不过里边很多技术太老了),但是看完后,对于后续框架的学习帮助是很大的,中间手写ioc以及aop是精华,建议好好学。https://www.bilibili.com/video/BV1AS4y177xJ/

3、SSM:尚硅谷,黑马的我以前也看过,不过自己觉得尚硅谷这个挺好的。https://www.bilibili.com/video/BV1Ya411S7aT/

4、SpringBoot:尚硅谷雷神的教程,全程源码讲解,很硬核但是看着也很痛苦,如果能坚持看下来,对于SpringBoot的一定会有很深刻的理解(但是面试问的最多的还是自动装配的一些内容)https://www.bilibili.com/video/BV19K4y1L7MT/

5、RabbitMQ:学的黑马的,RabbitMQ其实可以不学,可以直接学kafka。https://www.bilibili.com/video/BV1mN4y1Z7t9/

6、kafka:推荐尚硅谷的,也是源码讲解,看完后对于kafka一定会有很深的理解,对面试帮助也挺大的,因为kafka我觉得是面试时比较重要的一个点。https://www.bilibili.com/video/BV1Gp421m7UN/

7、Redis:黑马的Redis教程封神。但是我看大部分人只看了前一半,其实我觉得后边对于数据结构、网络模型、以及redis源码的讲解是很重要的(面试时经常被问,redis在面试中也是很重要的,建议全部看完)https://www.bilibili.com/video/BV1cr4y1671t/

___________

看完以上部分,其实就可以开始做个项目找实习了,JUC、JVM这些,找日常实习时,背背八股就行了,如果有时间就继续学

8、SpringCloud:黑马SpringCloud,里边包括了微服务、Docker、MQ、ES等各种组件的内容,以及nacos、sentinel源码讲解(我全刷完了)。个人感觉微服务这一套,知道啥是微服务、会cap、分布式事务、限流的几种算法、学一个rpc框架就够了(feign在公司里根本没人用),不过有时间可以全看,没坏处。https://www.bilibili.com/video/BV1LQ4y127n4/

9、JUC:黑马的juc讲的也挺好的,强烈建议好好学学,里边针对Java的锁,讲的挺好的(面试时必问,每次讲锁我都能讲个10多分钟)。建议讲源码的部分好好看。https://www.bilibili.com/video/BV16J411h7Rd/

10、JVM:黑马JVM,个人感觉gc那部分讲的一般般,其他还行,不过没看过其他教程,感觉这个够了也,剩下就是自己面试以及平时学习总结的JVM知识了。https://www.bilibili.com/video/BV1Dz4y1A7FB/

11、Netty:也是黑马,不过netty如果简历不写,其实没人问,但是学Netty对自己帮助还是挺大的。比如epoll这种网络模型,问的还是挺多的。https://www.bilibili.com/video/BV1py4y1E7oA/

12、git、linux、docker这些简单学学会用就行

以上是我秋招前学习的全部内容,基本上所有内容,我都是一集不落的全刷了,自己都跟着视频敲了一遍代码,像redis集群搭建啥的也跟着做了一遍。个人认为最重要的是redis+kafka,建议好好学,如果java厂的话,juc的锁源码建议都看看,也很重要。

八股

1、小林coding:着重看计网、Mysql(从实习到秋招,我看了应该有6、7遍,计网东西确实多,但我秋招问计网的并不多)。OS我只看过2遍(问的不多,不过腾讯二面面了5小时,把操作系统从头问道尾,后悔没多看几遍)。Redis看了一遍(Redis自己基本都是通过黑马redis自己记得笔记复习)

2、JavaGuide:只看了Java部分,以及计网、OS(这两个个人感觉适合面试前突击复习,基本2小时就能看完)

3、自己平时学习时记的笔记,其实自己八股复习大部分都是基于自己笔记进行复习的,平时面试遇到的问题都会补充下来,自己感觉足够了

4、场景题,我没有刻意的去学,感觉更多的是实践吧,实习多了,很多场景题自然而然就会了,实习时,多看看组内业务架构,我很多都是参考这个回答的

5、其他的话,看了极客时间Mysql45讲(不过没看完),网上各种技术文章杂七杂八的

算法

自己之前刷过acwing基础+提高。代码随想录刷过一遍,感觉太简单了,适合0基础的看,有基础的刷这个没啥意义。力扣的话,hot100多刷几遍,面试确实出的比较多(不过感觉刷多了,很多题都不会做了,只会背),平时做做每日一题,打打周赛,保持手感即可。秋招笔试,基本上都能做70/100这样,简单的可以ak

#Java##学习路线#
全部评论
佬说的很在理,面试是限时的所以递进面试的技巧很重要,一定要引导着面试官往自己深挖的部分dfs地问,但凡他对你这方面的深度满意了他就会觉得你其他部分掌握的程度也一样,所以好的开场介绍在引导上尤其重要。没了引导就是bfs形式的面试,面试官天花乱坠不分深浅的问很难对应聘者达成一个好的印象
13 回复 分享
发布于 2024-11-21 05:19 湖北
太厉害了佬,想请问觉得kafka重点是因为项目写了相关亮点所以被问的比较多吗?
2 回复 分享
发布于 2024-11-01 22:45 四川
项目呢?
1 回复 分享
发布于 2024-11-06 00:28 上海
感谢分享!
1 回复 分享
发布于 2024-11-02 14:48 陕西
太牛了大佬,学完这些大概用了多久呢
1 回复 分享
发布于 2024-11-02 12:24 上海
cy
点赞 回复 分享
发布于 10-10 18:07 北京
mark
点赞 回复 分享
发布于 06-18 15:18 广东
感谢大佬分享
点赞 回复 分享
发布于 01-15 19:19 北京
m
点赞 回复 分享
发布于 2024-12-27 21:54 黑龙江
腾讯面5小时
点赞 回复 分享
发布于 2024-12-26 10:16 上海
点赞 回复 分享
发布于 2024-12-02 09:19 广东
m
点赞 回复 分享
发布于 2024-12-01 23:08 江苏
感谢分享,很受用
点赞 回复 分享
发布于 2024-11-19 21:39 四川
点赞 回复 分享
发布于 2024-11-19 10:08 四川
点赞 回复 分享
发布于 2024-11-18 20:09 江苏
感谢分享
点赞 回复 分享
发布于 2024-11-17 18:18 安徽
实习都是crud怎么搞
点赞 回复 分享
发布于 2024-11-09 15:40 上海
请问美团开了sp吗
点赞 回复 分享
发布于 2024-11-06 01:06 吉林
佬实习做的感觉没啥技术含量咋办
点赞 回复 分享
发布于 2024-11-02 20:17 浙江
佬这么多offer,有决定最后去哪了吗?
点赞 回复 分享
发布于 2024-11-01 23:40 陕西

相关推荐

11-12 08:07
已编辑
门头沟学院 Java
第一次面试这种中大厂,我个人感觉有点压力面(也可能是鼠鼠太菜了),被狠狠拷打力1、开场直接自我介绍2、我看你项目利用threadlocal解决kryo序列化器的线程安全,你是怎么解决的?被指出我的描述错误,实际上是解决了kryo上下文使用的一个问题,并没有解决线程安全,我跟面试官说用threadlocal不就保证一个线程使用一个独立kryo序列化器了吗?他说这不还是没有解决kryo本身的线程安全问题么。我也不想说什么了3、api和spi的区别是什么?回答的有点乱,之前没有系统去理解他们的区别4、jdk动态代理里你是怎么知道要代理哪个服务呢?你说你用服务发现从etcd得到服务列表,那你有用到哪些负载均衡器?有没有用容错和熔断限流?具体是哪些?那你动态代理里需要配置什么吗?回答有点乱,有点没清楚面试官想问配置的是什么东西5、你说你用rabbitmq解决订单业务解耦,我没太懂是解耦什么?我说是解耦订单创建业务,结果被拷打。为什么你要解耦订单创建呢?我说为了提高用户响应速度,提高服务体验。结果说你知道哪些平台是异步创建订单的?鼠鼠也不知道啊,面试官告诉我,主流平台没有异步订单创建的,因为如果用户发现订单列表没有自己刚刚买的订单怎么办呢?被"夸"我这个是奇思妙想😭😭😭,我之前问ai大人也没告诉过我这个有问题啊6、你说使用Redis➕caffeine实现二级缓存,实现缓存降级处理,怎么实现的?你确定能实现缓存降级吗,那如果Redis宕机,你caffeine未命中的请求你是怎么处理的?打到数据库的话,那怎么可以解决缓存降级呢?鼠鼠麻了,ai大人之前还是没指出我的问题,这里我心态其实有点炸了。可能面试看我有点窘迫,就说问点八股吧。我以为八股总不能这么难堪了吧,还是太年轻了。7、你说说jvm的垃圾回收器吧,你配置过哪些?(鼠鼠完全没有配置jvm的经验)说了默认是使用g1,然后把常见的垃圾回收器回答了。他说:cms有点老了,你可能不太用过,那你说说cms为什么会被替代吧,相比于g1来说?我不知道呢,我就说cms初衷是为了并发回收减少STW的时间,但是总体时间更长,因此后面被替代了。但是可能我说的有点乱,面试官有点没太理解,然后跟我说了一下g1的好处,并且让我多去了解一下8、面试官可能看我很紧张回答很乱,终于问了个简单的了。那你说说缓存三大问题吧,都是怎么解决的呢?鼠鼠这种基础八股可熟啊,直接按流程分类说完了,这次面试官终于没有追问了,完全胜利✌🏻9、那你说说缓存一致性怎么保证吧?回答了最终一致性使用延迟双删,强一致用分布式锁➕事务。那如果事务的缓存重建出现了异常怎么办?我说可以先重试多次,如果任然不行就抛出异常让事务回滚。结果面试官问,如果数据库没写成功,缓存写成功怎么处理呢,你总不能让缓存回滚吧?鼠鼠又有点懵了,支支吾吾说了那就规定顺序,必须数据库写成功之后才能进行写缓存,不知道对不对。那删除缓存你是怎么做的?我说使用删除语句。面试官问还有吗?我没懂什么意思,结果面试官说让我去了解一下Binlog的作用。我还没了解过Binlog这玩意在这有什么作用啊。那你说说延迟双删是怎么做的呢?那为什么要先操作数据库在删缓存呢?这里面试官其实想问我旁路缓存,但是这个有点忘了啊😭😭,总之一顿乱答10、那你讲讲mvcc吧。我简单说了什么redo log、版本链、读视图,事务可见版本4个规则,说实话有点忘了。面试官可能也看我了解不多也没追问了。11、双亲委派机制了解吗?那怎么打破呢?这个常规八股我直接朗诵了。行,那打破之后这个可以加载多次吗?我又懵了,我不确定的回答:应该只有当这个类加载失败的时候jvm会进行重新加载吧,但是如果正常加载的话应该不能重复加载吧。面试官直接说:是可以重复加载,只要在loadclass进行重写就行。这个我真不知道啊12、手撕算法环节:给你一个二叉树,返回这个二叉树的反向层序遍历。我简单想了一分钟,说先将正序层序遍历结果保存到数组a,再保存每一层节点数到数组len,再反向遍历len,从a中读取正确答案。因为没有电脑所以前十多分钟就是再讲思路,后面用了朋友的电脑在牛客上写,写了几分钟还没写完,由于时间不太够了,面试官说就这样吧,大概能理解我的思路了,但是说细节不是很完善,可以用更简单的办法实现层序遍历。我力扣第一遍还没过完,对这题不是很有印象,但是感觉我的思路应该没有问题,编码时间不够细节也不可能一次完善吧反问环节:13、您对我本次面试的表现给点建议和意见吧。就是让我把简历上刚刚提出来的问题好好改一下,也没说别的。然后就是问了公司的业务和技术栈方面,没了。总结:这次真的指出了我很多问题,无论是八股还是项目,感觉面试官人挺好,至少帮我纠错,还告诉我正确解决思路,虽然感觉对我来说全程压力面,但是我还是学到和了解到很多,就是被刷我还是要很感谢面试官啊。这一周把这次问题去好好处理巩固一下吧,这次实习面试强度好大啊
查看25道真题和解析
点赞 评论 收藏
分享
评论
124
730
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务