- Best practices for exception handling?
- Can `finally` block be skipped?
- Difference between `Comparable` and `Comparator`?
- Difference between `Error` and `Exception`?
- Difference between checked and unchecked exceptions?
- How do you declare and initialize variables in Java?
- How do you define methods and constructors?
- How do you use `break` and `continue`?
- How does Java achieve platform independence?
- How does the `switch` statement work?
- How is inheritance implemented using `extends`?
- How to handle multiple exceptions in one `catch`?
- How to iterate over Collections?
- How to sort a Collection?
- How to throw custom exceptions?
- How to use `try`, `catch`, `finally`?
- Purpose of the `throws` keyword?
- What are access modifiers and their scope?
- What are the different types of loops in Java?
- What are the different types of operators in Java?
- What are the four pillars of OOP?
- What are the implementations of `Set` (HashSet, TreeSet, LinkedHashSet)?
- What are the main interfaces in the Collections Framework?
- What are the primitive data types in Java?
- What are thread-safe Collection classes?
- What is a class and an object?
- What is an exception in Java?
- What is encapsulation and its benefits?
- What is method overloading and overriding?
- What is polymorphism and how is it achieved?
- What is the difference between JDK, JRE, and JVM?
- What is the difference between `==` and `.equals()`?
- What is the difference between `==` and `.equals()`?
- What is the difference between `List`, `Set`, and `Map`?
- What is the difference between abstract class and interface?
- What is the exception hierarchy?
- What is the purpose of generics in Collections?
- What is the purpose of the `static` keyword?
- What is type casting and its types?
- When to use `ArrayList` vs `LinkedList`?
- When to use `HashMap` vs `TreeMap` vs `LinkedHashMap`?
- Benefits of using frameworks?
- Core concepts of Spring Framework (IoC, AOP, DI)?
- Difference between `save()` and `persist()` in Hibernate?
- Difference between framework and library?
- How does Spring Security work?
- How to add dependencies (Maven, Gradle)?
- How to choose the right framework?
- How to configure Spring applications?
- How to create RESTful APIs using Spring Boot?
- How to perform database operations using JPA?
- Popular Java frameworks for web development?
- Popular Java libraries for data processing?
- What are Hibernate annotations?
- What are Spring Beans?
- What are Spring MVC components?
- What are common annotations used in frameworks?
- What is Aspect-Oriented Programming (AOP)?
- What is Hibernate and how does ORM work?
- What is Inversion of Control (IoC)?
- What is dependency injection?
- Basics of HTTP and RESTful APIs in Java?
- Difference between TCP and UDP?
- Difference between `InputStream` and `Reader`?
- How to create a simple server in Java?
- How to create a socket connection?
- How to handle file encoding?
- How to handle network exceptions?
- How to implement client-server communication?
- How to read and write to files?
- How to serialize and deserialize objects?
- How to work with URLs?
- How to work with directories?
- Main classes for file I/O?
- What are buffered streams and why use them?
- What are byte streams and character streams?
- What are the different file access modes?
- What are the key classes for network programming?
- What is a port number?
- What is the `java.net` package for?
- What is the `java.nio` package?
- Common causes of `OutOfMemoryError`?
- Different GC algorithms?
- Different parts of JVM memory (Heap, Stack, Metaspace/PermGen)?
- How does GC determine objects to collect?
- How to monitor JVM performance and GC?
- Role of `finalization`?
- Types of garbage collectors in HotSpot?
- What are JVM options and how to configure?
- What is garbage collection?
- What is the architecture of the JVM?
- What are default and static methods in interfaces (Java 8)?
- What are functional interfaces?
- What are lambda expressions and how do they work?
- What are modules in Java 9 (Project Jigsaw)?
- What are sealed classes (Java 17)?
- What are text blocks (Java 15)?
- What is `Optional` and why use it?
- What is local-variable type inference (`var` in Java 10)?
- What is the Stream API and how to use it?
- What is the `java.time` package?
- Common concurrency issues (race conditions, deadlocks)?
- Difference between `wait()`, `notify()`, `notifyAll()`?
- How to create threads (Thread vs Runnable)?
- How to synchronize access to shared resources (`synchronized`)?
- How to use `java.util.concurrent` package?
- What are `ExecutorService` and `ThreadPoolExecutor`?
- What are `Future` and `Callable`?
- What are locks and monitors?
- What are the thread states?
- What is a thread in Java?
- Common debugging techniques?
- Different types of software testing?
- How to Inspect Variables in Java
- How to analyze stack traces?
- How to debug Java applications in an IDE?
- How to debug multithreaded applications?
- How to measure test coverage?
- How to perform integration testing?
- How to profile Java code?
- How to step through code?
- How to test exceptions?
- How to use breakpoints?
- How to use logging frameworks (Log4j, SLF4j)?
- How to write effective test cases?
- How to write unit tests (JUnit)?
- What are assertions in JUnit?
- What are mocking frameworks (Mockito)?
- What are remote debugging?
- What are test fixtures and test runners?
- What is test-driven development (TDD)?