Java
1. Polymorphism in Java?
2. Abstract Classes vs Interfaces
a. When to use Abstract classes and when to use Interfaces
b. Is it possible to have method implementation in interfaces?
o If yes, then will it result in Diamond problem?
3. Serialization
o Main use case of using serialization?
o Transient keyword
4. Functional Programming Paradigm
a. What is functional interface and what are the examples
b. When functional interface was introduced
c. How it can be used with lambda expression
5. Easy questions
6. Stream
a. Intermediate (filter / map / sort) and terminal (forEach, collect) operations
b. When map function is used and when flatMap is used
7. Imperative vs Reactive Programming
Spring Boot
1. Annotations
a) Basic annotations – @SpringBootApplication, @Configuration
b) Purpose of conditional annotation
2. Differences among Controller / Service / Repository / Component
3. Purpose of Actuator (health check, metrics, JMX, etc.)
a) Default endpoint of Spring Actuator – /health, /info
4. Spring JPA
a) What is JPA (Java Persistent API, interface)
b) Hibernate (ORM, implementation)
c) Spring Data JPA
i. i. Does it require JPA provider?
ii. ii. What is the annotation to use?
5. Unit Testing
a) Mockito
i. What Java objects can be mocked (variable, method, class, etc.)
ii. Can async processes be mocked? How?
b) How to run E2E tests in Spring Boot
i. Can you start application to run E2E test?
c) Annotations
i. How @Mock and @MockBean are different:
@Mock – Mockito, not used by Spring context (unit test)
@MockBean – Spring Boot context (integration test)
6. Bean Validation
a) Annotations – @NotNull, @Min / @Max, @Size, @Valid
b) Types of validators – Jakarta, Hibernate Validator, etc.
c) Programmatic validation
Java Security / Authentication
1. What is Java keystore and types of keys stored?
a) Differences: private / public / certificate
2. API Key authentication (HTTP header)
3. JWT (JSON Web Token)
a) Have you used it?
b) How to generate the key and validate it?
4. SSL/TLS
a) Where certificates are stored in Java
b) Explain SSL handshake and termination point
Data Structures
1. ArrayList vs LinkedList vs Vector
2. Map, HashMap, and ConcurrentHashMap
Design Patterns
1. Singleton
2. Observer vs Pub/Sub
3. What is anti-pattern
4. Factory & Factory Method Pattern
5. Circuit Breaker
Multithreading, Concurrency & Asynchronous Programming
1. Runnable vs Callable
2. Futures
a. Completable Future
3. Executor Service
a. Thread pool (min/max)
b. Queue
c. How Runnable/Callable get executed
4. Threads
a. Platform vs Virtual Threads
b. Async and NIO Thread
c. Thread Scheduler
Exception Handling in Microservices
1. How to make microservices more resilient
2. Circuit Breaker pattern in microservices
Troubleshooting
1. Debugging experiences for microservices – what are the methods?
2. Experience with any enterprise monitoring tools?
a. a. Dynatrace / AppDynamics
Monitoring Tools
1. How can you expose statistics to external monitoring tools?
a. Splunk
2. Purpose of monitoring tools and what can be achieved?
a. Real-time dashboards and alerts
Cloud Native
1. Any cloud infrastructure experience – Azure / AWS / GCP
2. Scalability
a. What are vertical and horizontal scaling in cloud infrastructure?
3. Containerization
a. Docker basics
b. Benefit of Kubernetes cluster
i. Some commands to share (e.g., kubectl)
ii. What is a pod?
4. Load Balancer
a. Application load balancer – What are the rules that can be used?
Maven / Gradle
1. What to achieve – build/deploy, unit test, packaging, security plugins
2. Dependency Management
a. Parent project
b. Dependency resolution order
3. Scope
a. Compile vs Runtime
4. Best practices for uploading artifacts in package repository (e.g., nexus, artifactory)
a. CI/CD process
Other Questions
1. Lombok
2. Reactive vs Streaming
a. Observable vs Flowable
3. How do you debug a program?
a. What if you want to debug a running instance of a program in a remote location?
SDET / QA Specific Questions
1. Automation experiences
2. How would you plan for testing of a feature release?
3. JUnit – things achieved
4. CI/CD automation
Topics to be Covered
a. Spring Boot basics
b. Maven basics
c. Build and Run
d. Hibernate / JPA
e. Improvements in the project
f. Test cases
g. @ControllerAdvice / @RestControllerAdvice