Roadmap :

Core Java Interview Questions

Core Java Interview Questions

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?

More :