Java Interview Questions Answers 2
☕ Java Interview Questions & Answers (2)
Level: Beginner → Intermediate → Advanced
Style: Interview-ready explanations + practical code
Focus: How Java is used in real applications
1. What is Java and why is it still widely used?
Answer
Java is a high-level, object-oriented, platform-independent programming language.
Why companies still use Java
- Mature ecosystem (Spring, Hibernate, Kafka)
- Strong backward compatibility
- Excellent performance for backend systems
- Huge community and long-term support
Real-world usage
-
Banking systems (transaction safety)
-
Large backend APIs (Spring Boot)
-
Android development
-
-
2. What does “Write Once, Run Anywhere” mean?
Answer
Java code is compiled into bytecode, which runs on the Java Virtual Machine (JVM), not directly on the OS.
Flow
.java → javac → .class → JVM → OS
Real-world example
A banking app compiled on Linux can run on:
- Windows server
- macOS
- Docker containers
No recompilation needed.
3. Difference between JDK, JRE, and JVM
| Component | Purpose |
|---|---|
| JVM | Executes bytecode |
| JRE | JVM + libraries |
| JDK | JRE + compiler + tools |
Interview tip
“Production servers need JRE, developers need JDK.”
4. What is Object-Oriented Programming (OOP)?
Answer
OOP is a programming paradigm based on objects that contain:
- Data (fields)
- Behavior (methods)
Four pillars
- Encapsulation
- Inheritance
- Polymorphism
- Abstraction
5. Explain Encapsulation with a real example
Answer
Encapsulation means hiding internal data and exposing it through controlled methods.
Real-world analogy
ATM machine:
- You can withdraw money
- You cannot access internal cash storage
Code example
public class BankAccount {
private double balance;
public void deposit(double amount) {
if (amount > 0) {
balance += amount;
}
}
public double getBalance() {
return balance;
}
}
Interview tip
“Encapsulation improves security and maintainability.”
6. What is Inheritance? When should you use it?
Answer
Inheritance allows one class to reuse properties and behavior of another class.
Real-world example
Different users in a system:
- Admin
- Customer
- Manager
All share common fields.
Code example
class User {
String name;
String email;
}
class Admin extends User {
void manageUsers() {}
}
When NOT to use
-
When relationship is not “is-a”
-
Prefer composition over inheritance
-
-
7. What is Polymorphism?
Answer
Polymorphism means same method, different behavior.
Real-world example
Payment system:
- Credit card
- UPI
- Cash
Code example
interface Payment {
void pay(double amount);
}
class CardPayment implements Payment {
public void pay(double amount) {
System.out.println("Paid by card: " + amount);
}
}
class UpiPayment implements Payment {
public void pay(double amount) {
System.out.println("Paid by UPI: " + amount);
}
}
Interview line
“Polymorphism allows loose coupling and scalability.”
8. Difference between Abstract Class and Interface
| Feature | Abstract Class | Interface |
|---|---|---|
| Multiple inheritance | ❌ | ✅ |
| Method implementation | Yes | Default methods only |
| Fields | Variables | Constants only |
Real-world usage
-
Interface → contracts (PaymentGateway)
-
Abstract class → base functionality (BaseController)
-
-
9. What is the final keyword?
Usage
| Context | Meaning |
|---|---|
| final variable | Cannot change |
| final method | Cannot override |
| final class | Cannot inherit |
Code
final class Constants {
public static final String APP_NAME = "MyApp";
}
10. Difference between == and equals()
Answer
==→ compares referenceequals()→ compares content
Code example
String a = new String("Java");
String b = new String("Java");
System.out.println(a == b); // false
System.out.println(a.equals(b)); // true
Interview tip
Always override
equals()andhashCode()together.
11. What is the Java Memory Model?
Memory areas
| Area | Purpose |
|---|---|
| Heap | Objects |
| Stack | Method calls |
| Metaspace | Class metadata |
Real-world issue
Memory leak occurs when:
-
Objects are referenced but never used
-
-
12. What is Garbage Collection?
Answer
Automatic process that removes unused objects from memory.
Example
User user = new User();
user = null; // eligible for GC
Interview note
“We cannot force GC, only suggest it using
System.gc().”
13. Difference between ArrayList and LinkedList
| Feature | ArrayList | LinkedList |
|---|---|---|
| Access | Fast | Slow |
| Insert/Delete | Slow | Fast |
| Memory | Less | More |
Real-world usage
-
ArrayList → read-heavy operations
-
LinkedList → queue, stack
-
-
14. What is a HashMap and how does it work?
Answer
HashMap stores data as key-value pairs.
Internal working
- Hash key
- Find bucket
- Store value
Code example
Map<String, Integer> map = new HashMap<>();
map.put("apple", 10);
Important
-
Allows one
nullkey -
Not thread-safe
-
-
15. What is Exception Handling?
Answer
Exception handling prevents application crashes and allows graceful recovery.
Real-world example
Payment failure handling.
Code example
try {
int amount = Integer.parseInt("abc");
} catch (NumberFormatException e) {
System.out.println("Invalid number");
} finally {
System.out.println("Always executed");
}
16. Difference between Checked and Unchecked Exceptions
| Type | Example |
|---|---|
| Checked | IOException |
| Unchecked | NullPointerException |
Rule
-
Checked → must handle
-
Unchecked → runtime issues
-
-
17. What is Multithreading? Why is it important?
Answer
Multithreading allows parallel execution.
Real-world example
- Handling multiple API requests
- Background email sending
Code example
class Task extends Thread {
public void run() {
System.out.println("Task running");
}
}
new Task().start();
18. What is synchronized?
Answer
Ensures thread safety by allowing only one thread to access a block at a time.
Code
synchronized void withdraw(double amount) {
balance -= amount;
}
19. What is Java Stream API?
Answer
Streams allow functional style data processing.
Real-world example
Filtering active users.
Code example
users.stream()
.filter(u -> u.isActive())
.forEach(System.out::println);
20. What is Optional?
Answer
Optional avoids NullPointerException.
Code
Optional<User> user = findUser();
user.ifPresent(u -> System.out.println(u.getName()));
21. What is Spring Boot (Java context)?
Answer
Spring Boot simplifies Java backend development by:
- Auto-configuration
- Embedded server
- Production-ready features
Real-world usage
Most modern Java backend systems use Spring Boot.
22. Common Java Interview Mistakes ❌
-
Overusing inheritance
-
Ignoring immutability
-
Forgetting
hashCode() -
Catching
Exceptioninstead of specific exceptions -
-
23. How to explain Java confidently in interviews 🎯
Use this structure:
- Concept definition
- Real-world analogy
- Code example
- Best practice
✅ Final Tip
Interviewers care more about HOW you think than WHAT you memorize.
Explain Java using real systems you have worked on.