トップ22 Java デザインパターンの面接の質問(2025)
ここにあります Java 夢の仕事に就くための、新人および経験豊富な候補者向けのデザインパターンの面接の質問と回答。
デザインパターンの面接での新入生向けの質問と回答
1) とは何かを説明する Java デザインパターン?
デザイン パターンは、一般的なオブジェクト指向の設計問題を解決するための、言語に依存しない戦略です。 特定の要件を満たすためにクラスを構造化する方法について説明します。
2) 創造的なデザインパターンとファクトリーパターンとは何ですか?
創造的なデザインパターン: このパターンは、クラスのインスタンス化時にオブジェクトがどのように作成されるかを定義および説明するために使用されます。
ファクトリパターン: ファクトリ パターンは、作成ロジックをクライアントに公開せずにオブジェクトを作成し、共通のインターフェイスを使用して新しく作成されたオブジェクトを参照するために使用されます。
👉 無料の PDF ダウンロード: Java デザインパターンの面接の質問と回答
3) コレクション オブジェクトの要素に順次アクセスする方法を取得するには、どのデザイン パターンが使用されますか?
イテレータ パターンは、コレクション オブジェクトの要素に順次アクセスする方法を取得するために使用されます。
4) サービスロケータパターンが使用される場合?
JNDI を使用してさまざまなサービスを見つけたい場合は、サービス ロケーター パターンを使用します。
5) シングルトン パターンを作成できる方法は何通りあるか教えてください。
単一のオブジェクトを作成するには、XNUMX つの有名な方法があります
- レイジーローディング
- 熱心な読み込み
6) 抽象化をその実装から切り離す必要がある場合にどのパターンが使用されるかについて言及しますか?
抽象化をその実装から切り離して、XNUMX つを独立して変更できるようにする場合は、ブリッジ パターンを使用します。
7) 既存のオブジェクトに新しい機能を追加するのに役立つデザイン パターンについて言及しますか?
デコレータ パターンを使用すると、ユーザーは既存のオブジェクトの構造を変更せずに、新しい機能を追加できます。
8) シングルトンクラスを作成する方法を説明します。 Java?
XNUMX段階のプロセスなので、
- まず、コンストラクタをプライベートにして、new演算子を使用してクラスをインスタンス化できないようにします。
- null でない場合はオブジェクトのオブジェクトを返し、そうでない場合はオブジェクトを作成し、メソッド経由でそれを返します。
9) スレッドセーフなシングルトンを書くことは可能ですか? Java?
スレッドセーフなシングルトンを書くには Java たとえば、クラスのロード中に初期化される静的シングルトン インスタンスを使用する、二重チェック ロックを使用してシングルトンを記述するなど、複数の方法があります。 Java Enum は、スレッドセーフなシングルトンを作成する最も簡単な方法です。
10) デザインパターンをどのように記述すべきかについて言及してください。
デザインパターンを記述するには、以下の点に注意する必要があります。
- パターン名と分類
- 問題と解決策
- 結果: バリエーションと言語依存の代替案にも対処する必要があります
- 用途を知る: 実際のシステムでの用途とその効率性を特定します。
11) 非静的変数へのアクセスが静的メソッドから許可されない理由を述べてください。 Java?
非静的変数はオブジェクトの特定のインスタンスに関連付けられているのに対し、静的変数はどのインスタンスにも関連付けられていないため、静的コンテキストから非静的データにアクセスすることはできません。
12) 複数の属性を持つデータをクライアントからサーバーに一度に渡す必要がある場合に役立つパターンについて述べてください。
Transfer Object Pattern は、複数の属性を持つデータをクライアントからサーバーに XNUMX 回のショットで渡す必要がある場合に便利です。
13) DAO パターンのエンティティの名前をいくつか挙げてください。
DAO のエンティティには次のものがあります。
- データアクセスオブジェクトの具象クラス
- データアクセスオブジェクトインターフェース
- モデルオブジェクトまたは値オブジェクト
14) インターセプトパターンをいつ使用できるかについて言及してください。
インターセプト パターンは、アプリケーションのリクエストまたはレスポンスで前処理または後処理を実行する必要がある場合に使用されます。
15) ファクトリーパターンをいつ使用するかについて言及しますか?
工場出荷時のパターンを使用できますが、
- どのクラスのオブジェクトを作成する必要があるかクラスが不明な場合
- クラスがそのサブクラスを指定して、作成するオブジェクトを指定する場合
- プログラミング言語では、指定されたデータに応じてサブクラスのいずれかのオブジェクトを作成する必要があるファクトリ パターンを使用できます。
経験者向けのデザイン パターン インタビューの質問と回答
16) シングルトン パターンでは、getinstance() メソッド全体を同期させる方がよいのか、それともクリティカル セクションだけで十分なのかを説明してください。どちらが好ましいでしょうか。
Sync全体の時代化 getinstance()
メソッドはコストがかかり、シングルトン インスタンスの初期化中に、別のシングルトン インスタンスの作成を停止する場合にのみ必要です。したがって、メソッド全体ではなく、クリティカル セクションのみを同期する方が適切です。
17) シングルトンクラスを何通りの方法で記述できるか教えてください。 Java?
シングルトンクラスは次のように記述できます。 Java 4つの方法で
- クラスのロード中に初期化されたパブリック静的最終フィールドを持つシングルトン
- 静的ネストされたクラスによって生成されたシングルトン。シングルトン ホルダー パターンとも呼ばれます。
- get instance() メソッドを同期してシングルトン化する
- Java 5以降は列挙型を使用する
18) clone() メソッドを使用してシングルトンの別のインスタンスが作成されないようにする方法を説明してください。
シングルトンの別のインスタンスの作成を防ぐ推奨方法は、Cloneable インターフェイスを実装せず、 clone() メソッドから例外をスローするだけで「シングルトン クラスのクローンを作成しない」ことです。
19) 「投げる」と「投げる」の違いについて述べてください。
キーワード「Throw」は例外として明示的にスローするために使用され、「Throws」は例外が処理されていることをコンパイラに再度通知するためにチェックされた例外を処理するために使用されます。 スローはメソッドの定義内で使用する必要があり、チェック例外を発生させるメソッドの呼び出し中にも使用する必要があります。
20) JDK のどのクラスがシングルトン パターンを使用しているかについて言及してください。
Java.lang.Runtime
クラスは JDK のシングルトン パターンを使用します。
21) シングルトン パターンを使用する場合の制限について言及してください。
シングルトン パターンでは、クラスのインスタンスが XNUMX つだけであることが保証され、そのインスタンスへのグローバル アクセス ポイントが提供されます。 しかし同時に、アプリケーション内のほとんどのクラスでは複数のインスタンスを作成する必要があるため、これが制限になります。
22) VO と JDO の違いについて述べてください。
JDO と VO の違いは、JDO がエンタープライズ アプリケーション開発においてエンティティ Bean と競合する永続的なテクノロジであることです。 これにより、POJO (Plain Old Java オブジェクト) を作成し、データベースに永続化することができます。
VO はバリュー オブジェクトの略で、エンティティ Bean、jdbc、さらには JDO と組み合わせて使用され、エンタープライズ アプリでよく見られる分離やトランザクションの問題を克服するために使用される抽象的な設計パターンを表します。
これらの面接の質問は、あなたの活力(口頭)にも役立ちます