Skip to content

Guía técnica avanzada: Java 21, Spring Boot, Microservicios, Bases de Datos, Infraestructura (Docker/K8s/AWS) y System Design. Orientado a estándares de empresas Big Tech.

Notifications You must be signed in to change notification settings

SergioAcostaTer/java-mid-level-interview

Repository files navigation

📘 Guía de Estudio: Entrevista Backend Java (Spring Boot + PostgreSQL)

Bienvenido a mi repositorio de estudio para entrevistas técnicas de Backend Developer. Este contenido está enfocado en perfiles Junior a Mid-Level+ y cubre los pilares fundamentales del desarrollo moderno con Java, además de conceptos avanzados de arquitectura, DevOps y System Design.


🚀 Contenido del Curso

Haz clic en los enlaces para navegar a cada sección temática:

📚 Secciones Principales

  1. ☕ Java Core y Fundamentos - 51 preguntas

    • Conceptos básicos, OOP, Collections, Java 8+, Concurrencia
    • NUEVO: Pilares POO, Herencia Múltiple, Modificadores de Acceso, Composición vs Herencia
    • Generics, Reflection, Virtual Threads, Pattern Matching, Sealed Classes
  2. 🌱 Spring Boot y APIs REST - 24 preguntas

    • IoC/DI, Configuración, APIs REST, Testing
    • NUEVO: AOP, Events, Transacciones avanzadas, Caching
  3. 🗄️ JPA, Hibernate y Persistencia - 7 preguntas

    • Entity Lifecycle, Lazy Loading, N+1, Transacciones
  4. 🐘 Bases de Datos y PostgreSQL - 14 preguntas

    • SQL, Normalización, Window Functions, Índices, JSONB
    • NUEVO: CTE, Particionamiento, Full Text Search, Replicación
  5. 🏗️ Arquitectura, Testing y DevOps - 9 preguntas

    • SOLID, Testing, Seguridad (OAuth2/OIDC/JWT), Docker, CI/CD
  6. 🎯 Escenarios y Preguntas Situacionales - 7 preguntas

    • Troubleshooting, Resolución de problemas reales

🆕 Módulos Avanzados

  1. 🐳 Docker - 14 preguntas

    • Conceptos fundamentales, Dockerfile, Docker Compose
    • Multi-stage builds, Redes, Volúmenes, Comandos esenciales
  2. ☸️ Kubernetes - 13 preguntas

    • Arquitectura, Pods, Services, Deployments
    • ConfigMaps, Secrets, HPA, Ingress
  3. 🔥 Apache Kafka - 14 preguntas

    • Arquitectura, Topics, Particiones, Producers, Consumers
    • Kafka con Spring Boot, Kafka Streams, Transacciones
  4. 🧪 Testing Avanzado - 14 preguntas

  • Pirámide de testing, JUnit 5, Mockito avanzado
  • Testcontainers, Contract Testing, Mutation Testing
  1. 🏛️ System Design y Arquitectura - 18 preguntas

    • Monolito vs Microservicios, Event-Driven, CQRS, Saga
    • Escalabilidad, Circuit Breaker, Casos prácticos
    • Diseño de e-commerce, URL Shortener, Rate Limiter
  2. 🧠 DSA Patterns - FAANG Preparation - 18 patrones

    • Sliding Window, Two Pointers, Fast & Slow Pointers
    • Binary Search, Tree BFS/DFS, Graphs BFS/DFS
    • Backtracking, Dynamic Programming, Greedy Algorithms
    • Ejemplos optimizados, Complejidad detallada, LeetCode Cheat Sheets

🎯 Cómo usar este repositorio

Estudio Secuencial: Lee los archivos en orden (01 → 11)
Navegación Rápida: Cada archivo tiene un índice interno con enlaces directos
Cross-References: Conceptos relacionados están enlazados entre archivos
Práctica: Intenta responder antes de leer las soluciones


📊 Desglose por Tecnología

Tecnología Preguntas Archivo
Java Core 51 01-java-core.md
Spring Boot 24 02-spring-boot.md
JPA/Hibernate 7 03-jpa-hibernate.md
PostgreSQL 14 04-database-postgresql.md
Arquitectura 9 05-architecture-ops.md
Troubleshooting 7 06-behavioral.md
Docker 14 07-docker.md
Kubernetes 13 08-kubernetes.md
Kafka 14 09-kafka.md
Testing 14 10-testing.md
System Design 18 11-system-design.md
DSA Patterns 18 12-dsa-patterns.md
Total 203+

