合格目指せPDII-JPN試験最新のPDII-JPN試験問題集PDF 2026年更新
PDII-JPN試験問題集、365日更新無料サンプル
質問 # 37
会社は、顧客を Salesforce の取引先として表します。すべての顧客には、会社のすべてのシステムで一意の Customer_Number__c があります。また、外部システムから送信される請求書を表すために、アカウントへのルックアップを持つカスタム Invoice__c オブジェクトも持っています。この会社は、請求書データを Salesforce に統合して、顧客が請求書を期日通りに支払っていることを営業担当者が確認できるようにしたいと考えています。これを実装する最適な方法は何ですか?
- A. カスタム請求システムで、各顧客の Salesforce アカウント ID を使用して相互参照テーブルを作成し、毎晩請求データを挿入します。
- B. 請求書の顧客番号に対応する Salesforce ID を取得するために請求書データを挿入するために呼び出しごとにアカウント オブジェクトをクエリします。
- C. Salesforce Connect と外部データ オブジェクトを使用して、カスタム コードなしで請求書データを Salesforce にシームレスにインポートします。
- D. Customer_Number__c が外部 ID であり、カスタム フィールド Invoice_Number__c が外部 ID であることを確認し、請求書データを毎晩 Upsert します。
正解:D
質問 # 38
示す。
ある開発者が、特定の基準が満たされたときに getFetchLeadList を強制的に呼び出すことによって、リードに関する情報を表示する Lightning Web コンポーネント (LWC) の一部として JavaScript 関数を作成しました。
セキュリティを維持しながら LWC がデータを効率的に破棄できるようにするために、開発者が上記の Apex クラスに実装する必要があるこれらの変更は何ですか?
3つの答えを選択してください
- A. クラス宣言で without shared キーワードを実装します。
- B. クラス宣言で with sharing キーワードを実装します。
- C. SOQL クエリ内で WITH SECURITY_ENFORCED 句を使用します。
- D. gAuraEnabled- で Apex メソッドにアノテーションを付けます。
- E. Apex メソッドに 8AuraEnabled (Cacheable-true) のアノテーションを付けます。
正解:B、C、E
質問 # 39
開発者は、アカウントに After Update トリガーを作成しました。ワークフロー ルールと項目の更新により、トリガーによって取引先レコードが繰り返し更新されます。
開発者は再帰トリガーをどのように処理する必要がありますか?
- A. 静的変数を使用して、トリガーが複数回実行されるのを防ぎます
- B. トリガーを非アクティブ化し、ロジックをプロセスまたはフローに移動します。
- C. グローバル変数を使用して、トリガーが複数回実行されないようにします
- D. ワークフロー ルールを無効にして、フィールドの更新が実行されないようにします。
正解:A
質問 # 40
開発者が開発者サンドボックスでVisualforceページを作成し、テストしたところ、本番環境で使用すると「View State」エラーが発生するという報告を受けました。これらのエラーを修正するには、開発者は何を確認すればよいでしょうか?
- A. 変数が一時変数としてマークされていることを確認します。12
- B. プロファイルが Visualforce ページにアクセスできることを確認します。
- C. プロパティがプライベートとしてマークされていることを確認します。
- D. クエリがガバナー制限を超えないようにします。34
正解:A
解説:
The Visualforce View State is a hidden form field that maintains the state of the page (including controller variables) between server requests. 9Salesforce imposes a strict 135KB limit on the View State. When a page handles large amounts of 10data-such as large lists of records or complex objects-the serialized size of the controller variables can easily exceed this limit, resulting in a runtime error for the user.
To correct these errors, the developer should use the transient keyword (Option C). Marking a variable as transient prevents it from being serialized into the View State. This is the standard best practice for any data that does not need to be maintained across "postbacks" (actions that refresh the page or part of the page).
Common candidates for the transient keyword include:
* Large lists of records retrieved for display only.
* Temporary variables used for calculations during a single request.
* Summary data that can be easily re-queried if needed.
Option A relates to security, not performance. Option B (private variables) does not exclude variables from the View State; only static and transient variables are excluded. Option D relates to SOQL governor limits, which are independent of the View State size. By judiciously using transient, the developer keeps the page weight low and ensures a smooth user experience in production environments with real-world data volumes.
質問 # 41
一度に数千の取引先レコードをロードする Visualforce ページ内のカスタム データ テーブルのレンダリング時間が遅いというユーザーの苦情があります。
このような問題を軽減するために、開発者は何ができるでしょうか?
- A. JavaScript Remoting を使用してアカウントをクエリします。
- B. サードパーティのデータ テーブル ライブラリを静的リソースとしてアップロードします。
- C. Account レコードをクエリするときに、Apex コードで transient キーワードを使用します。
- D. 標準のアカウント リスト コントローラーを使用し、ページネーションを実装します。
正解:C
質問 # 42
ある会社には、ユーザの入力に基づいて結果のリストを返す Apex コントローラを呼び出すことで、ユーザが特定のオブジェクト タイプのレコードを検索できるカスタム コンポーネントがあります。検索が完了すると、searchComplete イベントが発生し、結果がイベントの results 属性に入れられます。このコンポーネントは他のコンポーネント内で使用されるように設計されており、1 つのページに複数回表示される場合があります。
検索完了時にイベントを発生させるために追加する最適なコードは何ですか?
- A.

