面接が最近うまくいったのか、よく知らない質問を頻繁にするのか、あるいはこれらの質問にどのように回答するのかわかりません。今日、Dachangが2020年に頻繁に尋ねた実際のインタビューの質問と分析をまとめました。コンテンツポイントには、 Javaコレクション、jvm、コンカレントプログラミング、spring、mybatis、springMVC、マイクロサービス、Dubbo、netty、ネットワーク、zookeeper、kafka、rabbitMQ、readisキャッシュ、データベース、デザインパターン、および主要なインターネット企業から頻繁に尋ねられるその他の実際のインタビューの質問があります。 、。
22の本物のJavaコレクションインタビューの質問:
- ArrayListとVectorの違い。
- ArrayList、Vector、LinkedListのストレージパフォーマンスと特性について説明します。
- フェイルファストとフェイルセーフの違いは何ですか?
- ハッシュマップのデータ構造。
- HashMapはどのように機能しますか?
- ハッシュマップはいつ拡張されますか?
- 要素にアクセスするときのリスト、マップ、セットの3つのインターフェースの特徴は何ですか?
- セット内の要素は繰り返すことができないので、それらが繰り返されるかどうかを区別するためにどのような方法が使用されますか?==またはequals()?それらの違いは何ですか?
- 2つのオブジェクトの値は同じ(x.equals(y)== true)ですが、ハッシュコードが異なる場合があります。この文は正しいですか?
- ヒープとスタックの違いは何ですか。
- Javaコレクションフレームワークの基本的なインターフェースは何ですか?
- HashSetとTreeSetの違いは何ですか?
- HashSetの基本的な実装は何ですか?
- LinkedHashMapはどのように機能しますか?
- コレクションクラスがCloneableおよびSerializableインターフェイスを実装しないのはなぜですか?
- イテレータとは何ですか?
- IteratorとListIteratorの違いは何ですか?
- ArrayとArrayListの違いは何ですか?ArrayListの代わりにいつArrayを使用すればよいですか?
- Javaコレクションフレームワークのベストプラクティスは何ですか?
- セット内の要素は繰り返すことができないため、繰り返されるかどうかを区別するためにどのような方法が使用されますか?==またはequals()を使用する必要がありますか?それらの違いは何ですか?
- ComparableおよびComparatorインターフェースとは何ですか?それらの違いを挙げてください。
- コレクションとコレクションの違い。
21の実際のJVMインタビューの質問:
- Javaクラスの読み込みプロセス?
- JVMがクラスファイルをロードする主なメカニズムについて説明してください。
- Javaメモリ割り当て。
- GCとは何ですか?なぜGCなのですか?
- Javaガベージコレクションメカニズムについて簡単に説明します。
- オブジェクトが生きているかどうかを判断する方法は?(またはGCオブジェクトを決定する方法)
- ガベージコレクションの利点と原則。また、2つのリサイクルメカニズムを検討してください。
- ガベージコレクターの基本原則は何ですか?ガベージコレクターはすぐにメモリを解放できますか?仮想マシンにガベージコレクションを事前に通知する方法はありますか?
- Javaでメモリリークは発生しますか?簡単に説明してください。
- 深いコピーと浅いコピー。
- System.gc()とRuntime.gc()は何をしますか?
- finalize()メソッドはいつ呼び出されますか?ファイナライズの目的は何ですか?
- オブジェクト参照がnullに設定されている場合、ガベージコレクターはオブジェクトによって占有されているメモリをすぐに解放しますか?
- 分散ガベージコレクション(DGC)とは何ですか?それはどのように機能しますか?
- シリアルコレクターとスループットコレクターの違いは何ですか?
- Javaでは、いつオブジェクトをガベージコレクションできますか?
- Javaのメモリ割り当てとリカバリ戦略、マイナーGCとメジャーGCについて簡単に説明します。
- JVMの永続的な世代でガベージコレクションが発生しますか?
- Javaのガベージコレクションのメソッドは何ですか?
- クラスローダーとは何ですか?クラスローダーとは何ですか?
- クラスローダーの親委譲モデルメカニズム?
コンカレントプログラミングインタビューの38の実際の質問:
同期された関連質問:
- Synchronizedを使用したことがありますか?その原理は何ですか?
- オブジェクトのロックの取得について説明しましたが、この「ロック」とは正確には何ですか?オブジェクトのロックを判別する方法は?
- 再入可能性とは何ですか。また、Synchronizedが再入可能ロックになるのはなぜですか。
- JVMはJavaのネイティブロックに対してどのような最適化を行いますか?
- Synchronizedが不当なロックとなるのはなぜですか?
- ロック除去とロック粗化とは何ですか?
- Synchronizedが悲観的ロックになるのはなぜですか?楽観的ロックの原則は何ですか?CASとは何ですか?その特性は何ですか?
- 楽観的ロックは必ずしも良いですか?
ReentrantLockおよびその他の明示的なロック関連の問題:
- Synchronizedと比較して、ReentrantLockの実装原理の違いは何ですか?
- それでは、AQSフレームワークについてお話しください。
- SynchronizedLockとReentrantLockの類似点と相違点をできるだけ詳しく比較してください。
- ReentrantLockはどのようにして再入可能にしますか?
- ReetrantLock以外に、JUCの他にどのような並行処理ツールを利用しましたか?
- ReadWriteLockとStampedLockについて話してください。
- Javaスレッドを互いに同期させる方法は?どのシンクロナイザを知っていますか?別途ご紹介ください。
- CyclicBarrierとCountDownLatchは非常によく似ています。比較してください。
Javaスレッドプール関連の問題:
- スレッドプールはJavaでどのように実装されますか?
- スレッドプールを作成するためのいくつかのコア構築パラメーター?
- スレッドプール内のスレッドはどのように作成されますか?スレッドプールの開始時に最初に作成されましたか?
- さまざまなパラメーターを構成することでさまざまなスレッドプールを作成できると説明されているので、Javaにはデフォルトでどのスレッドプールが実装されていますか?それらの類似点と相違点を比較してください。
- Javaスレッドプール内のスレッドを送信する方法
Javaメモリモデル関連の問題:
- Javaのメモリモデルとは何ですか?Javaのスレッドはお互いの変数をどのように認識しますか?
- volatileの特性と、すべてのスレッドが変数の可視性を保証できる理由を教えてください。
- volatileはスレッド間の変数の可視性を保証できるので、volatile変数に基づく操作が同時に安全であることを意味しますか?
- volatileとSynchronizedの類似点と相違点を比較してください。
- ThreadLocalが並行性の安全性をどのように解決するかについて話してください。
- ThreadLocalは慎重に使用する必要があると多くの人が言いますが、ThreadLocalを使用するときに何に注意を払う必要があるかについて、あなたの理解について話してください。
春の面接に関する25の質問:
- Springフレームワークとは何ですか?Springフレームワークの主なモジュールは何ですか?
- Springフレームワークを使用する利点は何ですか?
- 制御の反転(IOC)とは何ですか?依存性注入とは何ですか?
- SpringフレームワークのIoCについて説明してください。
- BeanFactoryとApplicationContextの違いは何ですか?
- Springを構成する方法はいくつありますか?
- XML構成に基づいてSpringを構成する方法は?
- Java構成に基づいてSpringを構成する方法は?
- アノテーションでSpringを構成する方法は?
- Spring Beanのライフサイクルについて教えてください。
- Spring Beanのスコープの違いは何ですか?
- 春のインナービーンズとは?
- SpringフレームワークのシングルトンBeanはスレッドセーフですか?
- 春にJavaコレクションを挿入する方法の例を教えてください。
- Spring BeanにJava.util.Propertiesを挿入する方法は?
- Spring Beanの自動配線について説明してください。
- 自動組立モードの違いを教えてください。
- アノテーションベースの自動アセンブリを有効にする方法は?
- @Requiredアノテーションを説明する例を挙げてください。
- @Autowiredアノテーションを説明する例を挙げてください。
- コンストラクター注入と設定注入の違いは何ですか?
- Springフレームワークのイベントにはどのような種類がありますか?
- FileSystemResourceとClassPathResourceの違いは何ですか?
- Springフレームワークで使用されている設計パターンは何ですか?
MyBatisインタビューの24の本当の質問:
- Mybatisとは何ですか?
- Mybaitsの利点:
- MyBatisフレームワークの欠点:
- MyBatisフレームワークの該当する機会:
- MyBatisとHibernateの違いは何ですか?
- #{}と$ {}の違いは何ですか?
- エンティティクラスの属性名がテーブルのフィールド名と異なる場合はどうすればよいですか?
- あいまいなクエリでlikeステートメントを記述する方法は?
- 通常、Xmlマッピングファイルには、それに対応するDaoインターフェイスがありますが、このDaoインターフェイスの動作原理は何ですか?Daoインターフェースのメソッドのパラメーターが異なる場合、メソッドをオーバーロードできますか?
- Mybatisのページネーションはどのように行われますか?ページングプラグインの原理は何ですか?
- MybatisはどのようにしてSQL実行結果をターゲットオブジェクトとしてカプセル化して返しますか?マッピングフォームとは何ですか?
- 一括挿入を実行するにはどうすればよいですか?
- 自動生成された(主)キー値を取得するにはどうすればよいですか?
- Mybatis動的SQLの用途は何ですか?それはどのように機能しますか?動的SQLとは何ですか?
- Xmlマッピングファイルには、一般的なselect | insert | updae | deleteタグ以外に、他にどのようなタグがありますか?
- MybatisのXmlマッピングファイルで、異なるXmlマッピングファイルに対してIDを繰り返すことができますか?
- Mybatisがなぜ半自動ORMマッピングツールなのですか?それと全自動の違いは何ですか?
- MyBatisは1対1をどのように実装しますか?どのように機能しますか?
- MyBatisで1対多を実現するには、いくつかの方法があります。操作方法は?
- Mybatisは遅延読み込みをサポートしていますか?もしそうなら、その実装原理は何ですか?
- Mybatisの1次および2次キャッシュ:
- MyBatisのインターフェースバインディングとは何ですか?それを達成する方法は何ですか?
- MyBatisのマッパーインターフェイスを使用する場合の要件は何ですか?
- Mybatisプラグインの動作原理とプラグインの作成方法について簡単に説明します。
また、springMVC、マイクロサービス、ダボ、netty、ネットワーク、zookeeper、kafka、rabbitMQ、readisキャッシュ、データベース、デザインパターンもあるので、ここではすべてを説明しません。
このPDFインタビュー情報が必要な読者や友人は、いいね!と言ってから、プライベートメッセージ[インタビュー]で問題ありません(必ず私に注意してください。そうしないと、見知らぬプライベートメッセージに返信する方法がありません)。みなさんに楽しいオファーをいただければ幸いです。