Guidelines/Tips for Technical Interview (Java/J2EE) Introduction Brief about yourself, your technical experience (ex: Java/J2EE 4 –5 yrs), projects worked on from recent to first, environment worked on like Application servers/Web servers, databases worked on, Frameworks/patterns/methodologies (like RUP) used etc; Here you should not explain anything in detail immediately. If not worked better to tell clearly no knowledge on that, unless you are very confident on that subject. Then please wait for the interviewer’s questions, Mostly they will pick up any of your projects, which match their requirement or will ask you to choose any project, which you find interesting/challenging. Questions will then start from that project. Or If none of the projects are interesting for them they will directly start testing your technical knowledge. Here they will ask you which area you are comfortable or they will give one scenario and will ask you to explain on that. So questions will be either Project based then technical or directly technical. Project Based then technical 1.Choose a project in which your share is more and more challenging. 2.First explain the overall project briefly like purpose, for which client, then project flow and then architectures/frameworks/patterns used, different layers, communication between each layer etc 3.We should not tell like ‘we have done like this….’. It is better to tell ‘I have done this’. 4. Be thorough/specific in the architecture used and in the technology used (like Servlets/JSP/EJB) in that project and about how different layers talk. 5. Do not say “You were not involved in certain modules so you are not aware of its functionality “. If not the complete knowledge of modules you have not worked, at least be aware of general functionalities. Then they may ask questions like why not other technology used? What is the advantage of using this architecture? So prepare for this. If you could not find other suitable
architecture/technology then you can tell client’s requirement is like that, they wanted in that way. Then questions will be from scenarios, for example, 1. 2. 3. 4. 5.
How you handle security? Authentication/Authorization Session management, Client states, timeout etc Handling Transactions. How do you save data? A problem scenario will be given and will be asked to explain how you would design the problem.
Then questions will be from the technology used like Core Java/Servlets/JSP/EJB etc Directly technical Here better to select an area, which you are very comfortable. Like if Core java – Collections, Threads, IO, Networking, Swing etc; If J2EE - Servlets/JSP/EJB etc; Generally interviewer will expect the following Overall knowledge (not in depth) of the following, 1.OOP concepts, how it is used in Java. 2.Should know about Important API’s, classes/interfaces/functions. 3.Should know about the life cycles (like Servlets/JSP/EJB). 4.Architectures like EJB architecture/JVM. 5.Best practices (which to use)/Bad practices (which not to use). 6.Important Patterns/Frameworks. 6.Difference between two similar technologies (like Servlet and CGI). Advantages/Disadvantages of one with other. 7.Difference between two similar classes (like Vector and Array List). It is better to explain in a scenario. 8. Design goal behind 2 ways of implementing threads (Thread class and Runnable interface) 9. Which is the latest version (like Servlets 2.4) what’s new in that version compared to the previous version? 10. Basic UML what is what in that like class diagram/use cases. Better to go through a short tutorial on UML.
11. Different stages of a Project (this will be related to the project you have worked on) Mostly they will not go in depth unless you tell something wrong/contradictory. You have to be confident through out the interview, which will really help. Additional Information: 1. Go through the FAQ’s (Frequently Asked Questions) like J2EE FAQ, EJB FAQ, Servlet FAQ etc You will get overall knowledge like why that technology is for, how it is related to other, Pros/Cons. Sun site is having lots of FAQ’s or you can search in Google. 2. Go through the interview questions (Java/J2EE) from Internet. Some of the good sites are, http://www.janeg.ca/scjp/overload/poly.html This is a very good site for Refreshing Java Concepts. Others are http://www.geocities.com/technofundo/tech/java/equalhash.html http://www.javapractices.com/TableOfContents.cjp Java Technical Interview Questions: http://www.precisejava.com/ http://www.techinterviews.com/index.php?cat=4 http://www.javagalaxy.com/ http://mindprod.com/jgloss/jgloss.html Struts – Brief tutorial http://www.roseindia.net/struts/