Repolode
doocs

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. 1

    Leia a base de conhecimento online no GitHub, sem precisar instalar nada

  2. 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