Tech Interview Questions
171 subscribers
18 photos
1 file
67 links
Download Telegram
Channel photo updated
What are alternatives to Eureka, and why might you choose them?

Alternatives: Consul, Zookeeper, Kubernetes Service Discovery.

Choose based on requirements like scalability, ease of setup, and cloud-native compatibility.
Can Eureka work in a cloud-native microservices environment? How?

Yes, by leveraging its service registry features, Eureka can integrate seamlessly with container orchestration tools like Kubernetes.
πŸ‘1
What is the role of an API gateway in microservices?

API Gateway acts as a single entry point for all clients. It handles routing, authentication, load balancing, caching, and service discovery.
What is the difference between synchronous and asynchronous communication in microservices?

Synchronous: Services communicate in real-time using protocols like HTTP/REST or gRPC (e.g., immediate responses).

Asynchronous: Communication happens via message queues (e.g., RabbitMQ, Kafka), allowing services to process requests independently.
How do microservices communicate with each other?

Through lightweight communication protocols such as:

Synchronous: HTTP/REST, gRPC

Asynchronous: Message brokers like RabbitMQ, Apache Kafka, or AWS SQS
Tech Interview Questions pinned Β«Please vote your rolesΒ»
What is the difference between @Controller and @RestController?
β€’
@Controller is used to define a Spring MVC controller that returns a view (e.g., JSP, Thymeleaf).
β€’
@RestController is a convenience annotation that combines @Controller and @ResponseBody. It is used when the controller returns data directly (e.g., JSON, XML) instead of a view.
What are Spring Profiles? How are they useful?
β€’
Spring Profiles allow you to define different configurations for different environments (e.g., dev, test, prod).
β€’ They are activated using
spring.profiles.active in application.properties or via environment variables.
β€’ Example:
@Profile("dev") ensures a bean is only loaded in the dev environment.
Explain the difference between @Component, @Repository, and @Service.
β€’
@Component: Generic annotation for Spring-managed components.
β€’
@Repository: Specialized for Data Access Objects (DAO). It provides exception translation.
β€’
@Service: Specialized for the service layer. Indicates a service class for business logic.
πŸ‘1
What is the difference between @Component and @Configuration in Spring?
β€’
@Component: Marks a class as a Spring-managed bean. It’s generally used for classes like services, repositories, or controllers.
β€’
@Configuration: A specialized @Component used for defining bean creation methods explicitly using @Bean. It ensures singleton behavior for beans defined within the class.
πŸ‘1