- B.

- C.

- D.

正解:D
解説:
The correct code to fire the event when the search has completed in a Lightning component is option B.
$A.get("e.c.searchComplete") is the syntax used to get the event, setParams is used to set the parameters, and fire is used to dispatch the event.References: Lightning Components Developer Guide - Firing Events
質問 # 43
Salesforce 開発者が多国籍企業に雇われ、従業員の雇用手当と獲得コミッションを長期にわたって示すカスタム Lightning アプリケーションを構築します。アプリケーションは、日付、時刻、数値、通貨、および通貨記号に関するユーザーのロケール コンテキストを認識し、尊重する必要があります。
Aura コンポーネントを使用する場合、Lightning アプリケーションがユーザのロケールに準拠していることを確認するには、開発者はどのアプローチを実装する必要がありますか?
- A. $Label グローバル値プロバイダーを使用します。
- B. ユーザー設定を保存するための階層型カスタム設定を作成します。
- C. $User グローバル変数を使用してユーザー設定を取得します。
- D. $Lacale 値プロバイダーを使用してユーザー設定を取得します。
正解:D
解説:
The $Locale value provider is a global value provider that returns information about the current user's locale, such as the date format, time format, number format, currency format, and currency symbol. You can use the $Locale value provider to format the data in your Aura components according to the user's locale preferences. The $User global variable returns information about the current user, such as the name, email, profile, and role, but not the locale preferences. The $Label global value provider returns custom labels that are defined in your Salesforce organization. Custom labels are used to create multilingual applications that can be translated into different languages. A hierarchical custom setting is a type of custom setting that lets you set different values for different profiles or users. You can use a hierarchical custom setting to store user preferences, but you would need to write code to retrieve and apply them to your Aura components. Reference: [$Locale Value Provider], [$User Global Variable], [$Label Global Value Provider], [Custom Settings]
質問 # 44
上記の単体テストでテスト用のコントローラー拡張機能を作成するには、セットアップの指定された場所に何を追加する必要がありますか?
- A.

- B.

- C.

- D.

