Java & Angular Interview Q&A; (Full Stack Edition)
■ Java + Spring Boot Interview Questions & Answers
Q: What are microservices and why do we use them?
A: Microservices are small, independently deployable services that perform a specific
business function. They improve scalability, fault isolation, and development speed.
Q: How do microservices communicate with each other?
A: Using REST APIs for synchronous communication and Kafka or RabbitMQ for
asynchronous messaging. This ensures decoupled and scalable architecture.
Q: What is the Circuit Breaker pattern and how did you implement it?
A: Circuit Breaker prevents repeated calls to a failing service. Implemented using
Resilience4j, it defines Closed, Open, and Half-Open states and supports fallback
methods.
Q: How do you handle retries and timeouts in microservices?
A: We configured Spring Retry with exponential backoff and used
WebClient/RestTemplate timeouts to prevent thread blocking.
Q: What are some common design patterns you’ve used?
A: Circuit Breaker, Retry, API Gateway, Repository, DTO, and Builder patterns.
Q: How is logging and monitoring handled in your microservices?
A: Using Logback for JSON logs and Splunk for centralized log monitoring with traceId and
transactionId correlation.
Q: How do you ensure application security in microservices?
A: By implementing OAuth2 with JWT, HTTPS endpoints, and secure secret management
in Kubernetes.
Q: How do you manage configuration across environments?
A: Using Spring Cloud Config and Helm [Link] to separate dev, QA, and prod
properties.
Q: What is your CI/CD pipeline setup?
A: GitHub Actions handled CI (testing, scanning) and CD (Docker image creation,
Kubernetes deployment with approvals).
Q: How do you handle exceptions and global error responses in Spring
Boot?
A: Using @ControllerAdvice with @ExceptionHandler methods to return consistent JSON
error responses.
Q: How do you handle database transactions in Spring Boot?
A: Using @Transactional for atomic operations with rollback on exceptions.
Q: How do you manage API versioning in microservices?
A: Through URI versioning like /api/v1/ and /api/v2/ for backward compatibility.
■ Angular Interview Questions & Answers
Q: What is Angular and why did you use it?
A: Angular is a TypeScript-based frontend framework for building single-page applications.
We used it for dashboards and form-based modules.
Q: How does two-way data binding work in Angular?
A: It uses [(ngModel)] to sync data between the component and view in real-time.
Q: How do you handle routing in Angular?
A: By configuring routes in [Link] using RouterModule, along with route
guards for authentication.
Q: How do you consume REST APIs in Angular?
A: Using HttpClient for GET, POST, PUT, DELETE requests and handling errors via
HttpInterceptor.
Q: How do you manage state in Angular?
A: For small apps, service-based state management; for large ones, NgRx or Akita store
management.
Q: How do you implement reactive forms and validations?
A: Using FormGroup, FormControl, and Validators for dynamic form creation and
validation.
Q: How do you optimize Angular app performance?
A: By lazy loading modules, using OnPush strategy, and caching static assets.
Q: How do you secure Angular applications?
A: Using JWT authentication, route guards, and environment-specific configurations.
Q: How do you handle build and deployment for Angular?
A: Using ng build --prod and deploying the dist folder via Nginx inside Docker containers.
Q: How do you integrate Angular with a Spring Boot backend?
A: By exposing REST APIs in Spring Boot and consuming them using Angular HttpClient,
with [Link] for local dev to avoid CORS issues.