Sobre o projeto

JavaGuide é uma base de conhecimento/coleção de tutoriais de código aberto, principalmente em chinês, cujo objetivo é ajudar desenvolvedores a se prepararem sistematicamente para entrevistas de backend Java e completarem seu conjunto de habilidades em tecnologias de backend. Não é um projeto de software executável, mas um diretório de documentação técnica mantido continuamente, com conteúdo bem organizado, dividido em um grande número de artigos Markdown independentes por tema, acompanhado de um site de leitura online e uma versão intensiva para entrevistas. O conteúdo principal inclui: - Preparação para entrevistas de backend: plano de aprovação em entrevistas de backend Java, roteiro de estudos, guia de elaboração de currículo, guia de experiência em projetos, etc. - Conhecimentos essenciais de Java: sintaxe básica, framework de coleções (incluindo análise de código-fonte de ArrayList, HashMap, ConcurrentHashMap, etc.), IO/NIO, programação concorrente (locks, CAS, JMM, pools de threads, AQS, etc.), JVM (áreas de memória, garbage collection, carregamento de classes), novos recursos do Java 8 ao Java 25. - Fundamentos de computação: sistemas operacionais, redes de computadores, estruturas de dados e algoritmos, cobrindo perguntas comuns de entrevistas e explicações detalhadas de conceitos importantes. - Bancos de dados: fundamentos de bancos de dados relacionais, MySQL (índices, transações, logs, MVCC, planos de execução, etc.), Redis (estruturas de dados, persistência, cluster, etc.), MongoDB, além de resumos relacionados ao Elasticsearch. - Ferramentas de desenvolvimento: Maven, Gradle, Docker, Git. - Design de sistemas: RESTful API, engenharia de software, padrões de código, Spring/Spring Boot, MyBatis, autenticação e autorização, segurança de dados, tarefas agendadas, push de mensagens em tempo real, etc. - Distribuídos: CAP/BASE, algoritmos de consenso, RPC, ZooKeeper, API Gateway, ID distribuído, lock distribuído, transação distribuída, centro de configuração, etc. - Alto desempenho e alta disponibilidade: otimização de banco de dados, balanceamento de carga, CDN, filas de mensagens (RabbitMQ, RocketMQ, Kafka, Disruptor), limitação de taxa, degradação e circuit breaker, timeout e retry, disaster recovery e multi-ativo geográfico, etc. - Desenvolvimento de aplicações de IA: adicionalmente, foi aberto um guia de desenvolvimento de aplicações de IA e entrevistas voltado para desenvolvedores de backend, envolvendo práticas com LLM, Agent, RAG, MCP, etc. O projeto também oferece um site de leitura online, download de versão em PDF e incentiva contribuições via GitHub ou Gitee. No geral, é adequado para desenvolvedores que estão se preparando para entrevistas de backend Java, organizando seu conjunto de conhecimentos de backend ou usando como manual de consulta diária.