1. How does `HashMap` work internally in Java 8+?

2. What happens when two keys have the same hash code?

3. How does `ConcurrentHashMap` achieve thread safety?

4. What is the difference between `volatile`, `synchronized`, and `AtomicInteger`?

5. How does the Java Memory Model work?

6. What happens when an object becomes eligible for Garbage Collection?

7. What causes `OutOfMemoryError` vs `StackOverflowError`?

8. How does the JVM ClassLoader work?

9. What is the difference between `String`, `StringBuilder`, and `StringBuffer`?

10. How would you identify and fix a memory leak in Java?

11. What problems can `ThreadLocal` cause in a thread pool?

12. How does `CompletableFuture` work internally?

13. What is ForkJoinPool and how does work-stealing work?

14. How would you detect and troubleshoot a deadlock?

15. What happens when you create too many threads in a Java application?

16. What are Weak, Soft, and Phantom References?

17. What is false sharing and how can it affect performance?

18. How would you investigate high GC pauses in production?

19. What happens internally when a Java thread calls `wait()`?

20. How would you troubleshoot high thread contention in a Java application?