想要成为合格的 Java 程序员或工程师到底需要具备哪些专业技能,面试者在
面试之前到底需要准备哪些东西呢?本文陈列的这些内容既可以作为个人简历
中的内容,也可以作为面试的时候跟面试官聊的东西,你可以把这些内容写到
你的简历中,当然更需要的是你在面试的时候向面试官展示这些专业技能。相
信此文对正在寻觅 Java 程序员(Java 工程师)职位的 freshman 以及希望成
为中高级 Java 开发者的 junior 都会有所帮助。
专业技能
1. 熟练的使用 Java 语言进行面向对象程序设计,有良好的编程习惯,熟悉常用
的 Java API,包括集合框架、多线程(并发编程)、I/O(NIO)、Socket、
JDBC、XML、反射等。[泛型]
2. 熟悉基于 JSP 和 Servlet 的 Java Web 开发,对 Servlet 和 JSP 的工作原理
和生命周期有深入了解,熟练的使用 JSTL 和 EL 编写无脚本动态页面,有使
用监听器、过滤器等 Web 组件以及 MVC 架构模式进行 Java Web 项目开发的
经验。
3. 对 Spring 的 IoC 容器和 AOP 原理有深入了解,熟练的运用 Spring 框架管理
各种 Web 组件及其依赖关系,熟练的使用 Spring 进行事务、日志、安全性等
的管理,有使用 Spring MVC 作为表示层技术以及使用 Spring 提供的持久化
支持进行 Web 项目开发的经验,熟悉 Spring 对其他框架的整合。
4. 熟练的使用 Hibernate、MyBatis 等 ORM 框架,熟悉 Hibernate 和 MyBatis
的核心 API,对 Hibernate 的关联映射、继承映射、组件映射、缓存机制、事
务管理以及性能调优等有深入的理解。
5. 熟练的使用 HTML、CSS 和 JavaScript 进行 Web 前端开发,熟悉 jQuery 和
Bootstrap,对 Ajax 技术在 Web 项目中的应用有深入理解,有使用前端 MVC
框架(AngularJS)和 JavaScript 模板引擎(HandleBars)进行项目开发的
经验。
6. 熟悉常用的关系型数据库产品(MySQL、Oracle),熟练的使用 SQL 和
PL/SQL 进行数据库编程。
7. 熟悉面向对象的设计原则,对 GoF 设计模式和企业应用架构模式有深入的了
解和实际开发的相关经验,熟练的使用 UML 进行面向对象的分析和设计,有
TDD(测试驱动开发)和 DDD(领域驱动设计)的经验。
8. 熟悉 Apache、NginX、Tomcat、WildFly、Weblogic 等 Web 服务器和应用
服务器的使用,熟悉多种服务器整合、集群和负载均衡的配置。
9. 熟练的使用产品原型工具 Axure,熟练的使用设计建模工具 PowerDesigner
和 Enterprise Architect,熟练的使用 Java 开发环境 Eclipse 和 IntelliJ,熟
练的使用前端开发环境 WebStorm,熟练的使用软件版本控制工具 SVN 和
Git,熟练的使用项目构建和管理工具 Maven 和 Gradle。