前言
“大专人大专魂,大专都是人上人”
当我看到这句话突然就在各个平台火了之后,又开始涌现出了一批又一批抨击专科的网友。
其中有一条评论我记忆犹新:大专生努力做什么都行,就是别做程序员了,别祸害IT届拉低档次了。看完这条评论时我实在耐不住心情促使我敲出这篇文章。作为一个专科毕业成为程序员的人,我发现大家对专科生当程序员这件事恶意满满,不少人说大专能当程序员?大专能进大厂?大专出身,做Java程序员真的没有春天吗?
1、Java基础
Java基础务必要有一个非常牢固的根基,尤其是对于JVM和并发编程的掌握情况**(属于进阶内容,但也是Java最为重要的基础内容)**,不论是面试还是工作,基础不好,写不出高质量、漂亮的代码;面试估计刚开始就会被面试官给拍死。
基础不好的话,《Java编程思想》和《Java核心技术》这两本书一定要好好看一下,同时再搭配学习笔记等资料,能让你更好的打稳基础!同时,大家可以对照下面这份学习路线梳理一下自己的知识体系,需要获取高清完整版Java学习路线的话,可以在文末免费领取
Java架构师筑基必备技能:
Java基础学习笔记:
2、Spring
目前在Java EE开发中,Spring已经成为和Java核心库一样的基础设施,所以说如果想成为一个合格的Java程序员,Spring肯定绕不开。另一方面,如果掌握了Spring体系,Java基本上就算入门了,就有能力进行一些实用级的开发了。
但Spring本身也是日渐复杂,衍生项目越来越多,但最最核心的概念依旧是IOC和AOP,掌握了这两个概念,再把Spring MVC学会,再学习其他的衍生项目就会平滑很多。 同时,因为Spring本身就应用了许多优雅的设计理念,所以学习Spring的过程,也是加强Java基础知识学习的过程。因此等你掌握了Spring,原来很多你理解不透彻的Java特性,此时就会恍然大悟,包括接口、抽象类等。
要学透Spring,终极的方法还是阅读源码(我当时就是这么干的),待把Spring的核心源码通读了,人就真的自由了(所谓无真相不自由),不仅是对Spring,而是对整个Java体系。以后再遇到其他框架,大概一眼就能看出其中的脉络,所谓到了“看山不是山”的境界。但这都是后话,可以作为以后你努力的方向。
但是Spring对初学者不算简单,因此最好能有个好老师带一下,市场面有关Spring的书籍我个人认为没有讲的特别好的,《Spring源码深度解析》这本书大家可以看一下,就是有点涩,但是对Spring的设计理念讲的尤其透彻。
Spring学习路线:
Spring学习笔记:
Spring源码解析
Spring Cloud Alibaba
Spring Boot核心笔记
3.其他知识
Spring是Java编程的基础设施,但真要进入到实际项目的开发,还有些东西绕不过,包括 MySql,Mybatis,Redis等,但如果你经过Spring的洗礼,这些东西相对就简单多了,以我的经验,1-2个月的时间足够了。同样的,大家可以按照这上面的内容来梳理,结合这些笔记来学习!
4、实践
学习Java,光学不练肯定是不行的。下面这些都是值得推荐的 Java 练手项目,这些推荐的项目几乎都和 Spring Boot 有关,并且都是目前最新的开源项目,使用的技术也比较时代化。
商场系统:
mall :mall 项目是一套电商系统,包括前台商城系统及后台管理系统,基于 SpringBoot+MyBatis 实现。
mall-swarm : mall-swarm 是一套微服务商城系统,采用了 Spring Cloud Greenwich、Spring Boot 2、MyBatis、Docker、Elasticsearch 等核心技术,同时提供了基于 Vue 的管理后台方便快速搭建系统。
onemall :mall 商城,基于微服务的思想,构建在 B2C 电商场景下的项目实战。核心技术栈,是 Spring Boot + Dubbo 。未来,会重构成 Spring Cloud Alibaba 。
litemall : 又一个小商城。litemall = Spring Boot 后端 + Vue 管理员前端 + 微信小程序用户前端 + Vue 用户移动端。
xmall :基于SOA架构的分布式电商购物商城 前后端分离 前台商城:Vue全家桶 后台管理系统:Spring/Dubbo/SSM/Elasticsearch/Redis/MySQL/ActiveMQ/Shiro/Zookeeper等
newbee-mall :newbee-mall 项目(新蜂商城)是一套电商系统,包括 newbee-mall 商城系统及 newbee-mall-admin 商城后台管理系统,基于 Spring Boot 2.X 及相关技术栈开发。
高级进阶(小米商城系统、美团营销系统、Spring Cloud Alibaba美团商户系统)
最后
最后,强调几点:
- 1. 一定要谨慎对待写在简历上的东西,一定要对简历上的东西非常熟悉。因为一般情况下,面试官都是会根据你的简历来问的; 能有一个上得了台面的项目也非常重要,这很可能是面试官会大量发问的地方,所以在面试之前好好回顾一下自己所做的项目;
- 2. 和面试官聊基础知识比如设计模式的使用、多线程的使用等等,可以结合具体的项目场景或者是自己在平时是如何使用的;
- 3. 注意自己开源的Github项目,面试官可能会挖你的Github项目提问;
我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!
以上面试专题的答小编案整理成面试文档了,文档里有答案详解,以及其他一些大厂面试题目。
如何获取整理好的Java面试专题资料?
面试答案
mN1R2dB)**
面试答案
[外链图片转存中…(img-dGdCeukm-1620984686457)]
[外链图片转存中…(img-ZhfQafjy-1620984686458)]