Java & Spring Boot Interview Curriculum and Resource Guide (6+ Years Experience)
Curriculum Overview
1. Java Basics
• Data Types, Variables, and Operators
• Control Structures (if-else, switch, loops)
• Object-Oriented Programming (OOP)
• Inheritance, Polymorphism, Encapsulation, Abstraction
• Method Overloading vs Overriding
• Exception Handling
• try-catch-finally
• Custom Exceptions
• Checked vs Unchecked Exceptions
2. Advanced Java
• Java Collections Framework
• List, Set, Map, Queue
• HashMap vs TreeMap vs LinkedHashMap
• Concurrent Collections
• Streams and Lambdas
• Functional Interfaces
• Map/Filter/Reduce
• Java Concurrency
• Threads, Runnable, ExecutorService
• Synchronization, Locks, Deadlocks
• CompletableFuture
• Java 8+ Features
• Optional, DateTime API, Default Methods
3. Spring Framework
• Spring Core
• IoC Container
• Bean Life Cycle
• Spring MVC
• DispatcherServlet
• RequestMapping and Controllers
• Dependency Injection
• Constructor vs Field vs Setter Injection
4. Spring Boot
• Auto-Configuration
• Spring Boot Annotations (@SpringBootApplication, @Configuration)
• Spring Boot Actuator
• Spring Boot Security
• Basic Auth, JWT, OAuth2
1
• RESTful Web Services
• CRUD APIs
• Error Handling (@ControllerAdvice)
5. Database Interaction
• JPA and Hibernate
• Entity Mapping, Relationships
• Criteria API, JPQL
• Spring Data
• CrudRepository, JpaRepository
• Query Methods
6. Microservices
• REST vs SOAP
• Inter-Service Communication (Feign, RestTemplate, WebClient)
• API Gateway (Zuul, Spring Cloud Gateway)
• Service Discovery (Eureka)
• Configuration Management (Spring Cloud Config)
7. Testing
• Unit Testing with JUnit & Mockito
• Integration Testing with Spring Test
• TestContainers for DB Testing
Revision Checklist
Question Lists
Java Questions (100)
• What is the difference between == and .equals()?
• How does HashMap work internally?
• ... (up to 100 questions)
Spring Boot Questions (100)
• What is the purpose of @SpringBootApplication?
• How does Spring Boot auto-configuration work?
• ... (up to 100 questions)
Stream API Questions (100)
• How does map() differ from flatMap()?
• Provide an example using reduce().
• ... (up to 100 questions)
2
Multithreading Questions (100)
• Difference between synchronized and Lock interface.
• How to avoid deadlocks in Java?
• ... (up to 100 questions)
Scenario-Based Questions (100)
• How do you debug an OutOfMemoryError?
• What are your steps when facing slow API responses?
• ... (up to 100 questions)
Answers for Each Question
Q: What is the difference between == and .equals()?
Answer:
• == compares object references.
• .equals() checks logical equality (can be overridden).
Code Example:
String a = new String("hello");
String b = new String("hello");
System.out.println(a == b); // false
System.out.println(a.equals(b)); // true
Best Practice: Always use .equals() for value comparison unless checking reference identity is
intentional.
Pitfall: Using == for string value comparison leads to incorrect logic.
(This document includes placeholders for 500+ detailed Q&A items which will be filled iteratively based
on topic importance and difficulty.)