Об этом проекте

JavaGuide — это открытая база знаний и сборник учебных материалов преимущественно на китайском языке, предназначенная помочь разработчикам системно подготовиться к собеседованиям на позицию Java-бэкенд-разработчика и восполнить пробелы в технической системе бэкенда. Это не запускаемый программный проект, а постоянно поддерживаемый каталог технической документации с чёткой организацией: материалы разбиты по темам на множество независимых статей в формате Markdown, дополнены сайтом для онлайн-чтения и версией для интенсивной подготовки к собеседованиям. Основное содержание включает: - Подготовка к бэкенд-собеседованиям: план прохождения собеседований по Java-бэкенду, маршрут обучения, руководство по составлению резюме, руководство по описанию проектного опыта и т. д. - Ключевые знания Java: базовый синтаксис, коллекции (включая анализ исходного кода ArrayList, HashMap, ConcurrentHashMap и др.), IO/NIO, конкурентное программирование (блокировки, CAS, JMM, пулы потоков, AQS и др.), JVM (области памяти, сборка мусора, загрузка классов), новые возможности от Java 8 до Java 25. - Основы компьютерных наук: операционные системы, компьютерные сети, структуры данных и алгоритмы, с разбором типовых вопросов собеседований и важных концепций. - Базы данных: основы реляционных баз данных, MySQL (индексы, транзакции, журналы, MVCC, план выполнения и др.), Redis (структуры данных, персистентность, кластеры и др.), MongoDB, а также материалы по Elasticsearch. - Инструменты разработки: Maven, Gradle, Docker, Git. - Проектирование систем: RESTful API, программная инженерия, стандарты кода, Spring/Spring Boot, MyBatis, аутентификация и авторизация, безопасность данных, задачи по расписанию, доставка сообщений в реальном времени и др. - Распределённые системы: CAP/BASE, алгоритмы консенсуса, RPC, ZooKeeper, API-шлюзы, распределённые ID, распределённые блокировки, распределённые транзакции, центры конфигурации и др. - Высокая производительность и высокая доступность: оптимизация баз данных, балансировка нагрузки, CDN, очереди сообщений (RabbitMQ, RocketMQ, Kafka, Disruptor), ограничение потока, деградация и предохранители, тайм-ауты и повторные попытки, аварийное восстановление и мультиактивные географически распределённые системы и др. - Разработка AI-приложений: дополнительно открыт гид по разработке AI-приложений и собеседованиям для бэкенд-разработчиков, охватывающий практику LLM, Agent, RAG, MCP и др. Проект также предоставляет сайт для онлайн-чтения, версии для скачивания в PDF и призывает вносить вклад через GitHub или Gitee. В целом он подходит разработчикам для подготовки к собеседованиям по Java-бэкенду, систематизации знаний по бэкенду или использования в качестве повседневного справочника.