Repolode
doocs

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

    Читайте базу знаний на GitHub онлайн — установка не требуется

  2. 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 обновляется ежедневно.

Похожие проекты

Платформа с открытым исходным кодом для динамического обнаружения сервисов, управления конфигурацией и метаданными сервисов в облачных и микросервисных системах.

33,5 тыс.13,3 тыс.JavaApache-2.0Обновлён вчера

Китайскоязычное руководство по подготовке к собеседованиям на Java backend: основы CS, базы данных, распределённые системы, проектирование систем и разработка AI-приложений.

159,2 тыс.+13 за неделю46,1 тыс.JavaScriptApache-2.0Обновлён 8 дней назад