The Java marketplace is tremendous. There are so many talented java developers available. Still the foremost broadly utilized programming language in business, holding a 13% market share, Java is fundamentally utilized to build large-scale projects.
When looking for a developer to suit a business’s needs, it can be difficult to qualify candidates and nail down the developer with the skillset they need, especially when there are so many options available.
This article gives you a gist of the skillsets needed for a java developer to crack any interview. Let’s go forward then
Make sure you know the basics
Developing software coding skills is a bit time consuming and requires a lot of planning. It is important to decide on the skills you require to get your project off the ground.
There’s a massive difference between the theoretical and practical knowledge when it comes to java codes. Just because a developer can explain a process doesn’t necessarily mean that he can code a solution.
Java versions keep on upgrading. It is necessary to be thorough with all the new developments because every business tries to upgrade their codes using the new versions.
Now let’s go through the questions that can be asked in a java interview
Also, one thing that needs to be clear is that Java EE interviews are totally different than core Java interviews. Core Java interviews focuses more on concepts like Concurrency, Collections, and JVM internals, while Java EE interviews are focused on frameworks like JSF, Spring, Hibernate and others.
All the topics relates to what your past experience has been based upon. If you are a fresher then an interviewer would ask more questions from Java fundamentals like String, Collections, equals() and hashcode and OOP concept. This is applicable to Junior Java developers of 2 years experience too. The following list of questions might be useful for you to prepare for direct counters in the interview
· What is the Collections hierarchy? Difference between Set and List, difference between Vector and ArrayList?
· Difference between HashMap and HashTable, difference between Iterator and ListIterator?
· Why Collection interface is not extended by Map Interface?
· How to convert a String array into ArrayList? How to reverse the list?
· How does a HashSet store elements? Can a null element added to a TreeSet/ HashSet? When to use HashMap or TreeMap?
· What are IdentityHashMap and WeakHashMap?
· How to make a collection read only? How to make a collection thread safe?
But those topics will be too trivial for Java developer who has a significant experience of 4 to 5 years.
Another thing which decides which topic you should prepare for your interview is the Job description.
Also, a company’s job description also plays an important role in the range of questions asked.
For example, if a candidate aims to work in a company for a core Java multi-threading based application then he should prepare well for core Java topics. The topics are based on multithreading and concurrency, Java Collections, Generics, Enum, GC Algorithms and JVM internals.
Questions might be asked which are as follows
· What is the difference between enum vs. Enum class?
· Can enum be used with String? Can enum be extended? What is the syntax?
· How to implement reverse-lookup in enum?
· What is EnumMap and EnumSet?
Questions on concurrency
· What is correctness in thread safety?
· Give an example of thread-safe class?
· How you will design a thread safe Java class?
· Are immutable classes thread safe?
· Object level vs class level locking
· Compare and Swap algorithms (This can be asked to test the deep knowledge of concurrency)
· How to write deadlock and resolve it in Java
Similarly, if you are planning to work for a company that runs on Java Web Service application, than preparing about REST and SOAP, XML, JSON, and other relevant topics.
For Java, web application developers, JSP, Servlet, Spring, and Hibernate are more important which can consists questions like
· How can we use Spring to create Restful Web Service returning JSON response?
· Difference between vs ?
· Difference between @Component, @Controller, @Repository & @Service annotations?
· How does Spring MVC provide validation support?
· What is Spring MVC Interceptor and how to use it?
· How to handle exceptions and achieve localisation in Spring MVC Framework?
Similarly, for an Android developer, knowing Android API is more important than having knowledge of Java fundamentals.
It is very important to make the interviewer realise that you just do not have a theoretic knowledge but also have a significant amount of practical exposure at your previous workplace or projects. This will always have an upper edge amongst the pool of candidates who apply for the same role. The interviewer will realise that you know the proper applications of each and every term that is being used in Java development.
For your further reference I have a list of few very useful websites that will give you a gist of the topics you need to be thorough with
Check this Link to go through the list of Topics
Check this Link for the classification of sub-topics that can be tapped upon in the interview and the types of questions that can be asked through each one of them
For freshers who want to start their career in Java domain need to brush up their basics. Check the Link
These are the links that can be very useful for upgrading your knowledge. It will be better to keep yourself prepared for any kind of questions that might come to you in an interview. There should not be any surprises coming your way that will keep you away from getting selected in your dream company.
I hope this article has catered to all the doubts and requirements. This is an overview of how a candidate has to prepare before giving an interview for a post of java developer. I wish you all the very best for the future endeavours.