1. Explain the difference between a process and a thread.
2. How does garbage collection work in Java?
3. What is a race condition? How can it be avoided?
4. Describe the concept of dynamic programming with an example.
5. How does a HashMap work internally in Java?