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.
- The Java Tutorials
- Java revisited
- JavaWorld
- Java2s -- Many Java code snippets
- Java - Interview Questions and Answers - Quick Reference - One Liners
- Java web tutorials
- Java Concurency/Multithreading Tutorials
- Introduction to Java programming - Tutorial
- 200+ Java / J2EE Interview Questions and Answers
- Struts Framework - Interview Questions and Answers
- Spring Interview Questions FAQs Interview Questions Spring Tutorial JSF Interview Questions Hibernate Interview Questions
- WAS / WSAD / RAD - Interview Questions and Answers
- JavaScript interview questions and answers
- Interview Questions and Answers on Markup Languages - XML , JSON
what kind of software to translate the article would be the best.