Java Interview Topics

This page lists all Java interview preparation topics in a structured, reference-style format. Each topic links to a dedicated interview page covering questions, scenarios, and common pitfalls.

Core Java – Foundation

Core Java – OOP & Collections

Concurrency & JVM

  • Multithreading in Java
  • Thread vs Process
  • Thread Lifecycle
  • synchronized Keyword
  • volatile Keyword
  • Deadlock in Java
  • Race Condition in Java
  • wait() notify() notifyAll()
  • ExecutorService in Java
  • ThreadPoolExecutor Internals
  • ForkJoinPool in Java
  • Callable vs Runnable
  • Atomic Variables in Java
  • JVM Memory Model
  • Garbage Collection in Java
  • OutOfMemoryError Analysis
  • Memory Leaks in Java
  • Soft Weak Phantom References
  • JIT Compiler in Java
  • Reflection API Basics

Advanced Core Java

  • Producer Consumer Problem
  • Custom Exception Design
  • Checked vs Unchecked Exceptions
  • final vs finally vs finalize
  • Serialization in Java
  • transient Keyword
  • Cloneable Interface
  • Shallow Copy vs Deep Copy
  • Immutability Design in Java
  • LRU Cache Implementation
  • Thread Safe Singleton
  • ClassLoader Hierarchy
  • Metaspace vs PermGen
  • JVM Tuning Basics
  • Java Performance Optimization

Expert Java & System Design

  • Garbage Collector Comparison
  • G1 vs ZGC vs Shenandoah
  • High Performance Java Design
  • Object Pooling in Java
  • Caching Strategies in Java
  • Low Latency Java Systems
  • Java Memory Optimization
  • Concurrency Design Patterns
  • Scalability in Java Applications
  • Java System Design Interviews

Java Design Patterns

  • Singleton Design Pattern
  • Factory Design Pattern
  • Abstract Factory Pattern
  • Builder Pattern
  • Prototype Pattern
  • Adapter Pattern
  • Bridge Pattern
  • Composite Pattern
  • Decorator Pattern
  • Facade Pattern
  • Proxy Pattern
  • Chain of Responsibility Pattern
  • Observer Pattern
  • Strategy Pattern
  • Template Method Pattern
  • Command Pattern

Interview Gap-Filling Topics (Why / Trade-offs)

  • Why HashMap Is Not Thread-Safe
  • Why String Is Immutable in Java
  • Why equals and hashCode Must Be Overridden Together
  • Why Java Does Not Support Multiple Inheritance
  • Why Composition Is Preferred Over Inheritance
  • Why wait notify Are Defined in Object Class
  • Why volatile Does Not Guarantee Atomicity
  • Why synchronized Reduces Performance
  • Why Java Uses Pass-by-Value Only
  • Why Thread.stop Is Deprecated
Scroll to Top