Servidor NATS, un sistema de mensajería de alto rendimiento para conectar servicios, dispositivos y sistemas edge, parte de la CNCF.
doocs/advanced-java
Base de conocimiento para preparar entrevistas de Java backend: concurrencia, sistemas distribuidos, microservicios y big data.
- Estrellas
- 79,159
- Forks
- 19,111
- Issues abiertos
- 0
- Último commit
- hace 6 días
¿Qué es?
Base de conocimiento seleccionada y recopilación de preguntas de entrevista para desarrolladores con experiencia en Java backend. Está organizada en cinco secciones: arquitectura de alta concurrencia, sistemas distribuidos, alta disponibilidad, microservicios y procesamiento de datos a gran escala. Abarca colas de mensajes, motores de búsqueda, caché, sharding y separación de lecturas y escrituras.
La sección de alta concurrencia compara Kafka, ActiveMQ, RabbitMQ y RocketMQ, y aborda el consumo idempotente, la entrega confiable, el orden de los mensajes y la gestión de acumulaciones. Los temas de caché giran en torno a Redis: modelo de hilos, tipos de datos, persistencia, replicación maestro-esclavo y modos Sentinel y Cluster, además de avalanchas, penetración y descomposición de caché.
Los temas de sistemas distribuidos y microservicios incluyen el funcionamiento interno de Dubbo, protocolos de serialización, balanceo de carga y gestión de servicios, bloqueos distribuidos con Redis frente a Zookeeper, transacciones y sesiones distribuidas, y aislamiento de grupos de hilos, circuit breaking, fallback y timeouts en Hystrix. La sección de big data presenta problemas de TopK, deduplicación y búsqueda de la mediana. También se ofrece un PDF sin conexión de 283 páginas.
Funciones clave
- 01El contenido se organiza en cinco secciones: alta concurrencia, sistemas distribuidos, alta disponibilidad, microservicios y procesamiento de big data.
- 02Cada pregunta aborda un componente concreto, como colas de mensajes, Redis, Elasticsearch, Dubbo o Hystrix.
- 03Incluye comparaciones para elegir tecnologías, por ejemplo, Kafka frente a ActiveMQ, RabbitMQ y RocketMQ, y Sentinel frente a Hystrix.
- 04Hay disponible un PDF sin conexión de 283 páginas para consultar el material sin acceder a GitHub.
- 05Está escrito íntegramente en archivos Markdown en chino, que se pueden consultar en GitHub o en el sitio de documentación.
Casos de uso
- Prepararse para entrevistas de Java backend repasando un área temática a la vez.
- Consultar enfoques de caché, sharding y limitación de tasa al diseñar un sistema de alta concurrencia.
- Comparar middleware y frameworks al elegir tecnologías para sistemas distribuidos o microservicios.
- Repasar el funcionamiento interno y los modos de fallo habituales de Redis, las colas de mensajes y Dubbo.
Inicio rápido
- 1
Lee la base de conocimientos en GitHub; no hace falta instalar nada
- 2
Explora el índice de temas empezando por la sección de alta concurrencia
Antes de usarlo
- El contenido son apuntes para preparar entrevistas, no software ejecutable ni una biblioteca de código.
- La mayor parte del material está en chino simplificado.
- Algunas partes de la sección de microservicios están incompletas y contienen entradas de marcador de posición.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es advanced-java?
- Base de conocimiento para preparar entrevistas de Java backend: concurrencia, sistemas distribuidos, microservicios y big data. Base de conocimiento seleccionada y recopilación de preguntas de entrevista para desarrolladores con experiencia en Java backend. Está organizada en cinco secciones: arquitectura de alta concurrencia, sistemas distribuidos, alta disponibilidad, microservicios y procesamiento de datos a gran escala. Abarca colas de mensajes, motores de búsqueda, caché, sharding y separación de lecturas y escrituras.
- ¿advanced-java es gratuito? ¿Qué licencia tiene?
- advanced-java es open source bajo la licencia CC-BY-SA-4.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿advanced-java sigue mantenido?
- Mantenimiento activo. El último commit de advanced-java fue el 19 oct 2026.
- ¿Para qué puedo usar advanced-java?
- Prepararse para entrevistas de Java backend repasando un área temática a la vez. Consultar enfoques de caché, sharding y limitación de tasa al diseñar un sistema de alta concurrencia. Comparar middleware y frameworks al elegir tecnologías para sistemas distribuidos o microservicios. Repasar el funcionamiento interno y los modos de fallo habituales de Redis, las colas de mensajes y Dubbo.
- ¿Cómo se instala advanced-java?
- Lee la base de conocimientos en GitHub; no hace falta instalar nada Explora el índice de temas empezando por la sección de alta concurrencia
- ¿Dónde consigo advanced-java?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/doocs/advanced-java
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Guía gratuita y amena en chino para aprender Java, con contenidos sobre Java básico, concurrencia, JVM, desarrollo empresarial y preparación para entrevistas.
Plataforma de código abierto para el descubrimiento dinámico de servicios y la gestión dinámica de configuraciones y metadatos de servicios en sistemas nativos de la nube y de microservicios.
Guía en chino para entrevistas de backend Java que abarca fundamentos de informática, bases de datos, sistemas distribuidos, diseño de sistemas y desarrollo de aplicaciones de IA.
Almacén de datos en memoria que se usa como caché, servidor de estructuras de datos, almacén de documentos, base de datos vectorial y agente de mensajería.
NSQ es una plataforma distribuida de mensajería en tiempo real, diseñada para gestionar grandes volúmenes de mensajes sin un único punto de falla.