NATS serverは、サービス、デバイス、エッジシステムをつなぐ高性能なメッセージングシステムで、CNCFの一員です。
doocs/advanced-java
Javaバックエンド開発者向けの面接対策ナレッジベース。並行処理、分散システム、マイクロサービス、ビッグデータを扱います。
- スター
- 79,161
- フォーク
- 19,113
- 未解決の Issue
- 0
- 最終コミット
- 5 日前
これは何?
経験豊富なJavaバックエンド開発者向けに、厳選した知識と面接問題をまとめたナレッジベースです。高並行アーキテクチャ、分散システム、高可用性、マイクロサービス、大規模データ処理の5つのセクションで構成され、メッセージキュー、検索エンジン、キャッシュ、シャーディング、読み書き分離などを扱います。
高並行のセクションでは、Kafka、ActiveMQ、RabbitMQ、RocketMQを比較し、冪等なメッセージ処理、信頼性の高い配信、メッセージ順序、滞留への対処について解説します。キャッシュ関連のトピックはRedisが中心で、スレッドモデル、データ型、永続化、マスター・レプリカレプリケーション、SentinelモードとClusterモードのほか、キャッシュアバランシェ、キャッシュペネトレーション、キャッシュブレークダウンを取り上げます。
分散システムとマイクロサービスのトピックには、Dubboの内部動作、シリアライズプロトコル、負荷分散とサービスガバナンス、RedisとZookeeperの分散ロックの比較、分散トランザクションとセッション、Hystrixのスレッドプール分離、サーキットブレーカー、フォールバック、タイムアウトが含まれます。ビッグデータのセクションでは、TopK、重複排除、中央値の算出といった問題を順に解説します。283ページのオフラインPDFも用意されています。
主な機能
- 01高並行、分散システム、高可用性、マイクロサービス、ビッグデータ処理の5つのセクションに分けて構成されています。
- 02各問題では、メッセージキュー、Redis、Elasticsearch、Dubbo、Hystrixなど、具体的なコンポーネントを取り上げています。
- 03KafkaとActiveMQ、RabbitMQ、RocketMQの比較や、SentinelとHystrixの比較など、技術選定に役立つ比較を収録しています。
- 04GitHubから離れて読むための、283ページのオフラインPDFを利用できます。
- 05すべて中国語のMarkdownファイルで書かれており、GitHubまたはドキュメントサイトで閲覧できます。
ユースケース
- トピックごとに復習し、Javaバックエンドの面接に備える。
- 高並行システムの設計時に、キャッシュ、シャーディング、レート制限の手法を調べる。
- 分散システムやマイクロサービスの技術選定で、ミドルウェアやフレームワークを比較する。
- Redis、メッセージキュー、Dubboの内部動作やよくある障害パターンを復習する。
クイックスタート
- 1
インストール不要で、GitHub上のナレッジベースをオンラインで読む
- 2
高並行性のセクションからトピック一覧を見ていく
使う前に知っておきたいこと
- 内容は面接対策用のノートであり、実行可能なソフトウェアやコードライブラリではありません。
- 資料の大半は簡体字中国語です。
- マイクロサービスのセクションには未完成の箇所があり、プレースホルダーの項目が含まれています。
収録されている特集
トピック
よくある質問
- advanced-java とは?
- Javaバックエンド開発者向けの面接対策ナレッジベース。並行処理、分散システム、マイクロサービス、ビッグデータを扱います。 経験豊富なJavaバックエンド開発者向けに、厳選した知識と面接問題をまとめたナレッジベースです。高並行アーキテクチャ、分散システム、高可用性、マイクロサービス、大規模データ処理の5つのセクションで構成され、メッセージキュー、検索エンジン、キャッシュ、シャーディング、読み書き分離などを扱います。
- advanced-java は無料で使えますか?ライセンスは?
- advanced-java は CC-BY-SA-4.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- advanced-java は今もメンテナンスされていますか?
- 活発にメンテナンス中。advanced-java の最終コミットは 2026年10月19日 です。
- advanced-java は何に使えますか?
- トピックごとに復習し、Javaバックエンドの面接に備える。 高並行システムの設計時に、キャッシュ、シャーディング、レート制限の手法を調べる。 分散システムやマイクロサービスの技術選定で、ミドルウェアやフレームワークを比較する。 Redis、メッセージキュー、Dubboの内部動作やよくある障害パターンを復習する。
- advanced-java のインストール方法は?
- インストール不要で、GitHub上のナレッジベースをオンラインで読む 高並行性のセクションからトピック一覧を見ていく
- advanced-java はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/doocs/advanced-java
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Javaの基礎、並行処理、JVM、エンタープライズ開発、面接対策を扱う、無料でユーモアのある中国語のJava学習ガイド。
クラウドネイティブ環境やマイクロサービスシステム向けに、動的なサービスディスカバリー、設定管理、サービスメタデータ管理を提供するオープンソースプラットフォーム。
CSの基礎、データベース、分散システム、システム設計、AIアプリケーション開発を網羅した中国語のJavaバックエンド面接ガイド。
キャッシュ、データ構造サーバー、ドキュメントストア、ベクトルデータベース、メッセージブローカーとして使えるインメモリデータストア。
NSQは、単一障害点を持たずに非常に大量のメッセージを処理できるよう設計された、リアルタイム分散メッセージングプラットフォームです。