1、熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的JavaAPI,包括I/O(NIO)、Socket、JDBC、XML、集合框架、多线程(并发编程)、反射等。
2、熟悉基于JSP和Servlet的JavaWeb开发,熟练的使用JSTL和EL编写无脚本动态页面,对Servlet和JSP的工作原理和生命周期有深入了解,有使用监听器、过滤器等Web组件以及MVC架构模式进行JavaWeb项目开发经验。
3、对Spring的IoC容器和AOP原理有深入了解,熟练的使用Spring进行事务、日志、安全性等的管理,熟练的运用Spring框架管理各种Web组件及其依赖关系,有使用SpringMVC作为表示层技术以及使用Spring提供的持久化支持进行Web项目开发的经验,熟悉Spring对其他框架的整合。
4、熟悉Hibernate和MyBatis的核心API,熟练的使用Hibernate、MyBatis等ORM框架,对Hibernate的关联映射、继承映射、组件映射、缓存机制、事务管理以及性能调优等有深入的理解。
5、熟练的使用HTML、CSS和JavaScript进行Web前端开发,熟悉jQuery和Bootstrap,有使用前端MVC框架(AngularJS)和JavaScript模板引擎(HandleBars)进行项目开发的经验,对Ajax技术在Web项目中的应用有深入理解。
6、熟练的使用SQL和PL/SQL进行数据库编程,熟悉常用的关系型数据库产品(MySQL、Oracle)。
7、熟悉面向对象的设计原则,熟练的使用UML进行面向对象的分析和设计,有TDD(测试驱动开发)和DDD(领域驱动设计)的经验,对GoF设计模式和企业应用架构模式有深入的了解和实际开发的相关经验。
8、熟悉Apache、NginX、Tomcat、WildFly、Weblogic等Web服务器和应用服务器的使用,熟悉多种服务器整合、集群和负载均衡的配置。
9、熟练的使用产品原型工具Axure,熟练的使用设计建模工具PowerDesigner和EnterpriseArchitect,熟练的使用Java开发环境Eclipse和IntelliJ,熟练的使用前端开发环境WebStorm,熟练的使用软件版本控制工具SVN和Git,熟练的使用项目构建和管理工具Maven和Gradle。
说明:上面罗列的这些东西并不是每一项你都要烂熟于心,根据企业招聘的具体要求可以做相应的有针对性的准备。但是前6项应该是最低要求,是作为一个Java软件工程师必须要具备的专业技能。
一、扎实的理论基础
理论知识不扎实遇到问题请教别人,虽然也能把问题解决,但需要花比别人多的多的时间才能把问题解决,且大部分情况下还不能很完美的解决。如何才能使自己有扎实的理论基础呢?建议多看看别人的代码多进行总结。
二、要有较强的自学能力
许多企业非常看重个人的自学能力。IT行业技术更新太快,只有通过不断地学习才跟得上社会的进步个人的自学能力对于企业的发展非常的重要。
三、编码规范
IT行业离职率较高,让新来的员工看懂以往的代码也是企业非常关注的。有良好的编码习惯注重代码的注释都是一个程序员必不可少的能力。
四、注重团队精神和较好的沟通能力
对于一个项目来说独立开发的项目几乎不存在,都是由多人协作开发的特别是产品化的项目,具备较好的团队精神和较好的沟通能力非常重要。
现在的Java程序员 除了掌握Java语言本身 也要掌握其他的语言及工具
数据库:
Oracle、mysql、mssqlserver 等关系型数据库 还有一些大数据的公司会对一些大数据类型的数据库例如MONGODB 等 有要求
数据库Tool:
比如 PL/SQL、 DBeaver、 SqlYog、 navicat 等
Java IDE:
比如 最常用的Eclipse 当然还有其他的 比如 IntelliJ IDEA
Front-End 技术:
Html5、 JS、 Jquery 甚至一些JS框架 如 AngularJS、 ReactJS 等等
此外还需要懂一些 CSS 如果没有UX designer 或者 有微小的调整 可以自己搞定
--------------------------------------------------------------------------
上面是一些硬性的技术 & 工具技能,下面看个人能力。
假设Java 及 其他需要掌握的技术 或 工具 较为熟悉
要保证独自编码能力,保证代码高质量 健壮。
保证修改bug 质量高,基本无需regression
保证每一个Sprint 内必须按照计划完成任务
保证根据story不同 能准确的估算出point
保证完全清楚每次领取的story的业务内容
大概这么多吧,纯手打。
1. 一名合格的程序员需要掌握的技能其实蛮多的。Java毋庸置疑是肯定要熟悉精通掌握的。Java应该广泛,就业市场对Java程序员的要求也很大,要求也很高,需要掌握大量的核心技术,那么成为一名优秀的java程序员需要掌握哪些技能呢?
2.需要掌握的技能
(一)熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的JavaAPI,包括集合框架、多线程(并发编程)、I/O(NIO)、Socket、JDBC、XML、反射等。
(二)熟悉基于JSP和Servlet的JavaWeb开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行JavaWeb项目开发的经验。
(三)对Spring的IoC容器和AOP原理有深入了解,熟练的运用Spring框架管理各种Web组件及其依赖关系,熟练的使用Spring进行事务、日志、安全性等的管理,有使用SpringMVC作为表示层技术以及使用Spring提供的持久化支持进行Web项目开发的经验,熟悉Spring对其他框架的整合。
(四)熟练的使用Hibernate、MyBatis等ORM框架,熟悉Hibernate和MyBatis的核心API,对Hibernate的关联映射、继承映射、组件映射、缓存机制、事务管理以及性能调优等有深入的理解。
(五)熟练的使用HTML、CSS和JavaScript进行Web前端开发,熟悉jQuery和Bootstrap,对Ajax技术在Web项目中的应用有深入理解,有使用前端MVC框架(AngularJS)和JavaScript模板引擎(HandleBars)进行项目开发的经验。
3.成为一名合格的程序员不能骄傲,需要继续努力学习,在原有的技能基础上继续提升,学习的道路是永无止境的,只有通过不断的学习才能更好的提升自己,力争从一名合格的程序员上升到一名优秀的程序员。如果想要系统学习,你可以考察对比一下开设有相关专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,建议实地考察对比一下。祝你学有所成,望采纳。