在找工作之前,大家都要做一些准备工作,java开发也是如此
掌握核心JavaSE
首先,从核心Java(JavaSE)开始学习,尽可能地掌握它。你应该了解和掌握一些基本概念,如循环,数组,运算符等等。此外,JavaSE有一系列通用API,比如java.lang,http://java.io,java.math等等,你至少应该对它们有基本的了解。你也应该开始学习OOP的概念,因为它在Java中无人不知。
不断练习Java
无论你在核心Java中学习什么知识和技能,你需要不断地练习它,直到你可以编写Java代码而不产生任何基本错误。同时,你应该明白在理论上为一个问题提供解决方案并不难,挑战在于,在你了解这个语言的局限后,如何在实践中以最佳设计实践来实现这个解决方案。因此,尽可能多地编写代码和练习Java,并且尝试将你所学到的任何知识和技能应用到一些小项目。
学习JavaEE
在你完成核心Java学习之后,你应该开始学习JavaEE(Java企业版),它也称为高级Java。当你开始
使用Servlets和JSP开发项目
无论你在JavaEE中学习什么,你需要做的是将它与前端技术(如HTML、CSS、JavaScript)结合起来,并尝试做一些关于特定主题的小项目,因为它会使你的思维更加敏锐。另外,你至少要开发两个项目,一个使用Servlet,另一个使用JSP,这一点很重要。这是因为如果你没有使用它们开发项目,你就永远无法确定你在这门编程语言中掌握了多少。
学习Hibernate和Spring框架
当你完成JavaSE和JavaEE学习后,你就必须开始学习一些
大家在找java相关工作的时候,都会有面试环节,会提问一些技术相关问题
1、熟悉SSM架构,至少在项目里做过。
这个的说法是,介绍项目时,用一个业务流程来说spring mvc如何做的。
2、知道Spring MVC中的细节,比如@Autowired的用法,如何把url映射到Controller上,ModelAndView对象返回的方式等。
3、最好结合项目的用法,说下你是怎么用AOP,拦截器的,比如说可以通过拦截器拦截非法请求,怎么用 AOP输出日志等。
4、关于ORM方面,不限用过哪种,但得知道一对一,一多多,多对多等的用法,以及cascade和inverse的用法。
5、最好知道声明式事务的做法。
如果你要应聘高级开发,那在上述基础上,最好了解如下的知识点:
Spring Bean的周期
最好能通过阅读源代码,说下IOC,AOP以及Spring MVC的工作流程
最好能结合反射,说下IOC等的实现原理
Spring Boot和Spring Cloud的一些知识点
6、数据库方面需要准备的点
不少候选人会看很多SQL的技巧,比如select该怎么写,insert又该怎么写,但仅限于此,不会再准备其它的。
这样就很吃亏,因为面试官会认为,哪怕是初级开发,SQL语句也该会写,所以这块不会多问,而会问如下方面的问题。
(1)索引怎么建的,怎么用的?比如我建好了一个索引,在where 语句里写 name like '123%'会不会走索引,怎么情况下不该建索引,哪些语句不会走索引。
(2)除了索引之外,你有过哪些SQL优化方面的经验,比如分库分表,或通过执行计划查看SQL的优化点。这最好是能结合你做的项目实际来讲。