Java interviews based tips

Java Interviews are a little bit different than traditional programming interviews on tech giants and product based companies like Google, Amazon, Microsoft, or Facebook. First, even though it has questions from Data Structure and Algorithms like String or Array, you can still manage to clear Java interviews if you are not an expert on them. The questions are a little bit easier and more practical than those companies. Another very important thing about Java interviews are questions based upon Java programming language and JDK API. Since Java is also an Object-oriented programming language, you will find lots of OOP questions there.

Since Java is primarily used as an application programming language, the focus is aligned accordingly with questions mostly focusing on API, Java concepts, and design patterns.

Also, Java interviews change a lot depending upon the candidate's experience. For example, junior developers with 1 to 2 or 3 to 4 years of experience will see more questions on topics like Java fundamentals, API, data structure and algorithms.

More senior developers like Java programmers with 5 to 6 years of experience will find more questions on concurrent programming, Java concurrency API, JVM internals, GC tuning, and Java Performance.

So your preparation should be aligned with your experience and not just focused on common programming questions.

Also, Java EE interviews are totally different than core Java interviews because core Java interviews are mostly focused on core Java concepts like Concurrency, Collections, and JVM internals, while Java EE interviews are based upon framework like JSF, Spring, Hibernate and others.

 

As I told, the importance of topics depends upon the candidate's experience. I would ask more questions from Java fundamentals like String, Collections, equals() and hashcode and OOP concept to a fresher or Junior Java developers of 2 years experience, but those topics will be too trivial for Java developer of 4 to 5 years experience.

 For those, I prefer to ask Concurrency, JVM internals, 
Garbage Collection, testing, and design patterns. Another thing which decides which topic you should prepare for your interview is the Job description.

Also, there is no better guide than 
Job description to prepare for relevant topics.

For example, if you are going to work for a core Java multi-threading based application then you should prepare well for core Java topics like multi-threading and concurrency, Java Collections, Generics, Enum, GC Algorithms and JVM internals.

Similarly, if you are going to work for 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 than multi-threading and JVM internals. Similarly for an Android developer, apart from knowledge of Java fundamentals, knowing Android API is more important.

Nevertheless here is the list of topics I suggest to any Java developer who is serious about interviews.

Java Fundamentals

Object-Oriented Concepts

Data Structure and Algorithms

Multithreading, concurrency, and thread basics

Date type conversion and fundamentals

Garbage Collection

Java Collections Framework

Array

String

GOF Design Patterns

SOLID design principles

Abstract class and interface

Java basics e.g. equals and hashcode

Generics and Enum

Java IO and NIO

Common Networking protocols

Data structure and algorithm in Java

Regular expressions

JVM internals

Java Best Practices

JDBC 

Date, Time and Calendar

XML Processing in Java

JUnit 

Programming questions


Source:

Java training institute in chennai