このドキュメントは Github で 6 日間オンラインになり、合計 55K+star の Java インタビュー マジック スキルを獲得しました (賞賛の数、品質の高さについてはこれ以上言う必要はありません)。には、Java の基本、Java コレクション、JavaWeb、Java 例外、OOP、IO および NIO、リフレクション、アノテーション、マルチスレッド、JVM、MySQL、MongoDB、Spring ファミリー バケット、コンピューター ネットワーク、分散アーキテクチャ、Redis、Linux、git、フロント エンド、アルゴリズムとデータ構造、MyBatis、RocketMQ、Netty、Dubbo . コンテンツは非常に豊富で、多くの人々が一流のインターネット企業からのオファーを獲得するのに役立っています.
各ナレッジポイントの左側にナビゲーションブックマークページがあり、非常に読みやすいです. 内容が多いので、ここで写真の一部を撮ってみましょう.
「Java 面接スキル」では、これまでに見たり経験したりした Java 面接の質問をいくつか整理しています。これらの面接の質問の主な情報源は、いくつかの Web サイトと github のコンテンツです。苦労せずに、上の画像に移動してください。
Linux のトピック
マイクロサービスのトピック
- マイクロサービス アーキテクチャの利点は何ですか?
- マイクロサービスの特徴は?
- マイクロサービスを設計するためのベスト プラクティスは何ですか?
- マイクロサービス アーキテクチャはどのように機能しますか?
- マイクロサービス アーキテクチャの長所と短所は何ですか?
- モノリシック、SOA、およびマイクロサービス アーキテクチャの違いは何ですか?
- マイクロサービス アーキテクチャを使用する際に直面する課題は何ですか?
- SOA とマイクロサービス アーキテクチャの主な違いは何ですか?
- REST / RESTful とは何ですか? また、何に使用されますか?
- マイクロサービスのテストにはどのような種類がありますか?
カフカのトピック
- カフカとは
- 消費者デザイン
- トピック トピックの一覧を取得する方法
- プロデューサーとコンシューマーのコマンド ラインは何ですか?
- なぜメッセージシステムが必要なのですか? mysql はその要求に応えられないのでしょうか?
- Kafka の Zookeeper の役割は何ですか?
- Kafka と従来の MQ メッセージング システムには 3 つの重要な違いがあります。
- Kafka の ack の 3 つのメカニズムについて話す
- Kafka の高可用性メカニズムとは何ですか?
- Kafka は重複データをどのように消費しないのですか? たとえば、控除については、繰り返し控除することはできません。
- (スタンドアロンではない) 分散型のカフカの場合、メッセージの順次消費を確実にする方法は?
エラスティックサーチのトピック
- Elasticsearch についてどのくらい知っていますか。あなたの会社の es クラスター アーキテクチャ、インデックス データのサイズ、フラグメントの数、およびいくつかのチューニング方法について話してください。
- Elasticsearch の転置インデックスとは
- Elasticsearch がマスター選出を実装する方法
- Elasticsearch 検索のプロセスを詳しく説明してください。
- Elasticsearch はマスター選出をどのように実現しますか?
- クライアントがクラスターに接続するとき、リクエストを実行する特定のノードをどのように選択しますか?
- 同時実行の場合、Elasticsearch は読み取りと書き込みの一貫性を保証しますか?
- Elasticsearch は、大量のデータ (数億) の集約をどのように実装しますか?
- GCに関して、Elasticsearchを利用する際の注意点は?
- Elasticsearch クラスターのステータスを監視する方法は?
アルゴリズム
- 二分探索
- バブルソートアルゴリズム
- 挿入ソートアルゴリズム
- クイックソートアルゴリズム
- ヒルソートアルゴリズム
- マージソートアルゴリズム
- バケットソートアルゴリズム
- 基数ソートアルゴリズム
- 剪定アルゴリズム
- バックトラッキングアルゴリズム
- 最短経路アルゴリズム
- 最小スパニング ツリー アルゴリズム
- AES
- RSA
- CRC
- MD5
データ構造のトピック
- スタック
- 列
- リンクされたリスト (リンク)
- ハッシュ表
- 二分木をソートする
- プレフィックスツリー
- 赤黒い木
- Bツリー
- ビットマップ
飼育係のトピック
- Zookeeper とは何ですか?
- Zookeeper はどのようにして分散整合性特性を保証しますか?
- ZooKeeper は何を提供しますか?
- ZAB プロトコルを知っていますか?
- Zookeeper はトランザクションの連続した一貫性をどのように保証しますか?
- zk ノードのダウンタイムに対処するには?
- Zookeeper 負荷分散と nginx 負荷分散の違い
- 分散クラスターにマスターがあるのはなぜですか?
- Zookeeper の展開モードは何ですか?
- クラスタはマシンの動的追加をサポートしていますか?
- ぽっちゃりとは何ですか?飼育係と比べてどう思いますか?
- Zookeeper の Java クライアントとは何ですか?
- ZAB と Paxos アルゴリズムの接続と違いは?
MyBatisトピックス
ダボトピックス
- サービスコールがブロックされていませんか?
- 一般的に使用されるレジストリは何ですか? 別のオプションはありますか?
- サービスの開始が古いバージョンに影響しないのはなぜですか?
- サービス コール チェーンが長すぎるという問題を解決するにはどうすればよいですか?
- Dubbo クラスターのフォールト トレランスにはいくつのソリューションがありますか?
- Dubbo サービスがダウングレードされました。失敗した場合に再試行するにはどうすればよいですか?
- Dubbo Monitor の実装原理は?
- Dubbo はどのような設計パターンを使用していますか?
- Dubbo は分散トランザクションをサポートしていますか?
- コア構成について教えてください。
- Dubbo が推奨するプロトコルは何ですか?
- Dubbo SPI と Java SPI の違いは何ですか?
- ダボを使用する理由
- Dubbo の全体的なアーキテクチャ設計のレイヤーは何ですか?
- デフォルトで使用される通信フレームワークは何ですか?また、代替手段はありますか?
RabbitMQ トピック
春の話題
春の雲のトピック
スプリング ブート トピックス
MongoDB のトピック
- モンゴッドとは?
- mongodbの特徴は?
- NoSQL データベースにはどのような種類がありますか?
- MySQL と MongoDB の最も基本的な違いは何ですか?
- MongoDB が最高の NoSQL データベースである理由は何ですか?
- MongoDB、CouchDB、CouchBase をどのように比較しますか?
- MongoDB におけるアナライザーの役割は何ですか?
- トランザクション/ロックを実行する方法は?
- MongoDB はストアド プロシージャをサポートしていますか? サポートされている場合、どのように使用しますか?
Memcached トピック
- Memcached とは何ですか?
- Memcached の最大の利点は何ですか?
- エンタープライズ クラスター アーキテクチャにおける Memcached サービスのアプリケーション シナリオは何ですか?
- Memcached サービスの分散クラスターを実現するには?
- Memcached サービスの特徴と動作原理は何ですか?
- Memcached メモリ管理メカニズムの原理を簡単に説明してください。
- Memcached はどのように機能しますか?
- Memcached はどのように冗長メカニズムを実装していますか?
- Memcached はフォールト トレランスをどのように処理しますか?
- Memcached のマルチスレッドとは何ですか? それらを使用する方法?
- クラスタにセッション共有ストレージを実装する方法は?
- Memcached と Redis の違い
Redis トピック
- レディスとは?
- Redis を使用する利点は何ですか?
- Memcached に対する Redis の利点は何ですか?
- Redis はシングルプロセスでシングルスレッドですか?
- Redis 永続化メカニズム
- キャッシュ雪崩、キャッシュ侵入、キャッシュ ウォームアップ、キャッシュ更新、キャッシュ ダウングレードなど。
- Redis のデータ型、および各データ型の使用シナリオ
- Redis の有効期限戦略とメモリ削除メカニズム
- Redis の一般的なパフォーマンスの問題と解決策は?
- Redis 操作がアトミックである理由と、アトミック性を確保する方法は?
- Redis の永続化メカニズムとは? それぞれの長所と短所は?
- Redisの期限切れキー削除戦略?
- Redisのリサイクル戦略(排除戦略)?
- Redis の同期メカニズムは理解できましたか?
- Redis クラスターを使用したことがありますか? クラスターの原理は何ですか?
MySQL のトピック
- データベース エンジンとは
- データベースの 3 つの正規形は何ですか?
- 一般的なインデックス作成の原則とは
- 内部結合、左外部結合、右外部結合とは何ですか?
- 同時トランザクションによって引き起こされる問題は何ですか?
- トランザクション分離レベルとは何ですか? MySQL のデフォルトの分離レベルは何ですか?
- 大きなテーブルを最適化する方法は?
- MySQL にはどのような種類のロックがありますか?
- MySQL のさまざまなテーブルとは何ですか?
- MySQL データベースにおける MyISAM と InnoDB の違いを簡単に説明してください
- 主キーと候補キーの違いは何ですか?
- 列比較演算子とは何ですか?
- MySQL はトランザクションをサポートしていますか?
- 基礎となる実装原則とインデックスの最適化
JVM トピック
- Javaプログラムが使用するメモリを取得するには? 使用されたヒープの割合?
- GC の実行を保証できますか?
- Java ヒープ領域と GC について説明しますか?
- JRE、JDK、JVM、および JIT の違いは何ですか?
- Javaプログラムを介してJVMが32ビットか64ビットかを判断する方法は?
- Java でメモリ リークが発生しますか。簡単に説明してください。
- Javaのヒープとスタックの違いは何ですか?
- クラス ファイルをロードする JVM の原理メカニズムについて説明する
- GCとは?なぜGCがあるのですか?
- 新しい世代、古い世代、永続的な世代について話し、
- JVM の親の委任について理解しましたか?
- JVM のパーマネント ジェネレーションでガベージ コレクションは発生しますか?
- Java 仮想マシンとは Java が「プラットフォームに依存しないプログラミング言語」と呼ばれるのはなぜですか?
Java 並行性に関するトピック
- スレッドプールについて理解していることを簡単に説明してください
- Java でマルチスレッドを実装するには、いくつかの方法があります。
- 実行中のスレッドを停止する方法
- volatile キーワードは何をしますか? 注文は保証できますか?
- SynchronizedMap と ConcurrentHashMap の違いは何ですか?
- 同期キーワードについての理解を教えてください
- Synchronized キーワードの使用方法を教えてください。プロジェクトで使用したことがありますか? Synchronized キーワードを使用する 3 つの主な方法
- スレッドセーフとは?Vector はスレッドセーフなクラスですか?
- 楽観ロック、悲観ロック、スピンロックの話
- デッドロックとライブロックの違い、デッドロックと飢餓の違いは?
- スレッドとプロセスの違いは?
- マルチスレッドでのコンテキスト切り替えとは?
Java シリアライゼーション + アノテーション トピック
Java IO/NIO + リフレクションのトピック
- Java IO と NIO の違い
- バイトストリームと文字ストリームの違い
- 多重化
- 信号駆動
- 非同期同期
- リフレクションの役割
- リフレクション メカニズムはどこで使用されますか?
- リフレクションの実装
- Java リフレクション クラス
Java 例外処理のトピック
Java コレクション/ジェネリックに関するトピック
- ArrayList とlinkedListの違い
- HashMap と HashTable の違い
- Array と ArrayList の違いは何ですか?
- リスト、セット、マップの違いについて話す
- セットコレクションとは
- Vector (配列実装、スレッド同期)
- LinkList(リンクリスト)について話す
- HashMap (配列 + リンク リスト + 赤黒木)
- HashTable (スレッドセーフ)
- ワイルドカードを入力しますか?
- ジェネリック クラス
- TreeSet(二分木)とは
スペースが限られているため、1 つの質問と 1 つの回答を表示することは不可能です (これらの質問は、この 55,000 以上のスター Java インタビュー スキルに集められています) 。 help more 多くの方にご覧いただきました!)