Here is a list of top ten (10) tricky / popular interview questions and answers for Java developers. I got these questions out from Stackoverflow. You are a Junior or Intermidiate level Java developer and planning to appear for Java developer interviews in near future, you would find these questions to be useful enough.
Q1: Is Java “pass-by-reference” or “pass-by-value”?
Ans: Java is always “pass by value”. Read the details on this page, Is Java “pass-by-reference” or “pass-by-value”?
Q2: How to create a memory leak in Java?
Ans: This is possible by making use of Class loader and ThreadLocal. Read the details on this page, Creating a memory leak in Java
Q3: What is difference between package private, public, protected, and private?
Ans: A private member variable is accessible within the same class; Package private variable (member variable with no access specifier) is accessible within all classes in the same package; A protected variable is accessible within all classes in the same package and within subclasses in other packages; A public member is accessible to all classes. Read greater details on this page
Q4: Tell two differences between HashMap and a Hashtable?
Ans: Hashtable is synchronized; Hashtable does not allow null keys or values. Read greater details on this page, differences between HashMap and Hashtable
Q5: What are different techniques of avoid != null statements (Not Null Check)?
Ans: Usage of assert statement is one of the ways; Custom annotations can be defined for NotNull checks; Read greater details on this page, How to avoid != null Statement.
Q6: Does “finally” always execute in Java?
Ans: Not in the scenario such as invocation of “System.exit()” function, infinite loop or system crash etc; Read greater details on this page, Does finally always execute in Java
Q7: Is it possible to call one constructor from another in Java?
Ans: Yes one can only chain to one constructor, and it has to be the first statement in your constructor body. Greater details can be found on this page, How do I call one constructor from another in Java?
Q8: Which one should be used, “implements Runnable” vs. “extends Thread”?
Ans: Looks like “implements Runnable” is the preferred way. Read further details on this page, Implements Runnable vs Extends Thread
Q9: Is it possible to break out of nested loops in Java?
Ans: Yes; Breaking out of nested loops in Java
Q10: What is reflection and why is it useful?
Ans: Reflection is used to describe code which is able to inspect other code in the same system. Read reasons on this page, Why Reflection is useful.