Want to be a Java developer?

Summary

Java remains a leading, cross-platform language for web and desktop development, known for its "write once, run everywhere" capability. Aspiring Java developers must master core concepts like OOPs, Collections, JVM, Multithreading, Generics, Design Patterns, and Lambda Expressions. Depending on the specialization, further knowledge in network/distributed systems (protocols, message queues), web applications (JSP/Servlets, Spring, REST, XML/JSON), or UI frameworks (Swing, JavaFX) is crucial. Additionally, proficiency in SQL, JDBC, development tools like Maven and Eclipse, and methodologies such as Agile is expected for a well-rounded Java professional.

Java is one of the top 3 programming languages in the world. It can be used to develop both web applications and desktop applications and more importantly it is cross platform--write once, run everywhere. Also, it's easy to pick up. If you want to be a Java developer, please get to ask yourself whether you know below listed topics.

This list is summarized by Vivek Vermani, a Senior Java Developer:

For a Core Java Developer , Ffollowing topics should be good.

  • 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.

If you want to focus on Network / Distributed Application, Following topics can be asked

  • 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

If you want to work Java based web application then following topics should be learned -

  • 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)

If you want to work on Java UI, then following topics can be learned -

  • Applets
  • Frameworks like Swing, SWT, AWT
  • Advanced Framewroks like JavaFX, JMF

Every Java Developer is expected to have Database Knowledge

  • 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.

JAVA DEVELOPER RESOURCE

  RELATED

  COMMENTS

2
nick
Jun 19, 2014 at 8:25 am

what kind of software  to translate the article would be the best.

NightCat
Jun 19, 2014 at 8:54 am

Are you a Chinese? If yes, then one suggestion is get to learn English well. At leaset you need to know the technical terms in programming. Good luck