NATS server — высокопроизводительная система обмена сообщениями для связи между сервисами, устройствами и периферийными системами; входит в CNCF.
doocs/advanced-java
База знаний для подготовки Java backend-разработчиков к собеседованиям: многопоточность, распределённые системы, микросервисы и Big Data.
- Звёзды
- 79,161
- Форки
- 19,113
- Открытые issues
- 0
- Последний коммит
- 5 дней назад
Что это?
Подборка материалов и вопросов для собеседований с опытными Java backend-разработчиками. Она разделена на пять разделов: архитектура высоких нагрузок, распределённые системы, высокая доступность, микросервисы и обработка больших объёмов данных. В них рассматриваются очереди сообщений, поисковые системы, кэширование, шардинг и разделение операций чтения и записи.
В разделе о высоких нагрузках сравниваются Kafka, ActiveMQ, RabbitMQ и RocketMQ, а также разбираются идемпотентное потребление, гарантированная доставка и порядок сообщений, обработка отставания очереди. Темы кэширования связаны с Redis: модель потоков, типы данных, персистентность, репликация master-slave, режимы sentinel и cluster, а также cache avalanche, penetration и breakdown.
Разделы о распределённых системах и микросервисах охватывают внутреннее устройство Dubbo, протоколы сериализации, балансировку нагрузки и управление сервисами, распределённые блокировки Redis и Zookeeper, распределённые транзакции и сессии, а также изоляцию потоков Hystrix, размыкание цепи, fallback и таймауты. В разделе о Big Data разбираются задачи TopK, дедупликации и поиска медианы. Также доступен офлайн-PDF на 283 страницы.
Ключевые возможности
- 01Материалы разделены на пять разделов: высокие нагрузки, распределённые системы, высокая доступность, микросервисы и обработка Big Data.
- 02В каждом вопросе рассматривается конкретный компонент, например очереди сообщений, Redis, Elasticsearch, Dubbo или Hystrix.
- 03Есть сравнения технологий, например Kafka, ActiveMQ, RabbitMQ и RocketMQ, а также Sentinel и Hystrix.
- 04Для чтения без доступа к GitHub доступен офлайн-PDF с материалами на 283 страницы.
- 05Все материалы написаны на китайском языке в формате Markdown; их можно просматривать на GitHub или на сайте документации.
Сценарии использования
- Подготовка к собеседованиям на Java backend-разработчика: можно повторять темы по отдельности.
- Поиск подходов к кэшированию, шардингу и ограничению частоты запросов при проектировании высоконагруженной системы.
- Сравнение middleware и фреймворков при выборе технологий для распределённых систем или микросервисов.
- Изучение внутреннего устройства и типичных сбоев Redis, очередей сообщений и Dubbo.
Быстрый старт
- 1
Читайте базу знаний на GitHub онлайн — установка не требуется
- 2
Просматривайте указатель тем, начиная с раздела о высокой конкурентности
Что важно знать
- Материалы представляют собой заметки для подготовки к собеседованиям, а не исполняемое ПО или библиотеку кода.
- Большая часть материалов — на упрощённом китайском языке.
- Некоторые части раздела о микросервисах не завершены и содержат записи-заполнители.
В подборках
Темы
Частые вопросы
- Что такое advanced-java?
- База знаний для подготовки Java backend-разработчиков к собеседованиям: многопоточность, распределённые системы, микросервисы и Big Data. Подборка материалов и вопросов для собеседований с опытными Java backend-разработчиками. Она разделена на пять разделов: архитектура высоких нагрузок, распределённые системы, высокая доступность, микросервисы и обработка больших объёмов данных. В них рассматриваются очереди сообщений, поисковые системы, кэширование, шардинг и разделение операций чтения и записи.
- advanced-java можно использовать бесплатно? Какая у него лицензия?
- advanced-java распространяется с открытым исходным кодом под лицензией CC-BY-SA-4.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- advanced-java всё ещё поддерживается?
- Активно поддерживается. Последний коммит в advanced-java — 19 окт. 2026 г..
- Для чего можно использовать advanced-java?
- Подготовка к собеседованиям на Java backend-разработчика: можно повторять темы по отдельности. Поиск подходов к кэшированию, шардингу и ограничению частоты запросов при проектировании высоконагруженной системы. Сравнение middleware и фреймворков при выборе технологий для распределённых систем или микросервисов. Изучение внутреннего устройства и типичных сбоев Redis, очередей сообщений и Dubbo.
- Как установить advanced-java?
- Читайте базу знаний на GitHub онлайн — установка не требуется Просматривайте указатель тем, начиная с раздела о высокой конкурентности
- Где скачать advanced-java?
- Исходный код и инструкции по установке — на GitHub: https://github.com/doocs/advanced-java
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Бесплатное и написанное с юмором руководство по Java на китайском: основы языка, многопоточность, JVM, enterprise-разработка и подготовка к собеседованиям.
Платформа с открытым исходным кодом для динамического обнаружения сервисов, управления конфигурацией и метаданными сервисов в облачных и микросервисных системах.
Китайскоязычное руководство по подготовке к собеседованиям на Java backend: основы CS, базы данных, распределённые системы, проектирование систем и разработка AI-приложений.
Хранилище данных в памяти для кэширования, работы со структурами данных и документами, векторного поиска и обмена сообщениями.
NSQ — распределённая платформа обмена сообщениями в реальном времени, рассчитанная на очень высокий поток сообщений и не имеющая единой точки отказа.