07 November 2020

#Spring_Cloud

#Spring_Cloud

Key Concepts


Topic Sub-Topics Basic Intermediate Advanced Expert
Introduction Microservices, Advantages, Spring Cloud overview
Configuration Management Spring Cloud Config Server, Config Client, Encryption/Decryption
Service Discovery Eureka Server, Eureka Client, Registration, Discovery
Load Balancing Ribbon, Spring Cloud LoadBalancer, Client-side vs Server-side
API Gateway Zuul, Spring Cloud Gateway, Routing, Filters
Declarative REST Clients Feign, @FeignClient, Custom configurations
Circuit Breaker Hystrix, Resilience4j, Fallback methods
Distributed Tracing Sleuth, Zipkin, Trace context propagation
Messaging & Event-driven Spring Cloud Stream, RabbitMQ/Kafka integration
Service Mesh Integration Istio, Linkerd, Observability, Security
Spring Cloud Bus Event broadcasting, Refresh events, Configuration updates
Security OAuth2, JWT, Spring Cloud Security, Single Sign-On
Monitoring & Metrics Micrometer, Prometheus, Grafana, Actuator integration
Resilience Patterns Retry, Rate Limiting, Bulkhead pattern
Deployment & Cloud Platforms AWS, Azure, Kubernetes, Docker integration
Advanced Topics Reactive microservices, Function-as-a-Service, Serverless integration

Interview question

1. Introduction & Basics

  1. What is Spring Cloud, and why is it used?
  2. Difference between monolithic and microservices architecture.
  3. What are the advantages of using Spring Cloud?
  4. Explain key Spring Cloud modules.
  5. How does Spring Cloud simplify microservices development?
  6. What is the difference between Spring Cloud and Spring Boot?
  7. What is a distributed system?
  8. What challenges do microservices solve?
  9. What is service discovery, and why is it needed?
  10. Explain the concept of centralized configuration in Spring Cloud.

2. Configuration Management

  1. What is Spring Cloud Config Server?
  2. How does Spring Cloud Config Client work?
  3. How to store configuration in Git repository?
  4. How to encrypt sensitive properties in Config Server?
  5. How to refresh configuration without restarting the app?
  6. Explain @RefreshScope annotation.
  7. What is native profile in Config Server?
  8. How to override properties using environment variables?
  9. Difference between bootstrap.yml and application.yml.
  10. How does Spring Cloud handle multiple configuration sources?

3. Service Discovery

  1. What is Eureka Server?
  2. How do microservices register with Eureka?
  3. How do clients discover services using Eureka?
  4. Explain Eureka Client vs Server.
  5. How does Eureka maintain service health?
  6. How to implement load balancing with Eureka?
  7. Difference between Ribbon and Eureka integration.
  8. What are Eureka instance metadata properties?
  9. How to make a Eureka client fail fast?
  10. How to handle Eureka server downtime?

4. Load Balancing

  1. What is client-side load balancing?
  2. Difference between Ribbon and Spring Cloud LoadBalancer.
  3. How to configure Ribbon load balancing rules?
  4. How does Spring Cloud LoadBalancer choose instances?
  5. How to implement weighted load balancing?
  6. What is the difference between client-side and server-side load balancing?
  7. How to integrate load balancing with Eureka?
  8. How to configure retries with Ribbon or LoadBalancer?
  9. How to implement round-robin load balancing?
  10. How to combine load balancing with circuit breakers?

5. API Gateway

  1. What is an API Gateway?
  2. Difference between Zuul and Spring Cloud Gateway.
  3. How does routing work in API Gateway?
  4. How to implement filters in Spring Cloud Gateway?
  5. How to handle authentication via API Gateway?
  6. How to implement rate limiting in API Gateway?
  7. How to transform requests and responses in Gateway?
  8. How to integrate Gateway with Eureka?
  9. How to implement path-based routing?
  10. How to enable retries and fallback in Gateway?

6. Declarative REST Clients (Feign)

  1. What is Feign client in Spring Cloud?
  2. How to define a Feign client using @FeignClient?
  3. How to customize Feign request interceptors?
  4. How to handle exceptions in Feign clients?
  5. How to integrate Feign with Ribbon for load balancing?
  6. How to use Feign with OAuth2 authentication?
  7. How to handle timeouts in Feign?
  8. How to fallback for Feign client failures?
  9. How to enable logging in Feign?
  10. Difference between Feign and RestTemplate.

7. Circuit Breaker

  1. What is a circuit breaker in microservices?
  2. How does Hystrix work?
  3. How to define fallback methods in Hystrix?
  4. Difference between Hystrix and Resilience4j.
  5. How to configure timeout and thresholds for circuit breakers?
  6. How to monitor Hystrix metrics?
  7. How to implement bulkhead pattern?
  8. How to implement retry mechanism?
  9. Difference between synchronous and asynchronous circuit breaker.
  10. How to integrate circuit breakers with Feign clients?

8. Distributed Tracing

  1. What is distributed tracing?
  2. How does Spring Cloud Sleuth work?
  3. How to integrate Sleuth with Zipkin?
  4. What is a trace ID and span ID?
  5. How does Sleuth propagate trace context?
  6. How to visualize traces in Zipkin UI?
  7. How to filter logs by trace ID?
  8. Difference between Sleuth and OpenTelemetry.
  9. How to debug slow service calls using tracing?
  10. How to combine tracing with metrics for observability?

9. Messaging & Event-driven

  1. What is Spring Cloud Stream?
  2. How to integrate RabbitMQ with Spring Cloud Stream?
  3. How to integrate Kafka with Spring Cloud Stream?
  4. What are bindings and channels in Spring Cloud Stream?
  5. How to implement event-driven microservices?
  6. Difference between point-to-point and publish-subscribe messaging.
  7. How to configure message converters?
  8. How to handle retries in messaging?
  9. How to implement dead-letter queues?
  10. How to consume messages asynchronously?

10. Advanced Topics & Deployment

  1. What is Spring Cloud Bus?
  2. How to broadcast configuration changes via Cloud Bus?
  3. How to integrate Spring Cloud with Kubernetes?
  4. How to deploy Spring Cloud apps on AWS/Azure?
  5. What is service mesh, and how does it integrate with Spring Cloud?
  6. How to implement OAuth2 / JWT in microservices?
  7. How to monitor microservices using Prometheus/Grafana?
  8. What is reactive microservices with Spring Cloud WebFlux?
  9. How to implement serverless functions with Spring Cloud Function?
  10. Best practices for building production-ready Spring Cloud applications.

Related Topics