1年多经验的 Java 开发,该如何提升自己比较好?

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6


中级Java开发岗位职责:

负责研发公司应用软件的模块设计、开发和交付;
负责编码、单元测试;
按照功能组件的详细设计,对其他软件工程师的代码进行审核;
参与新知识的学习和培训;
参与业务相关的需求评审,编写技术文档设计;

中级Java开发的岗位要求:

精通weblogic、jboss tomcat、websphere等应用服务器,
精通linux\windows系统上的安装部署、配置及性能调优;
掌握EJB、servlet、JSP等技术,
掌握Spring MVC、dubbo、Spring boot、spring cloud、hibernate、MyBatis等开源框架;
掌握分布式开发经技术;
熟练掌握HTML、CSS、Javascript等WEB页面设计与编程,熟悉AJAX;
精通数据库技术,至少精通SQLServer/DB2/Oracle/MySql中两种数据库;
精通OOD、OOP及软件架构设计模式,
至少熟悉UML及Visio/Rational Rose/PowerDesigner中一种设计工具;
熟悉软件工程思想与软件设计开发流程;
有Redis和MongoDB、Memcached应用经验优先;
良好的沟通协调能力,具备良好的学习能力和潜力;

以上内容为大家整理的企业招聘需求,那么根据需求查漏补缺就可以了。其实题主问题描述当中自己也非常清楚自己的问题了,如果还不知道怎么提升,完全属于行动力不足。有一句严重警告给大家,有的时候你知道应该学什么不去学的时候,三年后你很难在开发岗位立足。身为开发需要不断地自学…

一、从几点开始提升

1.1 Java基础

这个阶段要夯实Java基础了,尽管Java新技术层出不穷,但是各个企业的侧重点不同,只有这真正夯实Java基础的同学们才能快速掌握新的技术。需要在核心算法、面向对象应用、数据结构和集合框架、反射、输入输出、多线程、异常处理等方面进行深入学习。

1,2 Linux操作系统

Linux是现在广泛应用的服务器操作系统,Java工程师需要对Linux高级命令集脚本编程,有所了解。

1.3 深入学习数据库技术

互联网公司离不开数据库技术,任何一个中大型的应用,数据库设计好坏,数据库访问的效率直接影响了项目的成本,必须掌握的两个主流数据库:MySQL、Oracle;除了能熟练应用数据库体系结构和SQL语句之外,还要掌握数据库设计、SQL语句优化方面。

1.4 企业级框架

Java组件和框架,所有Java程序员都应该了解Java框架

另外在开发、测试,部署实际项目适需要有特定的软件环境,但是很多技术人员不太重视。

二、如何提升自己

2.1 玩转GitHub

学习优秀的开源项目,关注并且了解最新的行业动态。所以各位一定要学如何玩转GitHub,我已经写过多次教程,大家有需要的查看:

如何开始在 github 上学习东西?
891 赞同 · 10 评论回答

2.2 提升顺序

各位小伙伴们,Java本身应该学的内容,如标题一中的全部内容,你都没学明白,就不要追求什么微服务,把基础先学好比较重要。如果你Github不会,那么你就开始学,如果以上你觉得都差不多了,在去学微服务分布式。

编程强化课程:设计模式|数据结构与算法|JVM高级^优化|并发编程|网络编程强化

2.3 项目经验

我们知道面试的时候必问问题就是“最近的项目,项目的复杂问题,你是如何解决的?”明确大家的项目是主要做什么的,有什么功能。明确项目的整体架构,不要总看着自己的一亩三分地。能够清楚地说出从哪里调用的,使用的是什么方式的调用,清楚的知道自己的模块咋整个项目中的位置和应用,清楚自己的模块用了什么技术,哪里有优化空间。

2.4 差距在哪?

今天面试我问你static关键字有哪些作用,如果你答出static修饰变量、修饰方法我会认为你合格,答出静态块,我会认为你不错,答出静态内部类我会认为你很好,答出静态导包我会对你很满意,因为能看出你非常热衷研究技术。

掌握集合和实现类的底层原理。

设计模式也是非常重要的,23种设计模式,能够说出来常用的就可以了。比如面试官问“你的项目中用到了哪些设计模式?如何使用的?常用的设计模式的优缺点?是否可以画出常用模式的UML图?”

这类问题要答的上来。

先要拿高薪JDK源码一定要读,重点给你们画出来了:

(1)List、Map、Set实现类的源代码

(2)ReentrantLock、AQS的源代码

(3)AtomicInteger的实现原理,主要能说清楚CAS机制并且AtomicInteger是如何利用CAS机制实现的

(4)线程池的实现原理

(5)Object类中的方法以及每个方法的作用

2.5 数据结构和算法分析:

很多人说在工作中用不到,但数组、链表是基础,栈和队列深入一些但也不难,树挺重要的,比较重要的树AVL树、红黑树,可以不了解它们的具体实现,但是要知道什么是二叉查找树、什么是平衡树,AVL树和红黑树的区别。

2.6 Web方面的问题:

web.xml里面的内容是重点,Filter、Servlet、Listener,不说对它们的实现原理一清二楚吧,至少能对它们的使用知根知底。另外,一些细节的方面比如get/post的区别、forward/重定向的区别、HTTPS的实现原理也都可能会被考察到。


阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Java