#Practical Guide
14 posts
-
Spring Boot Practical Guide Part 7: Logging Strategy and Practice
From SLF4J, Logback, Log4j2 comparison to structured logging, MDC, and centralized log management
-
Spring Boot Practical Guide Part 6: Monitoring and Observability
Real-time system monitoring with Prometheus, Grafana, and custom metrics
-
Spring Boot Practical Guide Part 5: Database Optimization
Handling large-scale data with index design, cursor-based pagination, and Read Replicas
-
Spring Boot Practical Guide Part 4: Resilience Patterns
Building fault-tolerant systems with Circuit Breaker, Rate Limiter, and Bulkhead
-
Spring Boot Practical Guide Part 3: Event-Driven Architecture
Building a reliable event system with Kafka and the Outbox pattern
-
Spring Boot Practical Guide Part 2: Caching Strategy and Redis
A complete caching guide from Cache-Aside pattern to cache problem resolution, ready to apply in production
-
Spring Boot Practical Guide Part 1: Concurrency Control and Inventory Management
A practical guide to solving concurrency issues with atomic UPDATEs and idempotency keys
-
Spring Boot Pre-Interview Guide Part 7: Advanced Patterns — Spring Boot 4 · Kotlin 2.3 · Events · Async · Multi-module
On Spring Boot 4 with Kotlin 2.3, the patterns that make your assignment stand out. Domain-and-side-effect separation via @TransactionalEventListener, async fan-out with @Async + CompletableFuture, file upload validation, URI versioning, layered vs Hexagonal vs CQRS, and multi-module Option A (DIP) vs Option B (pragmatic) — written without Lombok, using Kotlin primary constructors and val/var.
-
Spring Boot Pre-Interview Guide Part 6: DevOps & Deployment — Spring Boot 4 · Kotlin 2.3 · Docker · GitHub Actions
On Spring Boot 4 with Kotlin 2.3, this part covers what reviewers actually look at in the deployment layer: a Java 21 multi-stage Dockerfile, docker-compose with healthcheck + depends_on for real readiness, GitHub Actions with Gradle cache and JaCoCo coverage, profile-separated application.yml, and Actuator exposing health and prometheus — written without Lombok, using Kotlin primary constructors and val/var.
-
Spring Boot Pre-Interview Guide Part 5: Security & Authentication — Spring Boot 4 · Kotlin 2.3 · Spring Security 7, JWT (oauth2-resource-server), BCrypt vs Argon2, RBAC
On Spring Boot 4 with Kotlin 2.3, how to implement standard JWT authentication using Spring Security 7 and spring-boot-starter-oauth2-resource-server — JwtDecoder/JwtEncoder bean pair for verify and issue, JwtAuthenticationConverter mapping the role claim to ROLE_ authorities, @AuthenticationPrincipal Jwt for extracting the current user in controllers, picking between BCrypt and Argon2, @PreAuthorize plus service-layer resource ownership checks, and the common CORS traps — written from an evaluator's perspective on the security pieces of pre-interview assignments.
-
Spring Boot Pre-Interview Guide Part 4: Performance & Optimization — Spring Boot 4 · Kotlin 2.3 N+1, Pagination, Caching, QueryDSL
On Spring Boot 4 with Kotlin 2.3, learn the trade-offs between the three N+1 solutions (Fetch Join, @EntityGraph, @BatchSize), when to choose Page vs Slice vs Cursor, how to decide between Caffeine and Redis, and when QueryDSL and Projection actually earn their keep — the performance optimization checkpoints that separate passing assignments from standout ones, from an evaluator's perspective.
-
Spring Boot Pre-Interview Guide Part 3: Documentation & AOP — Spring Boot 4 · Kotlin 2.3 Swagger, MDC, Aspect Operations
On a Spring Boot 4 + Kotlin 2.3 stack — SpringDoc/Swagger conventions, MDC-based request tracing with sensitive-data masking, and separating cross-cutting concerns with AOP. The Documentation, Logging, and AOP areas that decide pre-interview score swings, written from an evaluator's perspective. Series Part 3.
-
Spring Boot Pre-Interview Guide Part 2: Database & Testing — Spring Boot 4 · Kotlin Environment Separation, Test Pyramid, Testcontainers
On a Spring Boot 4 + Kotlin stack — picking the right DB per environment, the ddl-auto policy, gotchas when implementing a Memory Repository, choosing annotations along the Test Pyramid, when to reach for Dummy/Stub/Spy/Mock/Fake, and using Testcontainers to surface the bugs H2's dialect differences hide. Written with data classes and val/var instead of Lombok. Series Part 2.
-
Spring Boot Pre-Interview Guide Part 1: Core Application Layer — Spring Boot 4 · Kotlin Four-Layer Design
The four-layer design points evaluators repeatedly flag in Spring Boot pre-interview assignments — Controller/Service/Repository/Domain responsibility split, Request → Command conversion, what @Transactional(readOnly=true) actually does, and the three-tier priority of GlobalExceptionHandler — written for a Spring Boot 4 + Kotlin stack where data classes, primary constructors, and val/var replace Lombok naturally. Series Part 1.