1.Can you explain the internal working of HashMap in Java? 2. How can you convert a HashMap into an ArrayList? 3. How can you use a custom class as a key in a HashMap? 4. If a class has four variables (two private and two public) with generated getters and setters, does it still achieve encapsulation? Why or why not? 5. Can you describe a deadlock situation in Java? How can it be avoided? 6. How is exception handling managed in Spring Boot applications? 7. In Spring Boot, if you don't want to use the embedded server (like Tomcat) and prefer JBoss, how can you configure it? 8. What is the difference between the @Bean and @Component annotations in Spring? 9. What is the purpose of the "spring-boot-starter-parent" dependency in Spring Boot? 10. How do you create REST APIs in Spring Boot? How do you secure these REST endpoints? 11. What are @RestController and @Controller annotations in Spring? In which scenarios would you use each of them? 12. What are the best practices or rules for designing REST APIs? 13. Are you working with microservices? If yes, how do these microservices communicate with each other? 14. How have you implemented "RestTemplate" for communication between microservices in your project? 15. Can you explain the common design patterns used in microservices architecture? 16. What is the circuit breaker design pattern? How did you implement it in your project? 17. Do you have experience in writing test cases? Which testing frameworks do you use? 18. What is the purpose of the @Mock and @InjectMocks annotations in unit testing?