Popular Java Interview Questions & Answers

Java is a widely used programming language known for its object-oriented programming paradigm, platform independence, and robustness. It is the go-to language for developing web applications, mobile applications, enterprise software, and embedded systems. As a result, Java developers are in high demand, and preparing for Java interviews is crucial for landing a job in the industry.

This blog post provides best Java interview questions and answers, covering a wide range of topics, including Java fundamentals, object-oriented programming concepts, data structures, algorithms, and Java ecosystem tools. Whether you are a beginner or an experienced Java developer, this blog post will equip you with the knowledge and confidence to ace your next Java interview.

1. When was Java developed?

Java was developed by James Gosling and his team at Sun Microsystems in 1991.

2. Why is Java not purely Object-oriented?

Java is not purely object-oriented because it supports primitive data types (int, float, etc.) which are not objects. However, Java treats them as objects through a process called autoboxing.

3. How do you check whether a string is a palindrome in Java?

A palindrome string reads the same backward as forward. To determine if a string is a palindrome, one can reverse the input string and compare it with the original. The following code example demonstrates how to utilize the charAt(int index) method in Java to verify if a string is a palindrome:

4. In simple terms, how would you define Java?

Java is a high-level, class-based, object-oriented programming language that is designed to be platform-independent, allowing developers to write code once and run it on any device or operating system.

5. What Is the Optional Class in Java 8?

Optional is a class introduced in Java 8 to deal with the problem of null values. It is used to represent an optional value that may or may not be present.

6. How do you remove spaces from a string in Java?


7. How many types of constructors are used in Java?

There are three types of constructors in Java: default constructor, parameterized constructor, and copy constructor.

8. What does ‘write once run anywhere’ mean in Java?

It means that once a Java program is compiled into bytecode, it can run on any platform with a compatible Java Virtual Machine (JVM) without modification.

9. What is the difference between Java and JavaScript?

Java is a general-purpose programming language, while JavaScript is a scripting language primarily used for web development within web browsers.

10. How do you get the sum of all elements in an integer array in Java?

You can use a for loop to iterate over the array elements and add them to get the final sum:

11. How do you merge two lists in Java?


12. What Are Terminal and Non-Terminal Stream Methods in Java 8?

Terminal stream methods produce a result or a side-effect, like forEach() or collect(), while non-terminal methods, like filter() or map(), return a new stream and can be chained together.

13. How many keywords are there in Java?

There are 50 keywords in Java.

14. What are the restrictions that are applied to Java static methods?

Static methods cannot access instance variables and methods directly; they can only access static variables and methods.

15. What do you understand by Aggregation in the context of Java?

Aggregation is a relationship between two classes in which one class contains an object of another class. It represents a “has-a” relationship.

16. Write a Java program to find the nth Fibonacci number using recursion. The Fibonacci sequence is a series of numbers in which each number is the sum of the two preceding ones. It starts with 0 and 1. For example, the first few Fibonacci numbers are 0, 1, 1, 2, 3, 5, 8, 13, 21, and so on.


17. What is an anonymous inner class? How is it different from an inner class?

An anonymous inner class is a class defined without a name. It is declared and instantiated simultaneously. Inner classes, on the other hand, are named classes defined within another class.

18. Explain the differences between time slicing and preemptive scheduling?

Time slicing is a scheduling technique where each process is assigned a fixed time in cyclic order. Preemptive scheduling allows the operating system to interrupt a currently running process in favor of a higher priority process.

19. What is a singleton class in Java? And How to implement a singleton class?

A singleton class is a class that allows only one instance of itself to be created. It is achieved by making the constructor private and providing a static method to access the single instance.

20. What part of memory – Stack or Heap – is cleaned in the garbage collection process?

The garbage collection process cleans the heap memory by reclaiming memory occupied by objects that are no longer in use.

21. Is it mandatory for a catch block to be followed after a try block?

No, it is not mandatory to have a catch block after a try block. A try block can be followed by either a catch block or a finally block or both.

22. How does the size of ArrayList grow dynamically? And also state how it is implemented internally?

ArrayList grows dynamically by doubling its size whenever it runs out of space. Internally, it uses an array to store elements and when the array is full, a new larger array is created, and elements are copied to the new array.

23. Can we declare the main method of our class as private?

No, the main method must be declared as public in Java. Otherwise, the Java Virtual Machine (JVM) won’t be able to execute the class.

24. Why is the Runnable Interface used in Java?

The Runnable interface is used in Java to create a thread by implementing its run() method. It allows a class to be executed as a thread without extending the Thread class.

25. Can we call the constructor of a class more than once for an object?

No, a constructor can be called only once for an object. It is used to initialize the object’s state, and calling it more than once would reinitialize the object.

26. Describe different states of a thread.

Threads in Java can be in one of the following states: New, Runnable, Blocked, Waiting, Timed Waiting, or Terminated.

27. What is the difference between the equals() method and the equality (==) operator in Java?

The equals() method is used to compare the content of objects for equality, while the equality (==) operator is used to compare the memory addresses of objects.

28. Which are the best Java compilers?

Some popular Java compilers include Oracle JDK’s javac, Eclipse Compiler for Java (ECJ), and Java Compiler (Javac) provided by OpenJDK.

29. What are the roles of final, finally, and finalize keywords in Java?

final is used to restrict the user from changing the value.
finally is used to provide cleanup code, and it is always executed whether an exception is handled or not.
finalize() is a method that the Java runtime calls before an object is garbage collected, allowing the object to clean up its resources.

30. What is a Java applet?

A Java applet is a small application that is embedded within a web page and executed by the Java Virtual Machine (JVM) in a web browser.

Share this post: