These interview tips are for you if you are preparing for interview for a job that mentions Java as one of the required technologies. Before we get down and dirty with the technical details lets get some homework done.
- Research
As a programming language Java is perhaps the most chaotic. It has far more functionalities and ready made functions than C or C++ and it's not nearly as integrated or well organized as .Net. Before we start preparing for the interview we must find out what the company's requirement and expectations are, and while we are at it lets find out something about the company itself. These may include major products, services and clients of the company, whether the company develops its own products, or work as support, technical information such as operating system and development platform used within the company etc. Java is a language with a very wide scope and you can't be knowledgeable about all of it. You must focus your efforts properly, which requires a through research.
- Preparing for Java Questions
Java interview questions can come in many forms. They can be technical or theoretical; you can be asked a definition or to write a program or find errors in a given sample code. Following tips are about how best to prepare for handling such questions.
- Coding, Coding and Coding: If you wish to learn a programming language there is no substitute of writing programs. When preparing for interviews do not use an IDE such as NetBeans or Eclipse. It is highly unlikely that you'll be provided one if you are asked to solve one, during an interview. Use pen and paper or a simple notepad. It may be frustrating if you are used to using IDEs, but use of notepad and console would force you to pay attention to details and error messages.
- JVM and OS Related Questions: These are more likely to be asked if the company and / job involves desktop applications. These are mostly theoretical in nature. Best way to prepare for them would be going through some online interview questionnaires as well as referring to some textbook.
- Data Structure: Data Structures are an integral part of any programming language or technology. In particular you should be able to implement most common data structures using java and be familiar with the underlying data structures of java collection classes.
- Design Patterns: You are not expected to know all the design patterns but should be familiar with the common once at least conceptually. The use of design pattern in solving a given problem would also create a good impression.
- AWT/Swing: You should be familiar with the basic commands, event handling, layout etc in both AWT and Swing beside knowing the difference between and advantages / disadvantages of both. This part is especially important if your prospective job involve any design works.
- OOP: Java is an Object Oriented Programming language. You should be intimately familiar with various OOP concepts and their implementation using Java.
- Selling Yourself
In an interview you have to convince the interviewer that you are worth hiring. A java interview is no exceptions. You should bring some sample of your previous work with you along with links to some JSP pages you have created. More often than not you won't get a chance to display these samples but it's better to have them just in case. Make sure that you put your best foot forward and do not show sloppy, hurried or ill designed work to the interviewer. In your sample work and in any code you write during interview, always follow proper java naming conventions. When solving a sample problem talk your way through the steps of solving the problem. The interviewer wants to know how you approach the problem and whether you are actually solving it or had it memorized. You may be asked about your sources of information besides Google. You should have a list of helpful sites prepared along with names of some text and reference books.
- Asking Questions
If given opportunities you should have some questions ready that you can ask the interviewer. When asking questions keep the focus on the company and what you can do for the company instead of what the company can do for you. You can ask about the product you'll be working on, your day to day responsibility, what additional skills you have to learn, what training you'll be given, performance evaluation criteria etc. Avoid the topic of package and if asked say that it's negotiable. If the interviewer insists, give a wide enough range. The salary negotiations should not begin until you have offered the job.
- Planning
Last but not the least you should plan each steps leading to the interview such as what you are going to wear, what documents and other material you'll take with you, when will you leave for the interview, what route you'll take etc. Make sure that you arrive about 10 minutes before the appointed time as it may take some time to find the right place. If your interview is not a walk-in or a mass interview you should make a call and confirm your appointment. If the place of interview is in your city it would be a good idea to visit the place so you would not have any trouble finding it again.
The tips given above are by no means comprehensive. The details of the interview would vary greatly based on the job and you are applying for as well as your own experience. These tips will provide a guideline for your java interview preparation efforts.