CMBネットワーク面接の質問、テストセンター、知識の概要(Javaの香港)

Javaの基礎

言うまでもなく、確かに特にCMB、多くのテスト全体の基礎であります

  • OOPの機能/ Javaの言語機能:カプセル化、継承、ポリモーフィズム
  • ポリモーフィズム特定の性能:多型の使用は、親クラスのメソッド(スーパー)、および重い書き換えを呼び出す方法(ルールに親クラスのメソッドを書き換え、コンストラクタはオーバーライドすることができます。)
  • 抽象クラスとインタフェース、および基準値を渡すとの差が渡され、Java値の転送のみ:クラス、抽象クラス、インタフェース
  • ジェネリック
  • リフレクション:クラスClassの意義
  • StringBufferを、StringBuilderの、文字列の違い:文字列の一般的な方法
  • メモリ領域の静的キーワード
  • どのような一般的なJavaパッケージを使用しています
  • finalキーワード
  • 新しいオブジェクトのメソッドを作成します。
  • どのようにJavaのキャッシュ(、のRedisを行うにはmemcacheの何もありません)

容器

シンプル

  • クラスの階層セット、簡単に
  • 等号()、ハッシュコード()、書き換えノートとの差
  • TreeMapのは、それを理解します
  • HashMapの、ハッシュテーブル、のConcurrentHashMap:違い、ハッシュマップの実装原理は、ハッシュマップの要件に何の基礎となるソースコード、カスタムクラスを実行する方法を置く(オーバーライドが等しいとハッシュコード)
  • LinkedListのとArrayListの違い

スレッド

難易度は、手書きのスレッドコードを尋ね、さらには彼らの運場合、つまり、それ以外の場合はかなり単純なスレッド

  • スレッドとプロセス
  • スレッドは、メソッドの違いを定義します
  • スレッドの状態遷移図
  • だから何同時パッケージの内容
  • BlockingQueueの原則
  • スレッドセーフなコンテナ
  • スレッドプールの関連:スレッドプールのパラメータの意味は、チューニングスレッドプールをどのようにスレッドプールのパラメータを設定する方法
  • インターレンジ通信:概念、方法:同期同期パケットに、揮発性、同期、単一のマルチスレッド実施形態は、参加
  • スレッド同期:コンセプト
  • デッドロック:原則とソリューション、手書きのデッドロック
  • 総合タイトル(より難しいと思いますが、ハード運に遭遇しました):風光明媚な複数のエントリ出口調査、オブジェクト、手書き、生産者と消費者の手書きのダブルチェックシングル場合は、手書きの複数のスレッドが順番に実行されることを保証するために、マルチスレッド
  • 楽観的ロック悲観的ロックは考え:楽観的および一般的な実装をロックペシミスティック(楽観的ロック:機構のバージョン番号、CASアルゴリズム)、一般的に楽観的に使用ので、悲観的ロックであるかロック(楽観的悲観的ロック同期ReentrantLockの下原子パッケージをロックします)
  • 間違ったソリューションへの同時アクセス
  • 読み書きするために実装ロック(私は彼らに四つんばいに答えることができます)

データベース

非常に単純な、逃げるために戻って上のものを掲載し

  • 手書きの文の基礎
  • 総務(非常に重要!):分離レベル、4つの特性、産異なる分離レベルの問題(ダーティ・リードファントムは、非反復リード読み出し)
  • ストアドプロシージャ|機能|トリガー:ストアドプロシージャと関数の違いを、どのように選択するか、トリガーの分類
  • ストレージエンジン
  • 高度な検索関連:リンクについて内部および外部リンクの違いを見分けます
  • インデックスに関連した(非常に重要!!):原則、長所と短所インデックスの、インデックス設計の最適化戦略、タイプ一般的に使用されるインデックス、インデックスは効果シーンを撮ります
  • データベース(非インデックス付き)の最適化
  • データの場合には膨大な量の、どのサブライブラリーのサブテーブル、シーン、条件と実装
  • BツリーとB +ツリー:違い、B +ツリーを描きます
  • デザイン無制限の分類
  • 組合の和組合すべて
  • クエリ結果は重い行く:はっきりとグループ間の差によって、
  • データベース接続プール:接続の最大数、最小接続数

JVM

シンプル

  • JVMランタイムメモリアロケーション:各領域の比率が設けられています。
  • GC:GCアルゴリズム、ヒープおよびGCアルゴリズム; GC時間
  • 方法を確定
  • メモリは世代をリークして解決する(厳密に言えば、知識をJVMに属していません)
  • オブジェクトの作成プロセス
  • パラメータ:どのようなJVMパラメータを独自に回します
  • クラスの初期化シーケンス(負荷接続の初期化)
  • オブジェクトを判断する方法であるごみ
  • リサイクルプロセス
  • 静的変数領域(地獄)の例

アルゴリズム

