10 Tricky Interview Questions for Java Devs
Here's a list of ten popular interview questions that Java developers are likely to be asked in an interview, as well as links to relevant explanations for more details.
Join the DZone community and get the full member experience.Join For Free
Here is a list of 10 tricky/popular interview questions and answers for Java developers. I got these questions out from StackOverflow. You are a junior or intermediate level Java developer and are planning to appear for interviews in the near future, you would probably 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 can you create a memory leak in Java?
Ans: This is possible by making use of a class loader and ThreadLocal. Read the details on this page, Creating a memory leak in Java
Q3: What is the difference between package private, public, protected, and private?
A private member variable is accessible within the same class.
A 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 more details on this page.
Q4: What are two differences between a HashMap and a Hashtable?
Ans: A Hashtable is synchronized and does not allow null keys or values. Read more details on this page: differences between HashMap and Hashtable.
Q5: What are different techniques for avoiding != null statements (Not Null Check)?
Ans: Usage of assert statements is one way. Custom annotations can also be defined for NotNull checks. See more details on this page: How to avoid != null Statements.
Q6: Does “finally” always execute in Java?
Ans: Not in a scenario such as an invocation of a “System.exit()” function, an infinite loop, or system crash, etc. More details can be found here: Does finally always execute in Java?
Q7: Is it possible to call one constructor from another in Java?
Ans: Yes, but one can only chain to one constructor — and it has to be the first statement in your constructor body. More 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:“Implements Runnable” is the preferred way. Read further details here: Implements Runnable vs. Extends Thread
Q9: Is it possible to break out of nested loops in Java?
Ans: Yes, and here is an example of how to do it: Breaking out of nested loops in Java.
Q10: What is reflection and why is it useful?
Ans: Reflection is used to describe code that is able to inspect other code in the same system. Read the reasons for doing so here: Why Reflection is useful.
Published at DZone with permission of Ajitesh Kumar, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.