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

  1. Encapsulation
  2. Inheritance
  3. Polymorphism
  4. 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 reference
  • equals() → 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() and hashCode() 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

  1. Hash key
  2. Find bucket
  3. Store value

Code example

Map<String, Integer> map = new HashMap<>();
map.put("apple", 10);

Important

  • Allows one null key

  • 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 Exception instead of specific exceptions

23. How to explain Java confidently in interviews 🎯

Use this structure:

  1. Concept definition
  2. Real-world analogy
  3. Code example
  4. Best practice

✅ Final Tip

Interviewers care more about HOW you think than WHAT you memorize.
Explain Java using real systems you have worked on.