私はここで、それを自分を磨く古典的な問題は、サイドドアのいくつか登場している、アルゴリズムを何も言うことはありません、私は書いていません

  • ソートアルゴリズム:基本的なアルゴリズムの7種類が手書きし、その特性の複雑さに熟練しなければなりません。古典的なランダム迅速ドレインと高速排気、複雑;シーケンスに、手書きの高速放電のシーケンスの後
  • スタックとキュー:キューとスタックの違い、シーンを使用して、キュー配列
  • 100億urlは、kのほとんどに表示されFOUND(!多くの企業がこの質問をしてきたし、ファイルハッシュ+ +ヒープの並べ替えを分割する必要があり、それを自分でチェックしてください)
  • 木構造のデータを削除する方法
  • 差分導入赤黒木、及びAVLツリー
  • 一貫性のあるハッシュ、ハッシュ衝突を解決する方法
  • 配列とリンクされたリスト:配列や長所と短所の連結リストとの違い、再するリストは、リストのマージを命じた(!!数回ありました)、他のデータ構造を使用することはできません、2つの配列の同じ数を見つける;配列のみ、データ構造を使用することができない配列を同定するための数と配列は、2つの数字の2つの数の和に等しい所与;二つの数は、2つの存在する他は、2つの数値を見つけ、一度表示される2つを見つけます架橋リストノード
  • 図1は、決定木の部分木の木である2
  • 二分木:階層トラバーサル、後順、72個のノード、Q非リーフノードの数、任意の2つのノード、時間複雑さの距離を求め、平衡二分木は、どのようにバランスの取れた二分木を調整するかどうかを決定します
  • 最短経路を見つけるための行列、直接描かれました
  • 手書きLRU

JDBC&ORM

地域の問いません、以下を求めることができ、私は無駄に長い時間を学んでいました

  • SQLインジェクションと予防対策(のprepareStatement、文の違いなので、どのような利点があります)
  • MyBatisの:遅延読み込み、どのようにページングをオンにする方法、バッチクエリの手書きをMyBatisの
  • データベース接続プールの実装:独自の接続プールを設計するには、何を検討する必要があります
  • なぜ反射新しいドライブしない(存在する内部静的内部ブロックを、二回ロード防止)

春のレース

  • はじめにspringboot /春:メインは確かにこのことを言うが、簡単なワン・ストップスプリングは、軽量なフレームワークであるとして、ああ何かを引くことができますが、硬くないバックIOCとAOPを実行します。
  • デザインパターンで使用されるスプリング:Singletonパターンを実装する方法春
  • スプリング分離レベル
  • サービスは、スプリング(サービス層)の一部に書いた、なぜコントローラまたはDAO層ではありません
  • springmvcワークフロー
  • シャシ侯とインターセプタZuosa、
  • スプリングのプロトタイプを変更する方法
  • 使用のAOP、ときCGLIB(場合、使用しないときのインターフェイスで)を使用している場合、JDKの動的プロキシを使用するように(ちょうど知らない聞いて、私に聞かないでください)
  • 春のグローバル変数を作成する方法

デザインパターン

  • シングルトン(非常に重要な!! !!):手書きの空腹男と怠惰な、単一の場合は、そのマルチスレッド・セーフな方法を確保するために、デュアル検出シングルトン
  • 工場パターン、戦略パターン、Observerパターン、Adapterパターン(より頻繁にテスト)

オペレーティングシステム&コンピュータネットワーク

私は面接ああに感謝、ああ、この部分は知っているが、まだ持っていないと言います

  • サブネットマスクの効果
  • プロセスのスケジューリングアルゴリズム
  • プロセス間通信
  • TCPとUDPの違い(多くの場合、テスト!!)
  • TCP 3つのグリップ4つのプレイ(多くの場合、テスト!!)
  • HTTP(頻繁にテスト!!):応答の一般的なステータスコード、HTTPとHTTPS、HTTPリクエストの内容、取得し、違いを投稿
  • 対応する7層モデルに関連するプロセスやプロトコルのWebサイトを参照してください(多くの場合、テストを!)

プロジェクト&包括的なタイトル

誰もがこの点に関して、繰り返しの低い確率で異なっている、私はいくつかの便利な参照が列挙されています

  • 少数のミスを確実にするためのコードを記述する方法
  • クラスの関数宣言を予測する方法
  • 重大なバグの印象をプロジェクト、解決する方法
  • どのようにマイクロ管理サービスに、マイクロ・サービスについての講演
  • パスとクラスパスの違い
  • 日食、IntelliJのショートカットとヒント
  • どのようにブラウザ要求を確保するためには、ブラウザのキャッシュ(プラスランダムリクエストパラメータ)を使用するのではなく、楽屋に到着します
  • (私は尋ねた包括的な質問があり、フラッターストリート)転送デザインシーン
  • モバイル決済シナリオの設計
  • BSとCS
  • なぜシステムカトンを見つける方法
  • 多くのLinux WAITTIME何リンク

おすすめ

転載: www.cnblogs.com/Java-no-1/p/11033012.html