一文讲清后端学完哪些东西就可以找实习了

学习路线:

https://www.nowcoder.com/discuss/711506045692137472?sourceSSR=users

我们以我之前写的学习路线作为标准。需要注意的是:我这里聊的是最低要求

什么时候能找实习?

从学习路线上看:

Java基础+少量JUC+少量JVM+Spring Boot + 两个后端项目 +MySQL+Redis+消息队列+少量的计网知识

微服务不重要,微服务不重要。

从技术要求上看:

Java基础:

基本语法能玩明白,写代码不至于磕磕绊绊的。一些基本的八股要能背出来,比如HashMap这种烂大街的集合源码要看过。重点主要是线程池这一块的知识,线程池的运行流程,核心参数等等知识要知道,以及并发相关的知识。

JUC:

看过几个常用的工具类就行。比如ReentrantLock的源码。面试的时候能扯一些源码级别的内容就行。

JVM:

能把双亲委派机制和JVM内存模型 背顺溜就行了。

Spring Boot:

能把AOPIOC背出来就行了。还有就是三级缓存,自动配置这些特性要知道。会用这个框架是基本要求。

两个后端项目:

两个项目能多熟悉就多熟悉。最起码要能清晰的阐明每一个功能点的设计以及边缘情况的解决方案。

比如你用了Redis,那么Redis对应的缓存穿透,击穿和雪崩你就要清楚。

用了MQ,那么对应的消息丢失和堆积以及重复消费的解决方案你就要清楚。

在这里你要明白一个点:除非是真实的开源/商业项目,否则面试官不会对你的项目本身多感兴趣的。如果你没有实习的话,那么你的项目有且仅有一个作用:方便面试官基于你的项目切入相关的八股内容。

MySQL:

常见的SQL语句要能写顺溜,常用的ORM框架Mybatis的XML层要会写。

<select id="selectUsers" parameterType="map" resultType="User">
  SELECT * FROM users
  <where>
    <if test="name != null and name != ''">
      AND name = #{name}
    </if>
    <if test="age != null">
      AND age = #{age}
    </if>
    <!-- 默认过滤条件 -->
    <if test="1 == 2">
      AND 1 = 2
    </if>
  </where>
</select>

而从面试的角度讲,MySQL的索引,事务(脏读,幻读,不可重复读以及对应的隔离界别,MVCC),三个日志这块的相关内容必须清楚。

能在网上学一些SQL调优的经验也是加分项。

Redis:

常见的数据结构要清楚,大概知道对应的应用场景。知道这些数据结构的底层数据结构是加分项。

常见的线上事故:击穿,穿透和雪崩要知道对应的解决方案。Redis的两个日志AOF和RDB要清楚。最好还可以知道Redis和MySQL的一致性问题。

消息队列:

常见的消息队列的区别要知道:Kafka,RocketMQ,RabbitMQ。要有一个自己主要学习的消息队列中间件。

对于这个消息中间件的基础概念要知道,以Kafka举例,你最起码要知道Topic,Broker,Partation是什么。

并且消息队列的常见问题:消息幂等性,消息丢失和消费堆积要知道大致的解决方案。不追求绝对的可用性,只追求你面试的时候能大致扯出来一些东西。

计网知识:

TCP的三次握手,四次挥手要背的顺溜。TCP和UDP的区别,应用场景要知道。

HTTP和HTTPS的区别要知道。HTTP从1.0到3.0的版本更新所带来的新特性要知道。八股典中典《一条URL从输入到浏览器到网页显示界面都发生了什么》要背的足够顺溜。

计网这一部分的话,小厂问的少,大厂问的多。

杂乱知识:

简历上面涉及到的所有知识能多熟悉就多熟悉。

闲聊内容:

1.思考自己的竞争力

当你搞完这些的时候,从代码能力的角度出发,你大致已经满足条件了。说白了这些东西要搞得话,三四个月就搞完了。

那你觉得你相比较于其他人来讲,你的竞争力是什么?

就好比如果你是老板,现在在你面前摆着两份技术差不多的简历。一个是双非,一个是985。你会约面哪一个?

我也遇到过很多大一大二的学弟学妹对自己已经学到了微服务二沾沾自喜。但是你切记:就业市场上从来不缺比你学得快的人。面试官在面试的时候可不会在意你是大几的。

所以学的进度快不是优势,一定要记住这一点!学的进度快不是优势。学的进度快只是能给你更多的时间去培养自己的优势而已。

所以大家在学校的时候,不要认为按照路线学就好了。这样是拉不开差距的。大家如果都跟流水线上的产品一样同质化,那最终必将进入拼学历的环境。

所以除了单纯的技术之外,你还需要一些其他的证据来证明自己的核心竞争力。

可以是开源项目,也可以是真实的商业项目,也可以是自己的博客。

2.大胆投递

社会是一场开放游戏。只要你愿意,所有人都是你的NPC。

所以大胆的投递就完事了。投递了又不一定过,过了又不一定去。面试对于你来讲其实就相当于免费找一个几年工作经验的面试官帮你看简历的问题。

所以不要害怕面试。面试的本质是交流。自己面试越多,复盘越仔细。你后面就会越来越熟悉面试的流程。

不要担心面试被挂。反正你也不会影分身。所以对于你来讲只需要在面试这件事上赢一次就好了。前面所有的失败只要做好了复盘,就会变成你最后成功的养料。

最后:

文章来自我的学习笔记《小牛八股》。目前正在完善中,估计今年八九月份会写完。提前放出来一些文章引引流。