正解:D
質問 # 45
Universal Containers は、取引先に関連付けられた取引先責任者のリストを取得する Lightning Web コンポーネントとその Apex コントローラクラスを分析します。コードの抜粋は次のとおりです。
コードスニペットに基づいて、Lightning Web コンポーネントで取引先責任者のメールアドレスを表示するにはどのような変更を加える必要がありますか?
- A. Apex コントローラクラスに新しいメソッドを追加して、メールアドレスを個別に取得し、このメソッドを呼び出すように Lightning Web コンポーネントを変更します。
- B. Lightning Web コンポーネントの lightning-datatable コンポーネントを拡張して、MailingAddress 項目の列を含めます。
- C. getAccountContacts メソッドの SOQL クエリを変更して、MailingAddress 項目を含めます。
- D. getAccountContacts メソッドの SOQL クエリを変更して MailingAddress 項目を含め、JavaScript ファイルの columns 属性を更新して Mailing address 項目を追加します。
正解:C
質問 # 46
開発者は、Lightning データテーブル内のレコードのリストを表示する Lightning Web コンポーネントを作成しています。新しいレコードをデータベースに保存した後、リストが更新されません。
これを実現するには、開発者は上記のコードの何を変更する必要がありますか
起こる?
- A. this.dazta で rafrasnApex() を呼び出します。
- B. 結果を格納する変数を作成し、refreshpex() を呼び出します。
- C. @track デコレータをデータ変数に追加します。
- D. 結果を保存する新しい変数を作成し、@track アノテーションを付けます。
正解:B
解説:
In Lightning Web Components (LWC), the data displayed in a component is not automatically refreshed when a new record is saved to the database. To refresh the displayed list of records in a lightning-datatable after a save operation, developers should use the refreshApex() function. This function is imported from the
@salesforce/apex module and is used to refresh the cache and re-execute the Apex wire method to fetch the latest data from the server. The @track decorator is no longer necessary in most cases due to reactive properties being the default behavior in LWC as of Spring '20 release. Also, calling refreshApex() on this.data directly or creating a new tracked variable will not initiate a refresh of the cached data.
References:
Get Updated Data with refreshApex()
Lightning Web Components and Salesforce Data
質問 # 47
ある組織では、取引先責任者と取引先の住所を保存するたびに、Apex コードを使用して会社の標準に正規化する必要があると規定されています。これを実装する最適な方法は何でしょうか?
- A. 連絡先と取引先で、住所を正規化するためのヘルパークラスを呼び出す Apex トリガー
- B. 取引先責任者のApexトリガーで、取引先トリガーを呼び出して住所を正規化する
- C. 取引先責任者トリガーを呼び出して住所を正規化する取引先責任者のApexトリガー
- D. 連絡先と取引先で住所を正規化するApexトリガー
正解:A
解説:
In software engineering, the DRY (Don't Repeat Yourself) principle is fundamental for maintainability. If the logic for normalizing an address is identical for both Accounts and Contacts, that logic should not be duplicated across two separate trigger files.
The optimal implementation (Option D) is to create a single Trigger Helper or Utility class. This class contains a static method (e.g., AddressService.normalize(List<sObject> records)) that performs the normalization logic. You then create a small trigger on the Account object and a small trigger on the Contact object, both of which simply invoke this shared helper method.
This approach offers several advantages:
* Maintainability: If the company standard for addresses changes (e.g., changing "St." to "Street"), the developer only needs to update the code in one place.
* Reusability: The helper method can also be called from other contexts, such as an Anonymous Apex script or a Batch job.
* Readability: Triggers remain "thin" and easy to read, acting only as entry points rather than containing complex business logic.
Options B and C are technically impossible; a trigger on one object cannot "call" a trigger on another object directly. Option A is less optimal because it leads to code duplication and a higher risk of bugs when logic is updated in one trigger but forgotten in the other.
質問 # 48
Visualforce ページコントローラでの transient キーワードの使用は、どの一般的なパフォーマンス問題に役立ちますか?
- A. クエリのパフォーマンスを向上させます。
- B. ロード時間を短縮します。
- C. ビューステートを削減します。
- D. ページ転送を改善します。
正解:C
解説:
The transient keyword in Visualforce page controllers marks variables that should not be part of the view state, which can significantly reduce the size of the view state. This can help avoid view state limit errors and improve page performance because a smaller view state requires less time to send to the client.
References: Visualforce Developer Guide - Reducing View State Size
質問 # 49
ユニバーサル コンテナは、複数の外部システムと統合する必要があります。このプロセスは、Salesforce でレコードが作成されるときに開始されます。リモートシステムでは、続行する前に Salesforce が応答を待つ必要はありません。
これを達成するために推奨される最適なソリューションは何ですか?
- A. PushTopic イベント
- B. HTTP コールアウトによるトリガー
- C. プラットフォームイベント
- D. Qutbound メッセージ
正解:D
質問 # 50
開発者は、送信された電子メールを処理するサービスを作成し、電子メールの内容をレコードのデータとして使用してアカウントと連絡先を作成する必要があります。
開発者はこの要件をどのように達成できますか?
- A. 自動起動フローとプロセスビルダーを使用
- B. Apex インバウンドメールハンドラを使用する
- C. Fuel API をメール データ拡張機能と共に使用する
- D. Heroku データ クリップを使用して電子メールを処理する
正解:B
質問 # 51
OpportunityList という名前の Opportunity レコードのリストが与えられた場合、Opportunity のアカウントのすべての連絡先をクエリするのに最適なコード スニペットはどれですか?
- A.

- B.

- C.

- D.

正解:D
質問 # 52
Lightning レコードページのボタンをクリックしてモーダルダイアログに表示できるようにするには、Aura コンポーネントによってどのインターフェースを実装する必要がありますか?
- A. 力:稲妻クイックアクション
- B. 雷:編集
- C. ライトニング:クイックアクション
- D. 茶番劇:lightningEditRAation
正解:A
解説:
To display an Aura component in a modal dialog, the component must implement the force:lightningQuickAction or force:lightningQuickActionWithoutHeader interface. This allows it to be used as a quick action on record pages.References: Aura Components Developer Guide - Using Components in Quick Actions
質問 # 53
リアルタイム通知が必要ない場合に、開発者がユーザが最後に Salesforce にログインした時期を確認できる Salesforce 機能はどれですか?
- A. 非同期データキャプチャイベント
- B. 開発者ログ
- C. イベント監視ログ
- D. カレンダーイベント
正解:C
解説:
The Event Monitoring Log is the best feature to use to see when a user last logged in to Salesforce if real-time notification is not required. The Event Monitoring Log provides detailed information about various events that occur in the org, such as logins, API calls, report exports, etc. The developer can query the LoginEvent object to get the timestamp, username, and other details of the login events. The Calendar Events, Asynchronous Data Capture Events, and Developer Log are not relevant for this scenario, as they do not capture the login information of the users. Reference: [Event Monitoring], [LoginEvent]
質問 # 54
リアルタイム通知が必要ない場合に、開発者がユーザが最後に Salesforce にログインした時期を確認できる Salesforce 機能はどれですか?
- A. 非同期データキャプチャイベント
- B. 開発者ログ
- C. イベント監視ログ
- D. カレンダーイベント
正解:C
解説:
Event Monitoring Log provides the ability to track different types of events in Salesforce, including user logins. These logs can be used to determine the last login time of a user without the need for real-time notification.
References: Salesforce Help - Event Monitoring
質問 # 55
ビジネス ルールでは、新しいアカウントの作成時に常に連絡先を作成する必要があります。
カスタム画面を開発するときに、連絡先の作成が失敗した場合にアカウントが作成されないようにするには何を使用できますか?
- A. 連絡先の検証ルールを無効にし、トリガーでデフォルト値を設定します。
- B. データベースを使用します。a11orNone SEL LO alee を使用した Insect メソッド、
- C. データベースを使用します。連絡先の挿入が失敗した場合の削除メソッド。
- D. setSaverpoint (1) および rollback() を try-catch ブロックとともに使用します。
正解:D
解説:
When developing a custom screen that requires both an Account and Contact to be created together, using setSavepoint() and rollback() within a try-catch block is a reliable way to ensure that if the Contact creation fails, the Account creation is also rolled back, maintaining data integrity.References: Apex Developer Guide - Savepoint and Transaction Control
質問 # 56
次のコード スニペットを考えてみましょう。
Apex メソッドはアカウントのデータ量が多い環境で実行されており、クエリのパフォーマンスが低下しています。
結果セット全体を保持しながらクエリを最適に実行するには、開発者はどの手法を実装する必要がありますか?
- A. createdDate と RecordType の値を組み合わせる数式フィールドを作成し、数式に基づいてフィルターします。
- B. メソッドに @Future アノテーションを付けます
- C. データベースの queryLocator メソッドを使用してアカウントを取得します。
- D. クエリを 2 つの個別のクエリに分割し、2 つの結果セットを結合します。
正解:D
解説:
The technique that the developer should implement to ensure the query performs optimally, while preserving the entire result set, is to break down the query into two individual queries and join the two result sets. This is because the query in the code snippet is using a complex filter condition that combines the CreatedDate and RecordType fields, which are not indexed by default. This means that the query will perform a full table scan on the Account object, which can be very slow and inefficient when the data volume is large. To avoid this, the developer can split the query into two queries, one that filters by the CreatedDate field and another that filters by the RecordType field. Then, the developer can use a Set or a Map to store the Ids of the Accounts that match both criteria, and use the Set or the Map to retrieve the Account records from the database. This way, the query will use the standard indexes on the Id, CreatedDate, and RecordType fields, and perform faster and more efficiently.
質問 # 57
Apex トリガは、営業担当者が商談を獲得するたびに注文 CO レコードを作成します。最近、トリガは 2 つの注文を作成しています。
2 人の開発者がこれをトラブルシューティングするための最適なテクニックは何ですか?
- A. すべてのフローを無効にし、一度に 1 つずつ再度有効にして、エラーの原因となっているフローを確認します。
- B. system.debug() ステートメントをコードに追加し、開発者コンソールのログを使用してコードをトレースします。
- C. すべての営業担当者に対してデバッグ ログを設定し、ログでエラーと例外を監視します。
- D. Apex トリガの Apex テストクラスを実行して、コードに十分なコード カバレッジがあることを確認します。
正解:B
解説:
To troubleshoot the issue of a trigger creating two order records, adding System.debug() statements in the trigger and analyzing the log output in the Developer Console is an effective technique. This will help identify if the trigger is being called more than once or if there is another automation (such as a flow or workflow) causing the additional record creation.
References: Salesforce Developer Guide - Debugging
質問 # 58
開発者は、SOAP API を使用してコミュニティ ユーザーを認証するソリューションを作成しました。login() 呼び出しを発行するときに必要なものは何ですか? (2つ選んでください。)
- A. 組織 ID
- B. ユーザー名とパスワード
- C. セッション ID
- D. セキュリティトークン
正解:A、B
質問 # 59
Contact オブジェクトには、「Zone」というカスタム フィールドがあります。そのデータ型は「テキスト」で、項目の長さは 3 です。組織で次のコード スニペットを実行した後の結果はどうなりますか?
- A. 両方の挿入が成功し、PITT のゾーン値を持つ連絡先レコードが切り捨てられます
- B. 部分的な挿入が成功し、Zone 値が 'IAD1 である連絡先レコードが挿入されます
- C. 両方の挿入が成功し、ゾーン値が 'PI'IT である連絡先レコードが NULL に設定されます
- D. 未処理の DML 例外がスローされ、連絡先レコードは挿入されません
正解:D
質問 # 60
@remoteAction デコレータを使用してグローバル サーバー側メソッドを呼び出そうとすると、開発者がエラーを受け取ります。開発者はどのようにエラーを解決できますか?
- A. サーバー側のメソッド シグネチャに static を追加します。
- B. サーバー側メソッドを (static=false) で装飾する
- C. 関数シグネチャをプライベート スタティックに変更します。
- D. サーバー側メソッドを (static=true) で装飾します。
正解:A
質問 # 61
展示する。
上記のコードを考えると、コードが機能するには、Apex コントローラでどの 2 つの変更を行う必要がありますか?
2 つの答えを選択してください
- A. Apex コントローラから行 06 を削除し、代わりに行 07 の戻りで firstName を使用します。
- B. メソッドのシグネチャを String にパブリックではなく、グローバルに静的に変更します。
- C. 単一のメソッドだけではなく、クラス全体に @AuraEnabled としてアノテーションを付けます。
- D. Apex コントローラの行 05 の引数を subject から string に変更します。
正解:A、D
解説:
Based on the code provided, here are the necessary changes:
* Change B is required because the argument in the Apex controller's serverEcho method must match the data type expected by the JavaScript calling the method. The Apex method expects an Object named firstName, which is then cast to a String inside the method. The JavaScript is passing an object with a property firstName, so no change is needed in the JavaScript.
* Change D is correct because line 06 is redundant and unnecessary. We can directly use firstName in the return statement as it is already a String type. The get() method is typically used when you have a Map and you need to retrieve a value by its key. Since firstName is already being passed as a String, there's no need to cast it or retrieve it using get().
References:
Apex Developer Guide
質問 # 62
......
PDII-JPN問題集、あなたを合格させる認証試験:https://www.passtest.jp/Salesforce/PDII-JPN-shiken.html
まもなくセール終了!リアルPDII-JPNのPDF解答を使おう:https://drive.google.com/open?id=1d4BNT49Bk4WG2VMSp8rUW8jiTJWSP8Da