Core Java Interview Questions 2025

Java is one of the most widely used programming languages for building enterprise applications, web services, and Android applications. Preparing for a Java interview requires a strong grasp of fundamental concepts, object-oriented principles, multithreading, collections, exception handling, and Java 8+ features.

This guide provides a structured set of Core Java interview questions along with useful resources to help you prepare effectively.

Basic Java Concepts

  • What is Java and what are its main features?
  • Explain the difference between JDK, JRE, and JVM.
  • What is platform independence in Java?
  • What is the difference between path and classpath?
  • What are the different types of variables in Java?
  • What is the difference between local and instance variables?
  • What are static variables?
  • What is a constructor?
  • What are the different types of constructors?
  • What is the difference between break and continue statements?
  • What is the difference between final, finally, and finalize?
  • What is the difference between throw and throws?
  • What is the difference between == and .equals()?
  • What is the difference between String, StringBuilder, and StringBuffer?
  • Why is String immutable in Java?
  • What is the String pool?
  • What are wrapper classes?
  • What is the difference between primitive and reference types?
  • What is the difference between stack and heap memory?
  • What is the difference between shallow copy and deep copy?
  • What is the difference between System.out.println() and System.err.println()?
  • What is the difference between import and static import in Java?
  • What is the difference between instanceof and isInstance()?

Object-Oriented Programming

  • What are the main principles of OOP?
  • What is the difference between a class and an object?
  • What is inheritance?
  • Why doesn't Java support multiple inheritance?
  • What is method overloading?
  • What is method overriding?
  • What is polymorphism?
  • What is the difference between compile-time and runtime polymorphism?
  • What is abstraction?
  • What is encapsulation?
  • What is the difference between abstract class and interface?
  • What is composition?
  • What is aggregation?
  • What is the difference between association, aggregation, and composition?
  • What is the singleton pattern?
  • What is the factory pattern?
  • What is dependency injection?
  • What is the difference between strategy and factory pattern?
  • What is the observer pattern?
  • What is the decorator pattern?
  • What is the difference between tight coupling and loose coupling?
  • What is the difference between a concrete class and an abstract class?
  • What is the difference between a static method and an instance method?

Data Types and Variables

  • What are primitive data types in Java?
  • What is type casting?
  • What is autoboxing and unboxing?
  • What is the difference between == and .equals()?
  • What is the difference between String, StringBuilder, and StringBuffer?
  • Why is String immutable in Java?
  • What is the String pool?
  • What are wrapper classes?
  • What is the difference between primitive and reference types?
  • Explain final keyword with variables, methods, and classes.
  • What is the difference between stack and heap memory?
  • What is the difference between shallow copy and deep copy?
  • What is the difference between int and Integer?
  • What is the difference between float and double?
  • What is the difference between char and Character?

Control Flow and Exception Handling

  • What are the different types of loops in Java?
  • What is the switch statement?
  • What is exception handling?
  • What is the difference between checked and unchecked exceptions?
  • What is the try-with-resources statement?
  • Explain the hierarchy of Exception classes.
  • What is the difference between throw and throws?
  • What is the finally block?
  • Can we have try without catch?
  • What is exception propagation?
  • What is the difference between final, finally, and finalize?
  • What is the difference between Error and Exception?
  • What is the purpose of the assert keyword?
  • What is the difference between throw and throws?

Collections Framework

  • What is the Collections Framework?
  • What is the difference between List and Set?
  • What is the difference between ArrayList and LinkedList?
  • What is the difference between HashSet and TreeSet?
  • How does HashMap work internally?
  • What is the difference between HashMap and Hashtable?
  • What is the difference between HashMap and ConcurrentHashMap?
  • What is the load factor in HashMap?
  • What is the difference between fail-fast and fail-safe iterators?
  • How to make a collection read-only?
  • What is the difference between shallow copy and deep copy?
  • What is the difference between Iterator and ListIterator?
  • What is the difference between Comparable and Comparator?
  • What is the difference between Vector and ArrayList?

Multithreading

  • What is multithreading?
  • What is the difference between process and thread?
  • What are different ways to create threads?
  • What is synchronization?
  • What is the difference between synchronized method and synchronized block?
  • What is deadlock?
  • What is thread starvation?
  • What is the volatile keyword?
  • What is the difference between wait() and sleep()?
  • What is thread pool?
  • What is the difference between final, finally, and finalize?
  • What is the difference between notify() and notifyAll()?
  • What is the difference between yield() and join()?
  • What is the difference between Callable and Runnable?

Java 8 Features

  • What are lambda expressions?
  • What are functional interfaces?
  • What is Stream API?
  • What is the difference between intermediate and terminal operations in streams?
  • What is Optional class?
  • What are default methods?
  • What is method reference?
  • What is the difference between Comparator and Comparable?
  • What are the new features in Java 8 Date/Time API?
  • What is forEach() method in Iterable interface?
  • What is the difference between Predicate and Function?
  • What is the difference between map() and flatMap() in Stream API?
  • What is the purpose of Collectors in Java 8?

Memory Management

  • How is memory managed in Java?
  • What is garbage collection?
  • What are different types of references in Java?
  • What is memory leak?
  • What is the difference between stack and heap memory?
  • What is the OutOfMemoryError?
  • What are different types of garbage collectors?
  • What is the finalize() method?
  • What is the difference between final, finally, and finalize?
  • How to force garbage collection?
  • What is the difference between SoftReference and WeakReference?
  • What is the difference between Minor GC and Major GC?
  • What is the purpose of the System.gc() method?

File Handling and I/O

  • What is the difference between FileInputStream and FileReader?
  • What is serialization?
  • What is the transient keyword?
  • What is externalization?
  • What is the difference between Reader/Writer and InputStream/OutputStream?
  • What is BufferedReader?
  • What is the difference between getPath() and getAbsolutePath()?
  • What is NIO?
  • What are channels and buffers?
  • What is memory-mapped file I/O?
  • What is the difference between FileInputStream and BufferedInputStream?
  • What is the purpose of the RandomAccessFile class?
  • What is the difference between File and Path in Java NIO?

Advanced Concepts

  • What is reflection in Java?
  • What are annotations?
  • What is marker interface?
  • What is the difference between abstract class and interface?
  • What is composition?
  • What is aggregation?
  • What is the difference between association, aggregation, and composition?
  • What is the singleton pattern?
  • What is the factory pattern?
  • What is dependency injection?
  • What is the difference between ClassNotFoundException and NoClassDefFoundError?
  • What is the difference between ClassLoader and Class?
  • What is the purpose of the Proxy class in Java?

Java EE Basics

  • What is JDBC?
  • What is the difference between Statement and PreparedStatement?
  • What is connection pooling?
  • What is a servlet?
  • What is JSP?
  • What is the difference between forward and redirect?
  • What is the MVC pattern?
  • What are Java Beans?
  • What is the difference between GET and POST methods?
  • What are cookies and sessions?
  • What is the difference between HttpServlet and GenericServlet?
  • What is the purpose of the Filter in Java EE?
  • What is the difference between JSP and JSF?

Best Practices and Design

  • What are SOLID principles?
  • What is clean code?
  • What is the difference between shallow copy and deep copy?
  • What is immutable class?
  • How to create an immutable class?
  • What is the difference between strategy and factory pattern?
  • What is the observer pattern?
  • What is the decorator pattern?
  • What are design patterns?
  • What is the difference between composition and inheritance?
  • What is the difference between Builder and Factory pattern?
  • What is the purpose of the Adapter pattern?
  • What is the difference between Facade and Proxy pattern?

Join our WhatsApp Channel for more resources!

Check JavaScript interview questions