关注我,带你了解更多代码之外的生存之道。欢迎订阅我的专栏(目前免费),后续也会持续更新。如果这篇文章帮到了你的话,就送我朵花花吧。

#牛客激励计划##Java##简历中的项目经历要怎么写##找工作,行业重要还是岗位重要?##牛客创作赏金赛#
代码之外的生存之道 文章被收录于专栏

从双非到美团实习,再到字节跳动。 一路踩过多少坑无需多言。我的目标是把我曾经踩过的坑分享给大家。 我们的生活不止有代码。代码之外,亦是更加广阔的天空

全部评论
你们学java的会的真多 我们写go的只会mysql 和redis
6 回复 分享
发布于 05-05 04:03 浙江
mark
1 回复 分享
发布于 05-13 13:52 吉林
m
点赞 回复 分享
发布于 05-19 00:31 广东
佬目前简历就一个黑马点评,和一个慕课的ai项目,能开始投实习吗,学习路线都差不多了,就是八股算法还得多准备。,大厂是不是没机会了,中小厂可以吗
1 回复 分享
发布于 05-13 11:28 重庆
只有springboot没cloud项目真的暑假能实习吗,来不及学了
点赞 回复 分享
发布于 05-18 18:31 江西
我想问一下 感觉我只会刷利口 剩下项目 还有八股这些都是背的 实习的时侯 会不会觉得我是菜狗 把我开了呀
1 回复 分享
发布于 05-10 03:16 江苏
mark
点赞 回复 分享
发布于 05-17 01:10 四川
微服务不重要的话,两个项目要有什么技术特点好写简历上
1 回复 分享
发布于 05-06 17:19 广东
mark
点赞 回复 分享
发布于 05-16 23:23 四川
juc和jvm看什么教程好
1 回复 分享
发布于 05-05 16:59 浙江
mark
点赞 回复 分享
发布于 05-16 17:37 河北
想问下你们是本科就业还是考研,看了很多bg都是92的😭
1 回复 分享
发布于 05-05 15:26 江西
牛肉哥可以看看我的规划吗
点赞 回复 分享
发布于 05-14 11:22 安徽
mark
点赞 回复 分享
发布于 05-13 14:16 湖南
mark
点赞 回复 分享
发布于 05-12 13:23 辽宁
mark收藏
点赞 回复 分享
发布于 05-08 22:16 山东
太强了佬,学到了
点赞 回复 分享
发布于 05-04 00:50 四川
牛肉哥,五月暑期还会有hc吗
点赞 回复 分享
发布于 05-03 20:49 山东
这个流水线的说法真的狠赞同
点赞 回复 分享
发布于 05-03 11:41 山东
牛肉哥来efc了吗 我是你粉丝
点赞 回复 分享
发布于 05-03 11:35 浙江

相关推荐

04-24 18:26
门头沟学院 Java
King987:这个实习项目确实有一是内容不多,二是内容有些假,看见了你说是校企合作项目,但是别人一看见你的简历,第一印象就是包装的,因为不可能让应届生做登录功能呀,实习经历这里是最重要的,建议自己包装点厉害点的功能,包装不好可以找我
点赞 评论 收藏
分享
05-14 15:10
已编辑
门头沟学院 Java
一面:1.&nbsp;SpingBoot的自动装配2.&nbsp;多线程了解吗,说一下线程池的核心参数和工作原理3.&nbsp;项目相关,大概5-6个问题4.&nbsp;sql题:student表和score表,找平均分大于85的学生5.&nbsp;栈和队列的区别6.&nbsp;手撕:用两个栈实现一个队列(说我代码习惯挺好的)7.&nbsp;B+树了解吗8.&nbsp;最左匹配原则是什么9.&nbsp;Redis分布式锁怎么实现10.&nbsp;watchdog机制了解吗,用过还是看过11.&nbsp;手撕:链表版两数相加&nbsp;lc2二面:1.&nbsp;分享一个项目中解决问题的思路过程2.&nbsp;若干项目问题3.&nbsp;sql题:scores(id,student_id,course_id,&nbsp;score)查询每门课成绩都在60分以上的同学4.&nbsp;根据最左匹配原则判断索引&nbsp;index&nbsp;i(a,b),8条(其中有一条模糊匹配判断错了)5.&nbsp;为什么模糊匹配不走索引?(原理,B+树特点)6.&nbsp;为什么要遵循最左匹配原则?7.&nbsp;两个sql语句,一个查询条件(ab),一个查询条件(abc),说说区别,在Mysql的执行过程中8.&nbsp;给了一个调用sum(a,b)&nbsp;{&nbsp;return&nbsp;a+b;&nbsp;}的代码,从计算机/底层的角度,CPU的角度描述一下如何完成这个函数调用过程9.&nbsp;智力题:64枚硬币,每次可以取1,2,3,4枚,不可以不取,取到最后一枚的赢,你怎么保证你会赢(✅)&nbsp;&nbsp;1.&nbsp;如果取到最后一枚的输呢,怎么修改策略(✅)&nbsp;&nbsp;2.&nbsp;如果不允许双方取3枚,怎么修改策略(引导后✅)10.&nbsp;volatile字段的作用11.&nbsp;说一下ClassLoader怎么加载Java程序的,机制(说到双亲委派被打断)12.&nbsp;手撕:重排链表&nbsp;LeetCode143,限制了时间/空间复杂度&nbsp;O(n)/O(1)timeline:投递:3.30笔试:4.5一面:4.21二面:4.23oc:4.27offer:4.29
ming_ri:mark
点赞 评论 收藏
分享
评论
161
706
分享

创作者周榜

更多
牛客网
牛客企业服务