その後の面接のレビューを容易にするために、さまざまな面接の質問を要約しました。各質問は自分で選択し、習得する必要があると感じています。この編集には、Java、データ構造とアルゴリズム、コンピュータネットワーク、オペレーティングシステム、データベース待機。後で、これらの質問に対する答えを次々に公開します。その他の面接の質問に加えて、面接の回答と学習資料については、ここをクリックして無料で入手してください。!
1.Java
(1)Javaの基礎知識
- ==とequalsとjavaのhashCodeの違い
- intとintegerの違い
- 抽象クラスの意味
- インターフェイスと抽象クラスの違い
- 可変オブジェクトを含む不変オブジェクトを作成することは可能ですか?
- Javaポリモーフィズムの理解について話す
- 文字列、文字列バッファ、文字列ビルダー
- ジェネリックスにおけるextendsとsuperの違い
- プロセスとスレッドの違い
- ファイナル、ファイナル、ファイナライズの違い
- シリアル化方式
- 文字列を整数に変換する方法と原則
- 静的プロパティと静的メソッドを継承できますか?書き換えることはできますか?なぜ?
- メンバー内部クラス、静的内部クラス、部分内部クラスと匿名内部クラス、およびプロジェクト内のアプリケーションの理解
- 一般的なエンコード方法について教えてください。
- 日付をフォーマットする方法は?
- Java例外システム
- 例外チェーンとは
- スローとスローの違い
- リフレクションの原則、リフレクションがクラスインスタンスを作成する3つの方法は何ですか。
- Javaでの4つの参照
- ディープコピーとシャローコピーの違いは何ですか?
- コンパイラ定数とは何ですか?それを使用することのリスクは何ですか?
- Stringオブジェクトのintern()に精通していますか?
- a = a + bとa + = bの間に違いはありますか?
- どのシナリオで、静的プロキシと動的プロキシの違いは何ですか?
- Javaのポリモーフィズムのメカニズムは何ですか?
- Javaオブジェクトをファイルにシリアル化する方法は?
- Javaリフレクションについてのあなたの理解について話してください
- Javaアノテーションについてのあなたの理解について話してください
- 依存性注入についてのあなたの理解について話してください
- ジェネリック医薬品の原理について話し、例を挙げてください
- Javaでの文字列の理解
- Stringが不変になるように設計する必要があるのはなぜですか?
- ObjectクラスのequalメソッドとhashCodeメソッドをオーバーライドします。なぜですか?
その他の面接の質問に加えて、面接の回答と学習資料については、ここをクリックして無料で入手してください。!
(2)マルチスレッド
- スレッドを開始する3つの方法は?
- プロセス、スレッド、コルーチンの違いについて話す
- スレッドはどのように通信しますか?
- デーモンスレッドとは何ですか?どういう意味ですか?
- Javaのデーモンスレッドとローカルスレッドの違いは何ですか?
- プロセスだけでなくスレッドが必要なのはなぜですか?
- 再入可能ロック(ReentrantLock)とは何ですか?
- スレッドグループとは何ですか?Javaで推奨されないのはなぜですか?
- 楽観的ロックと悲観的ロックの理解とそれを実現する方法、それを実現する方法は何ですか?
- Javaで使用されるスレッドスケジューリングアルゴリズムとは何ですか?
- 同期方法または同期ブロック、どちらがより良い選択ですか?
- run()メソッドとstart()メソッドの違い
- メソッドが同時アクセスを許可するスレッドの数を制御するにはどうすればよいですか?
- Javaのwaitメソッドとseelpメソッドの違い。
- Threadクラスのyieldメソッドの機能は何ですか?
- 不変オブジェクトとは何ですか?並行アプリケーションの作成にどのように役立ちますか?
- 待機/通知キーワードの理解について話す
- なぜ待機、通知、notifyAllがスレッドクラスにないのですか?
- スレッドブロッキングの原因は何ですか?
- Javaでの同期方法について話す
- 同期されたキーワード、クラスロック、メソッドロック、および再突入ロックの理解について話します
- マルチスレッドアクセスと静的同期方式の機能
- 同じクラスの2つの同期されたメソッド、2つのスレッドによる同時アクセスの問題
- main()メソッドが配置されているスレッドがJavaプログラムが終了するスレッドであることをどのように確認しますか?
- 揮発性キーワードの役割について話す
- ThreadLocalキーワードの役割について話します
- NIOの理解について話す
- CallableとFutureとは何ですか?
- ThreadLocal、同期キーワード、揮発性キーワードの違い
- 同期とロックの違い
- ReentrantLock、同期および揮発性の比較
- JavaのCycliBarriarとCountdownLatchの違いは何ですか?
- CopyOnWriteArrayListはどのようなアプリケーションシナリオに使用できますか?
- ReentrantLockの内部実装
- ロックの原理
- Javaのセマフォとは何ですか?
- JavaのinvokeAndWaitとinvokeLaterの違いは何ですか?
- マルチスレッドのビジーループとは何ですか?
- スレッドがロックを所有しているかどうかを検出する方法は?
- デッドロックの4つの必要条件?
- オブジェクトロックとクラスロックは相互に影響しますか?
- スレッドプールとは何ですか?その使用方法は?
- Javaスレッドプールのsubmit()メソッドとexecute()メソッドの違いは何ですか?
- JavaのinterruptedメソッドとisInterruptedメソッドの違いは何ですか?
- Javaでブロッキングキューを実装する
- BlockingQueueの概要:
- マルチスレッドについて知っておくべき問題は何ですか?
- ファイルの読み取りと書き込みを行うマルチスレッドの安全性を確保するにはどうすればよいですか?
- マルチスレッドブレークポイントの再開可能な転送原理
- 再開可能なトランスミッションの実現
- 生産者/消費者モデルを実装する
- JavaのReadWriteLockとは何ですか?
- デッドロックを引き起こすJavaでプログラムを作成しますが、どのように解決しますか?
- SimpleDateFormatスレッドは安全ですか?
- Javaの同期収集と並行収集の違いは何ですか?
- JavaでのConcurrentHashMapの並行性とは何ですか?
- Javaタイマークラスとは何ですか?特定の時間間隔でタスクを作成するにはどうすればよいですか?
(3)。コレクション
- コレクションとコレクションの違いは何ですか?
- オブジェクトAのequalsメソッドのシグネチャを変更し、HashMapを使用してこのオブジェクトインスタンスを格納するときに、どのequalsメソッドが呼び出されますか?
- リスト、セット、マップの違い
- リストとマップの実装と保存
- HashMapの実現原理
- HashMapにデータを配置する方法(HashMapソースコードの観点から説明)?
- HashMapの拡張操作はどのように実現されますか?
- JDK1.7とJDK1.8のHashMapの違いは何ですか?
- ConcurrentHashMapの実現原理
- HashTableの実装原則
- ArrayMapとHashMapの比較
- HashMapとHashTableの違い
- HashMapとHashSetの違い
- セットにハッシュを実装するときに衝突を防ぐ方法
- 配列とリンクリストの違い
- ArrayとArrayListの違いは何ですか?アレイを使用する方がよいのはいつですか
- .EnumSetとは何ですか?
- ComparableインターフェイスとComparatorインターフェイスの違いは何ですか?
- Javaコレクションの高速障害メカニズム「fail-fast」?
- フェイルファストとフェイルセーフの違いは何ですか?
- BlockingQueueとは何ですか?
- Iteratorクラスの役割は何ですか
- poll()メソッドとremove()メソッドの違いは?
- JAVA8のConcurrentHashMapがセグメントロックを放棄したのはなぜですか?問題はありますか?設計する場合、どのように設計しますか?
(4).JVM
- どのような状況でクラスの初期化がトリガーされますか?
- 解決と派遣についてのあなたの理解について話してください。
- あなたは何を知っていますか、またはどのGC戦略をオンラインで使用していますか?その利点は何ですか?また、どのようなシナリオに適していますか?
- Ja0v00aクラスローダーには0を含む00が含まれていますか?それらの間のサブ関係は何ですか?親の委任メカニズムとはどういう意味ですか?メリットは何ですか?
- クラスローダーをカスタマイズする方法は?どれを使用しましたか、またはどのシナリオでカスタムクラスローダーが必要ですか?
- ヒープメモリ設定のパラメータは何ですか?
- Perm Spaceにはどのようなデータが保存されていますか?OutOfMemoryが発生しますか?
- GCを実行する場合、メモリ内の各スペースでオブジェクトが移動される順序は何ですか?
- OutOfMemoryの問題が発生しましたか?この問題にどのように対処しますか?プロセスの利点は何ですか?
- StackOverflowの例外が発生しましたか?通常、どのような状況でトリガーされると思いますか?スレッドのスタックサイズを指定するにはどうすればよいですか?あなたは一般的にいくら書きますか?
- メモリモデルとパーティションは、各領域に何を配置するかを詳細に説明する必要があります。
- ディスパッチ:静的ディスパッチと動的ディスパッチ。
- 実行時の仮想マシンの最適化戦略は何ですか
- StackOverflowErrorとOutOfMemeryErrorの違いを説明してください。
- .JVMで、オブジェクトが死んでいるかどうかを判断する方法は?
コンピュータネットワーク
- ネットワークから10Mの画像をロードし、注意事項について話します
- OSIネットワークアーキテクチャとTCP / IPプロトコルモデル
- TCPの3ウェイハンドシェイクと4つの手を振る
- TCP接続で3ウェイハンドシェイクが必要なのに、2回ではないのはなぜですか?
- TCPプロトコルはどのようにして伝送の信頼性を保証しますか
- TCPとUDPの違い
- TCPとUDPのアプリケーションは何ですか
- HTTP1.0と2.0の違い
- HTTPメッセージ構造
- 長いHTTP接続と短いHTTP接続?
- HTTPとHTTPSの違いとセキュリティの実現方法
- 証明書の有効性を確認する方法
- GetとPOSTの違い
- TCP輻輳処理
- TCPがフロー制御を実行する方法
- TCPおよびUDPに対応する一般的なアプリケーション層プロトコル
- IPアドレスの分類
- 一意のMacアドレスを持っているのになぜIPアドレスが必要なのですか?
- スイッチ、ハブ、ルーターの違いは何ですか?
- 橋の役割
- ARPはアドレス解決プロトコルです。動作原理を簡単な言語で説明してください。
- ネットワークインターフェースカード(ネットワークカード)の機能は何ですか?
- IOでの同期と非同期、ブロッキングと非ブロッキングの違い
- URIとURLの違い
- GETリクエストでのURLエンコードの意味
- 一般的なステータスコードと理由フレーズ
- セッション、Cookie、アプリケーションについて話す
- ブラウザのキャッシュを回避する方法
- ブロック転送とは何ですか。
- SQLインジェクションについて話す
- DDos攻撃
- DDos攻撃の防止方法は何ですか?
- XSS攻撃とは
- URLを入力してからページを取得するまでのプロセス
データ構造とアルゴリズム
この部分では、いくつかのデータ構造を手動で実装します。次の重要なデータ構造を要約しました。
データ構造
- リンクリスト(追加、削除、操作の確認)
- 単一リンクリスト
- 二重リンクリスト
- キュー(追加、削除、操作の確認)
- 通常のキュー
- 優先チームメイト
- 木
- 二分木(プレオーダー、ミドルオーダー、ポストオーダー)
- バランスツリー(可能な限りコードを実装してみてください)
- ヒープ
- 赤黒木(性質とアプリケーションのシナリオを理解する)
- Bツリー(性質とアプリケーションのシナリオを理解する)
- 図
- 深さ優先探索
- 幅優先探索
- 最短経路
- 最小全域木
- プリムアルゴリズム
- クラスカルアルゴリズム
- トポロジー
- ストリング
- Knuth-Morris-Prattアルゴリズム
- ボイヤームーアアルゴリズム
その他の面接の質問に加えて、面接の回答と学習資料については、ここをクリックして無料で入手してください。!
いくつかのアルゴリズムのアイデア
- 再帰
- 再帰
- 貪欲
- 列挙する
- 動的計画法
- バックトラック
- 分割統治
あなたが学ばなければならないトップ10のソートアルゴリズム
- ソートを選択
- 挿入ソート
- バブルソート
- ヒルソート
- マージソート
- クイックソート
- ヒープソート
- カウントソート
- バケットソート
- 基数ソート
ブラシの質問
Niukewang Jianzhiは6〜70の質問を提供します
リートコード
データベース
- MysqlのInnoDBでサポートされている4つのトランザクション分離レベルの名前と各レベルの違いについて簡単に説明してください。
- MysqlでのENUMの使用法は何ですか?
- CHARとVARCHARの違いは?
- ログを介してトランザクションがどのように実現されるかは、詳細であるほど優れています。
- ドロップ、削除、切り捨ての違い
- 局所性とディスクの先読みの原則
- データベースパラダイム
- ストアドプロシージャとトリガーの違い
- ロック最適化戦略
- インデックスはどのような状況で設定されますが、使用できません
- どのような状況でインデックスを作成すべきではありませんか?
- MySQLの外部接続、内部接続、および自己接続の違いを説明する
- 整合性制約とは何ですか?
- Mysqlストレージエンジン、myisamとinnodbの違い。
- SQLを最適化する方法
- 楽観的ロックと悲観的ロックとは何ですか?INNODBの標準的な行レベルのロックの2つのタイプは何ですか?それらの意味を説明してください。
- MVCCの意味とその実現方法
- MYSQLのマスタースレーブ遅延を解決する方法。
春
1.春の概要
- Springフレームワークを使用する利点は何ですか?
- Springはどのモジュールで構成されていますか?
- AOPモジュールについて説明する
- WEBモジュールについて説明する
- コアコンテナ(アプリケーションコンテキスト)モジュール。
- Spring IOCコンテナとは何ですか?
- IOCの利点は何ですか?
- ApplicationContextの通常の実装は何ですか?
- Beanファクトリとアプリケーションコンテキストの違いは何ですか?
- Beanファクトリとアプリケーションコンテキストの違いは何ですか?
2.春の依存性注入
- Springの依存性注入とは何ですか?
- IOC(依存性注入)メソッドの種類は何ですか?
- 春の豆とは何ですか?
- Spring Beanの定義には何が含まれていますか?
- SpringでサポートされているいくつかのBeanの範囲を説明します。
- SpringフレームワークスレッドのシングルトンBeanは安全ですか?
- SpringフレームワークでのBeanのライフサイクルを説明する
- 重要な豆のライフサイクル方法は何ですか?それらをオーバーロードできますか?
- Beanアセンブリとは何ですか?
- Beanの自動アセンブリとは何ですか?
- 自動組み立てのさまざまな方法を説明します。
- 自動組立の制限は何ですか?
3.春の注釈
- アノテーションアセンブリをオンにする方法は?
- @ Required、@ Autowired、@ Qualifierアノテーションについて話します。
4.Springデータアクセス
- SpringフレームワークでJDBCをより効率的に使用するにはどうすればよいですか?
- Springを使用してHibernateにアクセスする方法は?
- Spring Frameworkのトランザクション管理の利点は何ですか?
5. Springアスペクト指向プログラミング(AOP)
- AOPについて説明する
- 側面
- Spring AOPのフォーカスとクロスカッティングフォーカスの違いは何ですか?
- 通知
- 自動エージェントには何種類ありますか?
- 織りとは何ですか。織りアプリケーションの違いは何ですか?
6.springMVC
- SpringのMVCフレームワークとは何ですか?
- DispatcherServlet
- WebApplicationContext
- Spring MVCフレームワークのコントローラーは何ですか?
- @Controllerアノテーション
- @RequestMappingアノテーション
JavaWeb
サーブレット与Tomcat
- サーブレットのライフサイクル
- 転送とリダイレクトの違い
- Tomcatコンテナはどのようにサーブレットクラスインスタンスを作成しますか?どのような原則が使用されましたか?
- クッキーとは何ですか?セッションとCookieの違いは何ですか?
- サーブレットのセキュリティ問題
- Tomcatにはどのようなコネクタ動作モード(最適化)がありますか?
JSP
- jsp静的包含と動的包含の違い
- jspの組み込みオブジェクトとは何ですか?それらの機能は何ですか?
- jspとサーブレットの違いは何ですか、それらの共通点は何ですか、そしてそれぞれのアプリケーションの範囲は何ですか?
- 5つの一般的なJSTLタグを書く
- JSPはどのように実行されますか?実行効率はサーブレットよりも低いですか?
- サーブレットとCGIの違いを教えてください。
- JSPのデザインパターンを簡単に説明します。
やっと
後で、redis、メッセージキュー、状況に関する質問など、他の質問をいくつか見つけます。とりあえずたくさん入れて、後で答えます。