[翻译与分享]想要成为一个 Java 工程师?

July 17, 2014

Java

Java 是三个最流行的编程语言之一。它可以被用来开发网站应用和桌面应用,而且更重要的是夸平台(cross platform),一次编写,到处运行 -- write once , run everywhere。当然,它也很容易学习。如果你想成为一个Java开发者,你不妨试试回答下面列出的问题。我在翻译的时候把中英文都写出来了,因为有很多术语平时老说,但是英文怎么表达根本就不知道,所以还是一起都写出来,偶尔看看还是有好处的。当然,也是怕我翻译不好,万一有错的,哪天看到了,还知道是错了。

这个列表是由Vivek Vermani整理,一个Java高级工程师。http://www.quora.com/Vivek-Vermani 这位大师整理的还是很有条理的,可以按照这个单子去学习,那些知识点不是很清楚的,需要花时间去补习一下。不清楚这个列表发表的具体时间,和这位大师的背景,Android 应该也属于 Java 的一个大的分支。

对于一个核心的Java开发工程师,下面的话题应该是很清晰的。

  • 面向对象的编程思想 OOPs concepts
  • 抽象类和接口 Abstract classes and interface
  • 构造器和初始化顺序 Constructors and initialization order
  • 文件读写和序列化 File Io and Serialization
  • 集合Collections - list , Map , Set
  • 访问修辞符Acess Specifiers
  • 异常 Exceptions - Checked , Unchecked
  • 泛型 Generics
  • Java 关键词 Java Keyworks - static , final volatile , synchronized , transient,this , super , etc.
  • Java虚拟机和内存管理 JVM and Memory Management
  • 多线程和同步 Mutlithreading and Synchronization
  • 设计模式 Design Patterns
  • 反射 Reflections
  • Lambda表达式 Lambda expressions

这里有一个关于Core Java 的 200多个问题的列表。http://www.buggybread.com/2013/07/java-interview-questions-and-answers.html

如果你打算专注于网络或者分布式应用,下面的问题应该回答

  • 通信协议Communication Protocols,比如 IP,HTTP,TCP,FTP,UDP,阅读一些RFC文档是必须的。
  • 同步与异步通信 Synchronous vs Asynchronus Communication
  • Sockets
  • Technologies like RMI , RCP
  • 消息队列 Message Queues
  • 接口API - JMS,JDBC,ORM,Hibernate

如果你打算从事基于Java 的web应用开发,下面的问题应该学习。

  • JSP/Servlets
  • Web Frameworks like struts / spring
  • 面向服用的架构 Service Oriented Architecture / Web Services - SOAP / Rest
  • Web 技术,比如 HTML,CSS,JavaScript , JQuery
  • 标记语言Markup Languages 比如 XML and JSON
  • 应用和网页服务 Application and Web Servers - Tomcat
  • 缓存 Caching
  • Web应用服务器 WebLogic , WebSphere
  • 一些云服务 AWS,SoftLayer , BlueMix
  • 一些库,Java Mail , log4j , Jackson Json

如果打算从事Java 界面应用,下面话题应该学习。不过我相信,这个不是Java 的强项,不是说没有市场,需求量稍微小些。

  • Applets
  • Swing ,SWT , AWT 框架
  • 高级框架,比如JavaFX,JMF

每个Java工程师都被认为需要有数据库方面的知识。

  • SQL查询,inner outer join , group by , having
  • 存储过程 stored procedures
  • Triggers
  • cursors
  • 数据库驱动 - JDBC
  • JavaBeans

更多关于工具,方法论,进程的话题:

  • 开发工具 - Eclipse / RAD / Intelij IDEA
  • 设计工具和图表 Design Tools and Diagrams
  • 配置管理工具,比如 SVN , Clearcase 等等
  • 缺陷管理 Defect Management
  • 打包工具 build tools , 比如 Maven , Ant
  • 测试 - 单元测试 unit testing , Junit , 黑盒测试Black box , 白盒测试White Box
  • 开发方法 Development Methodologies - 敏捷 Agile / 瀑布 Waterfall / 迭代 Iterative
  • 需求分析 Requirement Analysis
  • 发布管理 Release Management
  • 逆向工程 Reverse engineering - JadClipse(一个Java反编译器 A Java decompiler)
  • OpenJDK 原代码 - (Mercurial on Eclipse)

一些有帮助的链接

  • The Java Tutorials
    http://docs.oracle.com/javase/tutorial/

  • Java revisited
    http://javarevisited.blogspot.sg/

  • JavaWorld
    http://www.javaworld.com/

  • Java2s -- Many Java code snippets
    http://www.java2s.com/

  • Java - Interview Questions and Answers - Quick Reference - One Liners
    http://www.buggybread.com/2013/07/java-interview-questions-and-answers.html

  • Java web tutorials
    http://www.mkyong.com/

  • Java Concurency/Multithreading Tutorials
    http://tutorials.jenkov.com/java-concurrency/index.html

  • Introduction to Java programming - Tutorial
    http://www.vogella.com/tutorials/JavaIntroduction/article.html

  • 200+ Java / J2EE Interview Questions and Answers
    http://www.buggybread.com/2014/04/200-java-j2ee-interview-questions-and.html

  • Struts Framework - Interview Questions and Answers
    http://www.buggybread.com/2013/06/struts-framework-interview-questions.html

  • Spring Interview Questions FAQs Interview Questions Spring Tutorial JSF Interview Questions Hibernate Interview Questions
    http://www.developersbook.com/spring/interview-questions/spring-interview-questions-faqs.php

  • WAS / WSAD / RAD - Interview Questions and Answers
    http://www.buggybread.com/2013/06/was-wsad-rad-interview-questions-and.html

  • JavaScript interview questions and answers
    http://www.techrepublic.com/blog/software-engineer/javascript-interview-questions-and-answers/

  • Interview Questions and Answers on Markup Languages - XML , JSON
    http://www.buggybread.com/2014/04/interview-questions-and-answers-on.html

--- EOF ---

添加新评论