Thursday, 10 December 2015

Java Interview Questions for 2 to 5 yrs - Java Developer

Hello All,
This blog lists the interview questions that you are likely to face in an Interview if you are Java developer between 2 to 5 years.
When you reach experience level of more than 2 years it is assumed by the interviewer that you have good hand on experience in Java stack.
Sometimes the interviews are for a specific project. Like a project may require candidate to have experience in Spring or Struts or Hibernate. Or sometimes the interview is not for a specific project and is for a open requirement.
Sometimes specific skills are looked for, like the candidate should have experience in SOAP and REST Web-services.

The interviewer is not expecting the candidate to know the designing or high level architecture of the project. What he is expecting is the candidate should be aware of the Project, the technologies used and should be aware of the role he played in the project. As this is not a fresher interview the questions would start with basics and then go in deep.

Below here are the list of questions.

  1. Tell me something about yourself?
  2. Please note that this is not a fresher interview. The interviewer is not interested in your educational qualification or were you involved in extra circular activities in school. What the interviewer is interested is your professional experience and your skills. A sample answer to this would be 'Hello Sir, I am XYZ. Currently I am working with ABC. I have of around 2 years of experience. I have hands on experience in  Java 1.7, Spring 3 and Hibernate 3. I am also aware about deployment in JBoss'. This tells the interviewer that you are aware of what you know

  3. What is your current project?
  4. This is actually a very important questions which candidates to practise and fail often. Most of the interviewee answer as "My current project is ABC. It has technologies like Spring Hibernate ...". This is now what was expected. The interviewer is interested in first knowing what the project is about. The business. The client. etc. A sample answer would be "My current project is ABC. It is a Telecom/Banking domain project. The client is XYZ. It is a web based/desktop application. The project business objective is to showcase various products developed by the client online and attract customers." This tells the interviewer that you are aware about the business objective of the project. After this you can also provide technical details like the architecture, technology, team size etc. So make sure that you have the complete information about the project.

  5. What was your role in the project?
  6. Here you have to describe your daily activities like, "Analysing defects/use cases, Creating Low level design/Change request document/Impact Analysis document, estimating the tasks, and doing development and unit testing". This tells the interviewer that you are aware of the complete SDLC of the project. The answer may wary depending upon you project type, if it is new project or a support and maintenance project. The interviewer may ask counter questions like what do you consider while estimating the work given to you? or what topics are covered in Impact analysis/Change request document?

  7. Technical : Core Java questions
  8. After the interviewer is comfortable with your answers until now he will start accessing you n technical grounds. Irrespective of what project you have worked upon and the type of frameworks you have used, accessing a candidate on Core Java is the most important part. It tells the interviewer that the candidate has good fundamental and core knowledge of Java and he can work on any underlying framework like Spring, Struts etc.

    Core Java is a vast topic and needs time and practise to master. The candidate has to be aware about topics like OOPS concepts, Multi Threading, Collections etc. A separate blog about Core Java Interview questions is here. Please refer it. Collections is also a very important topic while facing interviews. Just knowing how to use a collection class is not enough. The candidate should also know how the specific collection works internally. A detailed understanding of How Java Collections work internally is provided here. Java Collection Interview Questions is provided here with all the simple and advance question of collection.

    Sometimes the interviewer is also interested in knowing multi threading skills of the candidate, and mind it that only knowing that how to create a thread is not enough. From Java 6 many classes have been added to concurrent package with advance features like Semaphore, Callable Interface, CountDown latch etc. A detailed explanation about Java Multi Threading features is provided here. Many a time a objective test is also conducted. This is to test the candidates practical knowledge. Here is a good reference to start solving Objective Core Java Questions. The candidate should also be aware about new features introduced in Java like Working and Use of Java Lamda Expressions.

    Recently Blockchain and Bitcoin has also made a place in interviews. It is important to learn how to implement Blockchain in Java
    Annotations are also now integral part of interviews. Many Interviewers ask question like How to create custom Annotations and use it in your application. Here is a nice blog for Annotations starters How to create custom Java Annotations

  9. Technical : J2EE questions
  10. J2EE questions may comprise of first few questions about working on Servlets, JSP, HTML and WebServers. You may also be asked to Write some code about servlets. How to pass parameters to a servlet from JSP? What is GET and POST? What are the scopes in JSP etc? The interviewer may also opt to skip servlet topics and directly jump to advance web frameworks like Spring and Struts. Spring MVC is the mist famous and popular of the web framework now a days.  If you have mentioned Spring in you resume than be prepared to answer some question on it. Spring is also a huge topic. Some of the core components in Spring on which questions can be asked are Spring Modules, Spring MVC configuration, Spring IOC, Spring AOP etc. Ideally the candidate should be aware how to create a small Spring application from scratch. A post that provide the step by step guide of doing so is here Spring MVC application

  11. Technical : Advance J2EE questions
  12. More advance J2EE questions comprise of Webservice SOAP and REST. The candidate should be aware about what a webservice is and how to implement and test it. A detailed explanation of What is a SOAP webservice is provided here. A detailed explanation of Java Web Service Hosting Tutorial is provided here. Spring can also be used to expose webserivces. The candidate should also be aware about what is a REST service and How to expose a Java REST service. The interviewer may also ask about database connection with MVC like Spring Hibernate integration or JSF JPA integration. What is transaction and isolation etc.

  13. SDLC : Low Level Design and UML
  14. Some interviewers also want to know the UML and design skills of a candidate. Actually at this level of experience not much is expected. But if the candidate is aware about the basic aspects it adds a advantage over other candidates. Design questions would be how to identify and use Abstract Class over a Interface of vice versa. When to use Composition over Inheritance? What us a class Diagram/Sequence Diagram etc? What are the different types of relationship between a class.

This is a overall view of what the interview will be and the topics to be brushed. Best of Luck.

No comments:

Post a Comment

Share the post