Hello reader! The purpose of this article is to share some common java interview questions that I was asked in the past when going through job interviews with top financial firms. I hope that you'll find this useful.
What is a class?
What is an object?
Object VS class
Method overloading.
Method overriding.
Access modifiers (private, public, protected, default).
The difference between method overloading and method overriding.
Object-Oriented Programming: inheritance, polymorphism, abstraction and encapsulation.
Aggregation and association.
Dynamic binding (linked to abstraction).
Static keyword.
Final keyword.
Strings: discuss why they're immutable and what happens in the memory (stack and heap). The string is a class.
Stringbuilder VS Stringbuffer.
Interface: why it's used.
Can we have multiple inheritance? If not, why? What can we do instead?
Difference between abstract class and interface.
Memory management: garbage collection, the types of garbage collectors.
How does a hashmap work internally?
Collections Framework.
Exception handling: throw, throws keywords, what is a runtime exception.
Runtime Type Checking.
Difference between the keywords final, finally, finalize.
try...catch
block.Finally block.
Exception propagation.
Multithreading: what is a thread, how to create a thread (Runnable interface OR Thread class).
Thread safety.
Synchronize.
Difference between a set and a list.
Java 11 features.
JDK, JRE, JVM.
SOLID Principles.
Test-Driven Development.
Git commands.
What does "unboxing" mean?
Is Java "pass-by-value" or "pass-by-reference"?
How do you return multiple values in Java?
What does "covariance" mean?
Good luck! ๐๐๐