Orden recomendado para sacarle el máximo partido al repo. Cada módulo tiene README.md (teoría), Entrevista.md (preguntas de entrevista) y archivos Java ejecutables donde aplica.
Empieza aquí si preparas una entrevista técnica Java desde cero o quieres refrescar los conceptos base.
- 01 · Lambdas — interfaces funcionales, sintaxis, referencias a métodos
- 02 · Streams — pipeline lazy, operaciones intermedias/terminales, 30 ejercicios
- 03 · Optional — evitar NPE, map/flatMap, orElseGet
- 04 · Genéricos — wildcards, PECS, type erasure
- 05 · Excepciones — checked/unchecked, try-with-resources, excepciones custom
- 06 · Clases Abstractas — abstract vs interface, cuándo usar cada una
Bloque muy frecuente en entrevistas. Estudia primero las implementaciones base y luego las variantes.
- 07 · Lista — ArrayList vs LinkedList, complejidades
- 08 · Mapa — HashMap, TreeMap, LinkedHashMap, hashCode/equals
- 09 · Conjunto — HashSet, TreeSet, EnumSet
- 10 · Cola — Queue, PriorityQueue, BlockingQueue
- 11 · Deque — ArrayDeque como stack y queue
- 12 · Colecciones Concurrentes — ConcurrentHashMap, CopyOnWriteArrayList
- 13 · Utilidades — Collections, Comparable, Comparator, Iterator
Una de las áreas con más profundidad en entrevistas senior. Sigue este orden estrictamente.
- 14 · Concurrencia — synchronized, volatile, ReentrantLock, race condition, deadlock
- 15 · Async — ExecutorService, CompletableFuture
- 16 · Virtual Threads — Java 21, I/O-bound vs CPU-bound, pinning
- 17 · Recolector de Basura — generaciones, G1GC, ZGC, JVM flags
Antes de entrar en Spring, asegúrate de tener estos sólidos. Son la base de las preguntas de diseño.
- 18 · SOLID — los 5 principios con ejemplos de violación y corrección
- 19 · Patrones de Diseño — Singleton, Factory, Builder, Adapter, Decorator, Strategy, Observer
- 20 · AOP — aspectos, pointcut, @Before, @Around, weaving con proxies
Sigue el orden: primero Core (contenedor), luego Boot (configuración y autoconfiguración).
- 21 · Spring Core: IoC — inversión de control, DI por constructor, @Qualifier
- 22 · Spring Core: Beans — ciclo de vida, @PostConstruct, scopes
- 23 · Spring Boot: Config — application.yml, @ConfigurationProperties, precedencia
- 24 · Spring Boot: Starters — autoconfiguración, @SpringBootApplication, @Conditional
- 25 · Spring Boot: Perfiles — @Profile, application-{env}.yml
- 26 · Spring Boot: Logging — SLF4J, Logback, MDC, logging estructurado
Bloques de conocimiento operacional. Puedes estudiarlos en paralelo con las fases anteriores.
-
27 · Docker — imagen, contenedor, Dockerfile, docker-compose
-
28 · Kubernetes — Pod, Deployment, Service, HPA, ConfigMap
-
29 · IaC — Terraform vs Ansible, state file, idempotencia
-
30 · Pipelines — GitHub Actions, Jenkins, GitLab CI
-
31 · Git — merge vs rebase, cherry-pick, stash
-
32 · Maven — ciclo de vida, dependencias transitivas, perfiles
-
33 · Gradle — Wrapper, compilación incremental, Groovy vs Kotlin DSL
Capa web, persistencia, seguridad y testing. Imprescindibles para cualquier entrevista backend con Spring.
- 34 · Spring MVC — DispatcherServlet, @RestController, @ControllerAdvice, @Valid
- 35 · JPA / Hibernate — entidades, relaciones, fetch types, @Transactional, N+1, caché L2
- 36 · Testing — JUnit 5, Mockito, @SpringBootTest, TDD, test doubles
- 37 · Spring Security — SecurityFilterChain, JWT, BCrypt, @PreAuthorize, OAuth2
Los temas que diferencian un perfil senior. Estudia en este orden.
- 38 · Kafka — topics, particiones, producers, consumers, offsets, DLT, Saga coreografiada
- 39 · Microservicios — Circuit Breaker, Saga, API Gateway, Outbox Pattern, Two-Phase Commit
- 40 · Arquitecturas — Hexagonal, Clean Architecture, CQRS, Event Sourcing, DDD
Módulos de ampliación. Estudia tras completar las fases 01-08.
- 41 · Java Moderno — Records, Sealed Classes, Pattern Matching, Switch Expressions, Text Blocks
- 42 · Reactive — Reactive Streams, Flow API, backpressure, operadores, manejo de errores
Módulos de ampliación avanzada. Cubren persistencia NoSQL y caché distribuida, frecuentes en entrevistas senior de backend.
- 43 · NoSQL — MongoDB, Redis, Spring Data, Spring Cache