作者:小傅哥
博客:bugstack.cn
沉淀、分享、成长,让自己和他人都能有所收获!😄
注意:小傅哥的博客,已经形成了一个技术矩阵。不是一个单独的项目教程,而是成体系化的学习成长。
说实话写了这么多各类型的项目,确实花费了我好多的精力,在这个过程也耐得住了不少的诱惑。我没有去蹭各类热点和软文、也没有追逐营销和广告,而是花费了2~3年的时间,打磨这些课程项目。形成业务、技术、组件的多种类型项目组合,对比不同类型架构和思维的落地,综合锻炼各项技术栈的实践使用。只要你能完整的跟着学习下来,就能开阔自己的技术视野和积累不错的技术厚度。
那么,这些项目对于处在不同阶段的伙伴;实习、校招、社招,要从哪个开始学呢?接下来小傅哥就重点的介绍下项目的重点和学习的路线。
一、项目视图
接下来小傅哥把星球已有的项目类课程平铺展开,对比项目的难度
、介绍
、系统的架构
以及运用到的技术栈
。这些内容的对比,对于需要学习项目的伙伴非常重要,可以针对性的选择有需要的课程内容补充自己的技术欠缺。
前四个,为业务类型的项目。后3个位技术类型的项目。
业务类项目,主要解决场景化的业务流程为主,运用架构、设计原则、设计模式,开发出便于迭代和易于维护的工程代码。现在越来越多的大厂开始重视工程质量,因为草莽时代的开发之追求快速上线,但存量市场的竞争,会更要求体验、稳定、可靠、成本。所以不能一个需求的开发就一堆的问题需要处理。
而一般技术类型的都以开发框架、组件、插件为主,用于解决公司项目组中同类共性功能的凝练,减少重复建设问题。一般会有人说不要重复造轮子,但往往面试时又会提到你是否能具备这样的深度组件设计开发落地能力。所以学习的过程是什么?我认为是多方面场景的锻炼,综合提升自身综合实力为主。让自己具备竞争力才是王道!
二、学习路线
小傅哥深知,所处不通阶段的伙伴,对于学习的诉求也是不一样的。着急找实习的
、稳扎卷春招的
、拓展肝深度的
,大家都有着自己当前阶段的目标。所以小傅哥基于大家的诉求来划分出不同的学习路线,让各位有个选择的参考。
- 路线A:简单一些,能较快周期完成,偏速成类
- 路线B:复杂一些,要较长周期完成,竞争力强
整个学习的时间周期消耗,是小傅哥平局下来偏基础较弱的学习耗时。如果你基础积累较多,那么完成的更快。接下来,重点在讲下,实习、校招、社招,学习的路线说明。
1. 实习生
在实习生路线中,提供了A、B两条路线;
- A路线,打一个IM、Netty、OpenAi综合技术使用。如果IM部分不手动编码UI部分,预计可2周完成。对接OpenAi预计需要2-3天左右。整体耗时,3~5周时间。
- B路线,稳扎稳打路线,DDD架构、分布式技术栈、多场景设计实现的项目。同时配合一个SpringBoot Starter组件,非常亮眼【AOP切面使用,对实习生来说很好】。整体耗时,4~7周时间,适合早点加入星球就开始学习的伙伴。
2. 校招生
在校招生路线中,提供了A、B两条路线;
与简单一些的实习面试相比,应届校招的竞争会更强一些。所以两条路线都有分布式技术栈的学习,也建议简历中有2个项目再加一个你的实习项目,来应对校招。如果你没有实习过,那么最好完成2个项目。
- A路线,综合分布式技术栈的双场景实战,一个C端的运营类场景,另外一个是结合OpenAi做;鉴权登录、下单、支付(微信)、充值、消耗。这2个项目会让你面试的时候,非常有场景可以讲。
- B路线,难度较大,除了一个业务项目,还增加了一个纯技术类项目。API网关。这个项目的难度是5星,非常有挑战。你会吸收到很多高级的编码和高级架构的设计思路。比较适合之前有不错的技术积累的伙伴选择。
3. 社招生
到社招开始,远不是实习、校招时,有那么多大门敞开。虽然都说校招卷,但也有个卷的途径。
社招的卷是无形的,每错过一个年龄段的职业生涯成长,就需要很多时间弥补。尤其是我们所在行业的这趟列车,所在的年龄达不到对应的岗位,就有可能会被动下车。虽然领导可能会给你1次、2次、3次的晋升机会,但如果都错过后面的路就会比较难走了。
所以,破解之法是广度&深度的积累自己的综合实力,让自己技术所长,远超公司所需。所有的学习都不是为了公司所学,都是为了自己在各方面的积累。这样才有更多的跳槽、涨薪、议价机会。
那么,到这就不用纠结于学哪个,从哪个开始。陆续的都吸收给自己吧!
四、目标路径
不同诉求可参考
- 为了面试:Java面经手册(八股)、Lottery 分布式抽奖(项目)、SpringBoot Starter 中间件设计和开发(拉伸技术)、手写Spring/手写Mybatis(2选1)
- 夯实能力:重学Java设计模式、Lottery 分布式抽奖、手写Spring、手写Mybatis
- 拉伸技术:字节码、IDEA Plugin 开发手册、SpringBoot Starter、API网关
- 网络编程:Netty 4.x 小册、IM(Netty 4.x + JavaFx)
- 应届小白:重学Java设计模式、Java面经手册、手写Spring/手写Mybatis(2选1)、Lottery 分布式抽奖、SpringBoot Starter 中间件设计和开发,之后学习拉伸技术、网络编程
- 创新学习 :IDEA Plugin 插件开发、ChatGPT 微服务应用体系 ------
星球项目较多,也可以自行组合。如 IM + ChatGPT,开发角色智能AI。
五、项目组合
建议的项目组合是;a【业务】Lottery、IM + b【技术】API 网关 + c【组件】SpringBoot Starter + d【创新】ChatGPT 项目 + e【开源】IDEA Plugin 插件发布到 IDEA 插件市场。
css
1. 基础组合;a、c
2. 中级组合;a、c、d/e
3. 高级组合;a、b、e
4. 超级组合;a、b、c、e【并有一定规模的下载量,发布后可以分享到星球求下载/Star】