🔥 Temas Destacados (2024-2026)

Java Moderno

  • Java 17+: Records, Sealed Classes, Pattern Matching, Text Blocks
  • Java 21: Virtual Threads, Structured Concurrency
  • Generics avanzados: Wildcards, Type Erasure
  • Reflection API: Anotaciones personalizadas, ClassLoaders

Spring Boot 3

  • AOP: Aspectos para cross-cutting concerns
  • Events: Event-driven communication
  • Transacciones: Propagation, Isolation levels
  • Caching: Caffeine, Redis, estrategias

PostgreSQL Avanzado

  • CTE: Common Table Expressions y queries recursivas
  • Particionamiento: Estrategias de particionamiento
  • Full Text Search: Búsqueda de texto avanzada
  • Replicación: Alta disponibilidad

Containerización y Orquestación

  • Docker: Multi-stage builds, Docker Compose
  • Kubernetes: Deployments, Services, HPA, Ingress
  • CI/CD: Pipelines con contenedores

Testing

  • Testcontainers: Tests con bases de datos reales
  • Mockito avanzado: ArgumentCaptor, Spy, Static mocks
  • JUnit 5: Tests parametrizados, nested tests

System Design

  • Microservicios: Patrones de arquitectura
  • Event-Driven: Mensajería asíncrona, patrones
  • CQRS: Command Query Responsibility Segregation
  • Circuit Breaker: Resiliencia y tolerancia a fallos
  • Casos prácticos: E-commerce, URL Shortener, Rate Limiter

Apache Kafka

  • Arquitectura: Brokers, Topics, Particiones, Replicación
  • Producers/Consumers: Configuración, serialización, offset management
  • Spring Kafka: Integración con Spring Boot
  • Kafka Streams: Procesamiento en tiempo real
  • Transacciones: Exactly-once semantics
  • Patrones: Event Sourcing, CQRS, Saga, CDC

Data Structures & Algorithms

  • Patrones de Resolución: 18 patterns para entrevistas FAANG
  • Sliding Window: Maximum Sum, Longest Substring, Minimum Window
  • Two Pointers: TwoSum, 3Sum, Container With Water
  • Binary Search: Rotated Array, 2D Matrix, Binary Search on Answer
  • Tree Traversals: BFS (Level Order, Zigzag), DFS (Path Sum, LCA)
  • Graphs: DFS/BFS, Cycle Detection, Shortest Path
  • Dynamic Programming: Memoization, Tabulation, patrones clásicos
  • Complejidad: Análisis detallado de Time & Space O()
  • LeetCode Cheat Sheets: Problemas clasificados por patrón

🎓 Nivel de Preparación

Este repositorio te prepara para:

  • Junior Backend Developer (Módulos 1-6)
  • Mid-Level Backend Developer (Módulos 1-9)
  • Senior Backend Developer (Todos los módulos)
  • System Design Interviews (Módulos 9, 11)
  • Coding Interviews FAANG (Módulo 12: DSA Patterns)
  • Entrevistas técnicas en FAANG/Big Tech

📈 Roadmap de Estudio Sugerido

Semana 1-2: Fundamentos

  • Java Core (01-java-core.md)
  • Spring Boot básico (02-spring-boot.md)

Semana 3-4: Persistencia

  • JPA/Hibernate (03-jpa-hibernate.md)
  • PostgreSQL (04-database-postgresql.md)

Semana 5: Arquitectura y Testing

  • Arquitectura (05-architecture-ops.md)
  • Testing (10-testing.md)

Semana 6: Containerización

  • Docker (07-docker.md)
  • Kubernetes (08-kubernetes.md)

Semana 7: Mensajería

  • Kafka (09-kafka.md)

Semana 8: System Design & Algoritmos

  • Patrones avanzados (11-system-design.md)
  • DSA Patterns (12-dsa-patterns.md)
  • Casos prácticos y LeetCode

Nota: Este repositorio es una recopilación viva de preguntas frecuentes en entrevistas técnicas para el stack Java/Spring Boot actualizado a estándares 2024-2026.

¡Buena suerte en tus entrevistas! 🚀

About

Guía técnica avanzada: Java 21, Spring Boot, Microservicios, Bases de Datos, Infraestructura (Docker/K8s/AWS) y System Design. Orientado a estándares de empresas Big Tech.

Resources

Stars

Watchers

Forks