NATS server, um sistema de mensagens de alto desempenho para conectar serviços, dispositivos e sistemas de edge, integrante da CNCF.
doocs/advanced-java
Base de conhecimento para entrevistas de Java backend: concorrência, sistemas distribuídos, microsserviços e big data.
- Estrelas
- 79,161
- Forks
- 19,113
- Issues abertas
- 0
- Último commit
- há 5 dias
O que é?
Base de conhecimento selecionada e coleção de perguntas de entrevista para desenvolvedores experientes de Java backend. O conteúdo está organizado em cinco seções: arquitetura de alta concorrência, sistemas distribuídos, alta disponibilidade, microsserviços e processamento de dados em larga escala, abordando filas de mensagens, mecanismos de busca, cache, sharding e divisão entre leitura e escrita.
A seção sobre alta concorrência compara Kafka, ActiveMQ, RabbitMQ e RocketMQ e discute consumo idempotente, entrega confiável, ordenação de mensagens e tratamento de backlog. Os tópicos sobre cache giram em torno do Redis: modelo de threads, tipos de dados, persistência, replicação master-slave, modos sentinel e cluster, além de avalanche, penetração e quebra de cache.
Os tópicos de sistemas distribuídos e microsserviços incluem detalhes internos do Dubbo, protocolos de serialização, balanceamento de carga e governança de serviços, locks distribuídos com Redis versus Zookeeper, transações e sessões distribuídas, além de isolamento por thread pool, circuit breaker, fallback e timeouts no Hystrix. A seção de big data apresenta problemas de TopK, deduplicação e busca da mediana. Também é disponibilizado um PDF offline de 283 páginas.
Recursos principais
- 01O conteúdo está dividido em cinco seções: alta concorrência, sistemas distribuídos, alta disponibilidade, microsserviços e processamento de big data.
- 02Cada pergunta aborda um componente específico, como filas de mensagens, Redis, Elasticsearch, Dubbo ou Hystrix.
- 03Inclui comparações para seleção de tecnologias, como Kafka vs ActiveMQ vs RabbitMQ vs RocketMQ e Sentinel vs Hystrix.
- 04Há um PDF offline de 283 páginas com o conteúdo, disponível para leitura fora do GitHub.
- 05Todo o material está escrito em arquivos Markdown em chinês, que podem ser consultados no GitHub ou no site de documentação.
Casos de uso
- Preparar-se para entrevistas de Java backend revisando um tópico por vez.
- Consultar abordagens de cache, sharding e limitação de taxa ao projetar um sistema de alta concorrência.
- Comparar middlewares e frameworks durante a seleção de tecnologias para sistemas distribuídos ou microsserviços.
- Revisar os detalhes internos e os modos de falha comuns do Redis, de filas de mensagens e do Dubbo.
Início rápido
- 1
Leia a base de conhecimento online no GitHub, sem precisar instalar nada
- 2
Explore o índice de tópicos começando pela seção de alta concorrência
Antes de usar
- O conteúdo consiste em anotações para preparação de entrevistas, não em software executável nem em uma biblioteca de código.
- A maior parte do material está em chinês simplificado.
- Algumas partes da seção de microsserviços estão incompletas e contêm entradas de espaço reservado.
Em coleções
Tópicos
Perguntas frequentes
- O que é advanced-java?
- Base de conhecimento para entrevistas de Java backend: concorrência, sistemas distribuídos, microsserviços e big data. Base de conhecimento selecionada e coleção de perguntas de entrevista para desenvolvedores experientes de Java backend. O conteúdo está organizado em cinco seções: arquitetura de alta concorrência, sistemas distribuídos, alta disponibilidade, microsserviços e processamento de dados em larga escala, abordando filas de mensagens, mecanismos de busca, cache, sharding e divisão entre leitura e escrita.
- advanced-java é gratuito? Qual é a licença?
- advanced-java é open source sob a licença CC-BY-SA-4.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- advanced-java ainda é mantido?
- Manutenção ativa. O último commit de advanced-java foi em 19 de out. de 2026.
- Para que posso usar advanced-java?
- Preparar-se para entrevistas de Java backend revisando um tópico por vez. Consultar abordagens de cache, sharding e limitação de taxa ao projetar um sistema de alta concorrência. Comparar middlewares e frameworks durante a seleção de tecnologias para sistemas distribuídos ou microsserviços. Revisar os detalhes internos e os modos de falha comuns do Redis, de filas de mensagens e do Dubbo.
- Como instalar advanced-java?
- Leia a base de conhecimento online no GitHub, sem precisar instalar nada Explore o índice de tópicos começando pela seção de alta concorrência
- Onde consigo advanced-java?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/doocs/advanced-java
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um guia gratuito e bem-humorado, em chinês, para aprender Java, com conteúdo sobre Java básico, concorrência, JVM, desenvolvimento corporativo e preparação para entrevistas.
Plataforma open source para descoberta dinâmica de serviços, gerenciamento dinâmico de configurações e metadados de serviços em sistemas cloud native e de microsserviços.
Guia em chinês para entrevistas de backend Java, cobrindo fundamentos de computação, bancos de dados, sistemas distribuídos, design de sistemas e desenvolvimento de aplicações de IA.
Um armazenamento de dados em memória usado como cache, servidor de estruturas de dados, repositório de documentos e vetores e broker de mensagens.
NSQ é uma plataforma distribuída de mensageria em tempo real, projetada para lidar com volumes muito altos de mensagens sem um ponto único de falha.