Round 1 (Technical + Teamwork + Java + Spring Boot + Hibernate)
1. How do you work in a team? What steps does your team follow when a new requirement comes in, and what are your responsibilities as a team member?
2. Agile methodology, Jira, and collaboration platforms.
3. Best feature of Java you like most and how Java compares to other languages.
4. Which is the best LTS version of Java and its key feature updates.
5. Write Java Stream code to find a list of strings having a given prefix (case insensitive).
- Example: input → prefix = "san", list = {"sandeep", "sandy", "abhishek"} → output = {"sandeep", "sandy"}
6. Write Java Stream code to find a list of strings containing a given substring (case insensitive).
- Example: input → substring = "sh", list = {"shandeep", "sandy", "abhishek"} → output = {"shandeep", "abhishek"}
7. Uses and benefits of the static keyword.
8. Singleton pattern and techniques to break it.
9. Difference between Spring and Spring Boot, and the benefits of Spring Boot.
10. Purpose of @SpringBootApplication annotation.
11. How to configure multiple databases in the same Spring Boot project.
12. How to measure database-to-API response time on millions of records, and how to optimize it.
13. Utilization of multi-tenant schema in Spring Boot.
14. Handling errors during database processing.
15. Configuring multiple JNDI names with Hibernate.
16. Hibernate caching (levels, usage, benefits).
17. Types of authentication and workflow of OAuth 2.0.
Round 2 (Microservices, System Design, Database Design)
1. Difference, benefits, and drawbacks of Monolithic vs. Microservices architectures.
2. Common Microservices design patterns.
3. How to make synchronous communication between two microservices.
4. How to handle authentication in microservices.
5. Managing security in microservices.
6. Role of proxy and load balancer.
7. How to manage API gateways.
8. Fan-in / Fan-out structure.
9. Difference between JBoss Domain mode and Standalone mode.
10. Datasource configuration in JBoss server.
11. Table normalization and database design for storing address details.
12. How to perform suggestions/matching based on partial string (street name, house number).