💡 Basic Java Microservices Interview Questions &
Answers
1. What are Microservices?
Answer:
Microservices are an architectural style where an application is divided into small, independent
services.
Each service focuses on a specific business capability and can be developed, deployed, and
scaled independently.
Example:
In an e-commerce app:
● Product Service
● Order Service
● Payment Service
● User Service
2. What are the advantages of using microservices?
✅
Answer:
✅
Independent deployment
✅
Better scalability
✅
Easy to maintain and test
✅
Technology flexibility (different services can use different tech stacks)
Fault isolation – one service failure doesn’t crash the whole app
3. What are the challenges in microservices architecture?
⚠️
Answer:
⚠️
Complex communication between services
Distributed data management
⚠️ Monitoring and debugging across services
⚠️ Deployment management and version control
4. What technologies are commonly used for building microservices in
Java?
Answer:
● Spring Boot – for creating microservices quickly
● Spring Cloud – for distributed system support (service discovery, config, load balancing)
● Netflix Eureka / Consul – service discovery
● Feign / RestTemplate / WebClient – for inter-service communication
● Docker / Kubernetes – for containerization and orchestration
5. What is Spring Boot and why is it used in microservices?
Answer:
Spring Boot simplifies Java application development by eliminating complex configurations.
It provides embedded servers (Tomcat, Jetty) and supports REST APIs — making it perfect for
microservices.
6. What is REST API and how does it relate to microservices?
Answer:
REST (Representational State Transfer) is a web standard used to communicate between
services via HTTP.
Each microservice usually exposes REST APIs to interact with others.
Example:
GET /products → Product Service
POST /orders → Order Service
7. How do microservices communicate with each other?
Answer:
● Synchronous – using REST APIs or gRPC
● Asynchronous – using message brokers like Kafka or RabbitMQ
8. What is Service Discovery in microservices?
Answer:
Service discovery helps microservices find and communicate with each other dynamically.
Instead of hardcoding IPs, they register themselves with a registry like Eureka Server.
9. What is API Gateway in microservices?
Answer:
An API Gateway acts as a single entry point for all client requests.
It routes requests to appropriate microservices and handles cross-cutting concerns
(authentication, rate limiting, etc.)
Example Tools:
● Netflix Zuul
● Spring Cloud Gateway
● NGINX
10. What is Load Balancing?
Answer:
Load balancing distributes incoming traffic across multiple instances of the same service to
ensure high availability and performance.
Example Tool: Ribbon, Spring Cloud LoadBalancer
⚙️ Intermediate Questions
11. How do you handle data sharing between microservices?
Answer:
Each microservice should have its own database (Database per service pattern).
If data needs to be shared:
● Use APIs
● Use events or message queues (Kafka, RabbitMQ)
12. How do you secure microservices?
Answer:
● Use OAuth 2.0 / JWT tokens for authentication
● Use Spring Security
● Use API Gateway for centralized authentication
13. What is Circuit Breaker Pattern?
Answer:
Circuit Breaker prevents cascading failures when a service is down.
It stops calling a failing service temporarily and provides a fallback response.
Example: Implemented using Resilience4j or Hystrix.
14. What is the role of Docker in microservices?
Answer:
Docker is used to containerize each microservice with its dependencies, making it easy to
deploy, run, and scale consistently across environments.
15. What is Kubernetes?
Answer:
Kubernetes (K8s) is an orchestration tool that automates deployment, scaling, and
management of containerized applications like microservices.
16. How do you handle configuration in microservices?
Answer:
Use Spring Cloud Config Server to store and manage configuration for all microservices
centrally.
17. How do you monitor microservices?
Answer:
● Use Spring Boot Actuator for health metrics
● Use tools like Prometheus, Grafana, or ELK Stack (Elasticsearch, Logstash, Kibana)
18. What is distributed tracing?
Answer:
It tracks requests across multiple microservices to debug performance issues.
Tools: Zipkin, Jaeger, Sleuth
19. What is the difference between Monolithic and Microservice
Architecture?
Feature Monolithic Microservices
Structure Single large Independent small services
codebase
Deploymen One unit Each service deployed
t independently
Scalability Scales whole app Scales individual services
Failure Whole app down Isolated failure
20. What is the 12-Factor App principle?
Answer:
It’s a set of best practices for building scalable and maintainable apps — often followed by
microservices.
Includes:
1. Codebase
2. Dependencies
3. Config
4. Backing services
5. Build, release, run
6. Processes
7. Port binding
8. Concurrency
9. Disposability
10.Dev/prod parity
11.Logs
12.Admin processes
🧠 Bonus: Simple Coding/Practical Questions
Q1: Create a simple REST API using Spring Boot for fetching all users.
Answer (Example Code):
@RestController
@RequestMapping("/users")
public class UserController {
@GetMapping
public List<String> getAllUsers() {
return [Link]("Ashish", "Priya", "Rahul");
}
}
Q2: How do you start a new microservice in Spring Boot?
Steps:
1. Create a new Spring Boot project
2. Add dependencies: Spring Web, Spring Boot Actuator, Spring Cloud
3. Create controller classes
4. Run the app using mvn spring-boot:run