想成为一名Java开发人员?

jopen 10年前

Java是当前常用的3种编程语言之一。它能够用于开发Web应用和桌面应用,更重要的是它还是跨平台的--一次编写,到处运行。此外,它还易于学习。
如果你想成为一名Java开发人员,请去问问自己,你是否知道下面列出的主题。

这个列表是由 Vivek Vermani 总结,一个高级Java开发人员

对一个核心Java开发人员,以下主题应该熟练掌握。

  • OOPs Concepts
  • Abstract Classes and Interfaces
  • Constructors and initialization order
  • File IO and Serialization
  • Collections - List , Map , Set
  • Access Specifiers
  • Exceptions - Checked , Unchecked
  • Generics
  • Java Keywords - Static , Final , volatile, synchronized , transient, this super etc.
  • JVM and Memory Management
  • Multithreading and Synchronization
  • Design Patterns
  • Reflections
  • Lambda Expressions

Here is a list of 200+ questions on Core Java - Java - Interview Questions and Answers - Quick Reference - One Liners.

如果你想专注于网络/分布式应用程序需要了解下面的主题
</div>

  • Communication Protocols like IP, HTTP, TCP, FTP,UDP (Reading some RFCs is necessary)
  • Synchronous vs Asynchronus Communication
  • Sockets
  • Technologies like RMI, RCP
  • Message Queues
  • Interface APIs - JMS, JDBC , ORM , Hibernate

如果你想工作基于Java的Web应用程序,然后下面的主题应该学习
</div>
  • JSP / Servlets
  • Web Frameworks like Struts / Spring
  • Service Oriented Architecture / Web Services - SOAP / Rest
  • Web Technologies like HTML, CSS, Javascript and JQuery
  • Markup Languages like XML and JSON.
  • Application and Web Servers (Tomcat)
  • Caching
  • Web application servers (WebLogic, WebSphere)
  • Some cloud service (AWS, SoftLayer, BlueMix)
  • Some libraries (Java mail, log4j, Jackson JSON)

如果你想开发Java用户界面那么下面的主题是可以学习的 -
</div>
  • Applets
  • Frameworks like Swing, SWT, AWT
  • Advanced Framewroks like JavaFX, JMF

每个Java开发者预计将要掌握的数据库知识
</div>
  • SQL Queries - Inner Outer Joins, Group By , Having
  • Stored Procedures
  • Triggers
  • Cursors
  • Database drivers (JDBC)
  • JavaBeans

Moreover questions around Tools, Methodologies, Processes can be asked -

  • Development Tools - Eclipse / RAD / IntelliJ IDEA
  • Design Tools and Diagrams
  • Configuration Management Tools like SVN, Clearcase etc
  • Defect Management
  • Build Tools like Maven, Ant etc
  • Testing - Unit Testing, JUnit , Black box , White Box
  • Development Methodologies - Agile / Waterfall / Iterative
  • Requirement Analysis
  • Release Management
  • Reverse engineering -- JadClipse(A Java decompiler)
  • OpenJDK source code --(Mercurial on Eclipse)

Here are few links that might help.

原文:http://www.pixelstech.net/article/1403176683-Want-to-be-a-Java-developer-