Tech Interview Questions
171 subscribers
18 photos
1 file
67 links
Download Telegram
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
What is the difference between @RestController and @Controller?

Answer:

@Controller: A specialization of @Component used for defining controllers in Spring MVC. Typically used in conjunction with @RequestMapping to define request-handling methods. It returns views (HTML pages) via ModelAndView.

@RestController: Combines @Controller and @ResponseBody. It is used to create RESTful web services and automatically serializes Java objects into JSON or XML.
How does Spring Boot auto-configuration work?

Answer:

Spring Boot uses the @EnableAutoConfiguration annotation (or indirectly via @SpringBootApplication) to configure beans based on the libraries on the classpath and properties defined in application.properties or application.yml.

The spring.factories file inside META-INF lists all the auto-configuration classes, which are conditionally applied using @ConditionalOnClass, @ConditionalOnProperty, etc.
What is the difference between @Component, @Repository, and @Service?

Answer:

@Component: A generic stereotype annotation for any Spring-managed component.

@Repository: A specialization of @Component used to indicate a Data Access Object (DAO). Automatically translates database exceptions into Spring exceptions.

@Service: A specialization of @Component used to indicate a service layer bean. It is used to encapsulate business logic.
How does Spring Boot handle exceptions in REST APIs?

Answer:

Use @ControllerAdvice to define a global exception handler.

Handle exceptions with @ExceptionHandler methods in the advice class.

Return meaningful HTTP status codes and error messages in the response body.
What is the purpose of the @SpringBootApplication annotation?

Answer:

It is a combination of three annotations:

1. @SpringBootConfiguration: Similar to @Configuration.


2. @EnableAutoConfiguration: Enables Spring Boot's auto-configuration.


3. @ComponentScan: Scans the package where the application class resides.
What is the use of @Conditional annotations in Spring Boot?

Answer:

Spring Boot uses @Conditional annotations to enable conditional bean creation.

Examples:

@ConditionalOnClass: Bean is created only if a specific class is on the classpath.

@ConditionalOnProperty: Bean is created only if a specific property is defined in the configuration.
πŸ”₯3
Forwarded from Java Express
Today's demo session will cover Spring Boot features, and the trainer will conduct a quiz on Spring Boot basics and its key features. Don't miss it! πŸš€

πŸ”₯ Spring Boot & Microservices
πŸ”₯ Real Time Java Project
πŸ‘¨β€βœˆοΈ Trainer : Mr. Bhaskar

Day 3 : 20th Feb @ 9 OM IST
πŸ‘‰ Enroll Now for Meeting Details : https://bit.ly/4gyBoIV

πŸ“ž Join In WhatsApp : https://bit.ly/3Rbgvd1

Back Up Videos
Day 1 : https://youtu.be/TgPi69_iGRg
Day 2 : https://youtu.be/XEPQpuqBCAM