Salesforce認定Platformデベロッパー模擬問題集2024

# 認定Platformデベロッパー模擬問題

1.  連結オブジェクトのレコードを更新するために定義する必要がある設定はどれですか？2つ選んでください。

    A.主従関係の主オブジェクトに対する読み取り権限
    B.主従関係の従オブジェクトに対する読み取り/書き込み権限
    C.主従関係の主オブジェクトに対する読み取り/書き込み権限
    D.連結オブジェクトに対する読み取り/書き込み権限
    <br/>

    <details>
      <summary>正解(クリック)</summary>
          →C,D
    </details>
    <br/>
    <br/>


2.  リード開発者が「Laptop」という名前のApexインターフェースを作成しました。次のコードを確認してください。
    
    ```
    public class SilverLaptop {
        //コードの実装
    }
    ```
    開発者がSilverLaptopクラス内でLaptopインターフェースをどのように使用できますか？

    A.@Extends(class=Laptop'') public class SilverLaptop
    B.public class SilverLaptop extends Laptop
    C.@Interface (class=''Laptop'') public class SilverLaptop
    D.public class SilverLaptop implements Laptop

    <details>
      <summary>正解(クリック)</summary>
          →D
    </details>
    <br/>
    <br/>


3.  ある会社が、商談が作成されるたびにフォローアップ Todoを作成し、商談所有者に割り当てるという新しいプロセスを実装することにしました。
    開発者がこれを実装する最も効率的な方法は何でしょうか？

    A.Todoの自動起動フロー
    B.TodoのApexトリガー
    C.Todoアクション
    D.商談のレコードトリガーフロー
    <br/>
    <details>
      <summary>正解(クリック)</summary>
          →D
    </details>
    <br/>
    <br/>


4.  追跡フラグを設定できるのはどれですか？（3つ選択）
    
    A.Apex トリガー
    B.ユーザー
    C.プロセスビルダー
    D.Apexクラス
    E.Visualforce
    <br/>
    <details>
      <summary>正解(クリック)</summary>
          →A,B,D
          <br/>
          開発者コンソールまたは [設定] でユーザー、Apex クラス、および Apex トリガーのログをトリガーするように追跡フラグを設定します。(出典：https://help.salesforce.com/s/articleView?id=sf.code_monitoring_debug_logs.htm&type=5)
    </details>
    <br/>
    <br/>


5.  本番環境にApexコードをリリースするには、どの要件を満たす必要がありますか？（2つ選択）
    
    A.すべてのApexコードは75%以上のテストカバレッジが必要です。
    B.すべてのトリガは少なくとも1 行以上のテストカバレッジを持つ必要があります。
    C.すべてのApexコードとトリガを合わせて、75%以上のテストカバレッジが必要です。
    D.すべてのトリガのテストカバレッジは75%以上である必要があります。
    <br/>
    <details>
      <summary>正解(クリック)</summary>
          →A,B
    </details>
    <br/>
    <br/>


6.  注文の各明細項目の入手可能日を保存し、すべての明細項目が入手可能になった場合にのみ注文が出荷されます。注文の予想出荷日を計算するには、どの方法を使用すればよいですか？

    A.入手可能日項目ごとに CEILING 数式を使用します。
    B.各入手可能日項目に DAYS 数式を使用し、注文に COUNT 積み上げ集計項目を使用します。
    C.入手可能日項目ごとに LATEST 数式を使用します。
    D.入手可能日項目で、最大の積み上げ集計項目を作成します。
    <br/>
    <details>
      <summary>正解(クリック)</summary>
          →D
    </details>
    <br/>
    <br/>


7.  開発者は、OpportunityLineItemトリガーをカバーするテストクラスを作成していて、組織内の標準価格表にアクセスしたいと考えています。どのメソッドで価格表にアクセスできますか？

    A.テストメソッドが標準価格表を表示できるようにするには、@TestVisibleを使用します。
    B.Test.getStandardPricebookId()を使用して、標準価格表IDを取得します。
    C.@IsTest (SeeAllData=True) を使用して、既存の標準価格表を削除します。
    D.Test.loadData()と静的リソースを使用して標準価格表をロードします。
    <br/>
    <details>
      <summary>正解(クリック)</summary>
          →B
    </details>
    <br/>
    <br/>


8.  2 人の開発者が同じ組織内でテストを実行する3つの方法は何ですか？（3つ選択）

    A.Tooling API
    B.Metadata APT
    C.Bulk API
    D.SalesforceDX
    E.Setup Menu
    <br/>
    <details>
      <summary>正解(クリック)</summary>
          →A,D,E
    </details>
    <br/>
    <br/>


9.  Universal Containers (UC) は、出荷コストを削減し、出荷プロセスをより効率的にすることを望んでいます。配送担当者は、複数の取引先がデフォルトの集荷住所を共有できるようにするために、グローバル住所を実装するようにアドバイスしました。開発者はこのビジネス要件をサポートするためのオブジェクトとリレーションシップを作成するタスクを担当し、セットアップメニューを使用して「Global Address」というカスタムオブジェクトを作成しました。このビジネスニーズをサポートするために最も効率的なモデルを作成するには、どのフィールドを追加すべきですか？

    A.取引先オブジェクトにグローバルアドレスオブジェクトへの主従関係を追加する。
    B.グローバルアドレスオブジェクトに取引先オブジェクトへの主従関係を追加する。
    C.取引先オブジェクトにグローバルアドレスオブジェクトへの参照関係フィールドを追加する。
    D.グローバルアドレスオブジェクトに取引先オブジェクトへの参照関係フィールドを追加する。

    <br/>
    <details>
      <summary>正解(クリック)</summary>
          →D
    </details>
    <br/>
    <br/>


10. トリガーが実行される回数に影響を与える操作はどれですか？3つ選択してください。

    A.プロセスフロー
    B.ワークフロールール
    C.条件ベースの共有計算
    D.メールメッセージ
    E.積み上げ集計項目
    
    <br/>
    <details>
      <summary>正解(クリック)</summary>
          →A,B,E
    </details>
    <br/>
    <br/>



11. 開発者は、売上記録のリストを表示するLightning Webコンポーネントを作成しています。
    セールス担当者のユーザーは、各レコードのコミッションフィールドを見ることができるようにします。一方で、セールスアシスタントのユーザーは、レコードのコミッションフィールド以外のすべてのフィールドを見ることができるようにする必要があります。
    コンポーネントが両方のユーザーに対してエラーを表示せずに動作するようにするには、どのようにしてこれを強制するべきでしょうか？

    A.SOQLでWITH SECURITY_ENFORCEDを使用してデータを取得します。
    B.現在のユーザーにアクセスできないフィールドを削除するためにSecurity.stripInaccessibleを使用します。 
    C.Lightning Data Serviceを使用して、売上レコードのコレクションを取得します。
    D.Lightning Locker Serviceを使用して共有ルールとフィールドレベルのセキュリティを強制します。
    <br/>
    <details>
      <summary>正解(クリック)</summary>
          →B
    </details>
    <br/>
    <br/>


12. 匿名ブロックが以下の通り与えられています：
    ```
    List<Case> casesToUpdate = new List<Case>();
    for(Case thisCase : [Select Id, Status FROM Case LIMIT 50000]){
        thisCase.Status = 'Working';
        casesToUpdate.add(thisCase);
    }
    try{
        Database.update(casesToUpdate, false);
    }catch(Exception e){
        System.debug(e.getMessage());
    }
    ```
    このコードについて、10,000件以上のケースレコードが存在する環境で開発者が考慮すべきことは何ですか？
    
    A.トランザクションはガバナ制限を超過したため失敗します。
    B.try/catchブロックは、スローされたDML例外を処理します。
    C.トランザクションは成功し、変更はコミットされます。
    D.try/catchブロックはガバナ制限によってスローされた例外を処理します。
    <br/>
    <details>
      <summary>正解(クリック)</summary>
          →A
    </details>
    <br/>
    <br/>


13. 開発者は、Salesforce Classic または Lightning Experience でユーザーが取引先責任者（Contact）を編集する際に、カスタムユーザーインターフェースを提供する必要があります。
    この機能を提供するために取引先責任者の「編集」ボタンを上書きするには、開発者は何を使用すべきですか？

    A.Salesforce Classic では Visualforce ページ、Lightning Experience では Lightning コンポーネントを使用する。
    B.Salesforce Classic でも Lightning Experience でも Lightning コンポーネントを使用する。
    C.Salesforce Classic では Visualforce ページ、Lightning Experience では Lightning ページを使用する。
    D.Salesforce Classic では Lightning ページ、Lightning Experience では Visualforce ページを使用する。
    <br/>
    <details>
      <summary>正解(クリック)</summary>
          →A
    </details>
    <br/>
    <br/>


14. あるソフトウェア会社が、Accountオブジェクトを使用して、ソフトウェアを販売している会社を追跡しています。また、カスタムオブジェクト Bug__c を使用して、ソフトウェアのバグを追跡しています。
    プロセス改善イニシアティブの一環として、どの会社がどのバグを報告したかをレポートできるようにしたいと考えています。各会社は複数のバグを報告でき、バグも複数の会社によって報告されることがあります。
    このレポートを可能にするために必要なものは何ですか？

    A.取引先に対するBug__cの積み上げ集計項目
    B.Bug__cと取引先の間の連結オブジェクト
    C.Bug__cの取引先への参照関係フィールド
    D.Bug__cの取引先への主従関係フィールド
    <br/>
    <details>
      <summary>正解(クリック)</summary>
          →B
    </details>
    <br/>
    <br/>


15. 変更セットリリースの特徴は何ですか？（3つ選択）

    A.変更セットは関連する組織間でのみリリースできます。
    B.変更セットはカスタム設定データをリリースできます。
    C.変更セットを使用してレコードをリリースできます。
    D.デプロイメントは一方向の単一トランザクションで実行されます。
    E.2つの組織間で変更セットを送信するには、デプロイメント接続が必要です。
    <br/>
    <details>
      <summary>正解(クリック)</summary>
          →A,D,E
    </details>
    <br/>
    <br/>


16. Salesforce の多態的参照フィールドの例は何ですか？

    A.標準の取引先オブジェクトの ParentId 項目
    B.標準のキャンペーンメンバーオブジェクトの LeadId および ContactId 項目
    C.取引先またはキャンペーンを参照する標準の取引先責任者オブジェクトのカスタムフィールド Link__c
    D.標準の行動オブジェクトの Whatld 項目
    <br/>
    <details>
      <summary>正解(クリック)</summary>
          →D
    </details>
    <br/>
    <br/>


17. Job_Application__c カスタム オブジェクトには、取引先責任者オブジェクトとの主従関係であるフィールドがあり、取引先責任者オブジェクトが主です。
    機能実装の一環として、開発者は、関連する取引先の業界が「Technology」であるすべての取引先責任者レコードを含むリストを取得すると同時に、連絡先の Job_Application__c レコードも取得する必要があります。オブジェクトのリレーションに基づいて、取引先責任者のリストを取得する最も効率的なステートメントはどれですか？

    A.[SELECT Id, (SELECT Id FROM Job_Applications_r) FROM Contact WHERE Account.Industry = ‘Technology’];
    B.[SELECT Id, (SELECT Id FROM Job_Applications_r) FROM Contact WHERE Accounts.Industry = ‘Technology’];
    C.[SELECT Id, (SELECT Id FROM Job_Applications_c) FROM Contact WHERE Accounts.Industry = ‘Technology’];
    D.[SELECT Id, (SELECT Id FROM Job_Application_c) FROM Contact WHERE Account.Industry = ‘Technology’];
    <br/>
    <details>
      <summary>正解(クリック)</summary>
          →A
    </details>
    <br/>
    <br/>


18. 下記コードを実行した際、xの値はどれになりますか？
    ```
    Boolean isOK;
    integer x;
    String theString = 'Hello';
    if(isOK == false && theString == 'Hello'){
    	x = 1;
    }else if(isOK == true && theString == 'Hello'){
    	x = 2;
    }else if(isOK != null && theString == 'Hello'){
    	x = 3;
    } else {
    	x = 4;
    }
    ```

    A.1
    B.2
    C.3
    D.4
    <br/>
    <details>
      <summary>正解(クリック)</summary>
          →D
          <br/>
          Salesforceではプリミティブ型も参照型と同じように初期値がnullとなる。（参考：https://developer.salesforce.com/docs/atlas.ja-jp.apexcode.meta/apexcode/langCon_apex_primitives.htm）
    </details>
    <br/>
    <br/>


19. 開発者は、Visualforce ページを Lightning Web コンポーネントに移行しています。Visualforceページには、1 つのレコードに関する情報が表示されます。
    開発者は、レコード データにアクセスするために Lightning データ サービスを使用することにしました。
    開発者はどのようなセキュリティ上の考慮事項に注意する必要がありますか？

    A.Lightning データサービスは、共有ルールと項目レベルセキュリティを処理します。
    B.Lightning データサービスは、項目レベルセキュリティを無視します。
    C.共有ルールを適用するには、with sharing キーワードを使用する必要があります。
    D.項目レベルのアクセスチェックには、isAccessible()メソッドを使用する必要があります。
    <br/>
    <details>
      <summary>正解(クリック)</summary>
          →A
          <br/>
          Lightning Data Service を使用すると、Apex コードを必要とせずに、コンポーネントでレコードの読み込み、作成、編集、削除ができます。
          Lightning データサービスは、共有ルールと項目レベルセキュリティを処理します。（参考：https://developer.salesforce.com/docs/atlas.ja-jp.lightning.meta/lightning/data_service.htm）
    </details>
    <br/>
    <br/>


20. 新機能開発の一環として、開発者は、ステートフル クライアントで実行されるタッチイベントに応答できるレスポンシブ アプリケーションを構築するよう求められます。
    ビジネス要件を完全にサポートする、フレームワーク上に構築されている 2 つのテクノロジはどれですか？（2つ選択）

    A.Aura コンポーネント
    B.Visualforce コンポーネント
    C.Lightning Webコンポーネント
    D.Visualforce ページ
    <br/>
    <details>
      <summary>正解(クリック)</summary>
          →A,C
          <br/>
          Visualforce コンポーネント と Visualforce ページ は、従来のサーバーサイドレンダリングに依存しており、タッチイベントやリアルタイムなクライアント側の操作には適していない。
    </details>
    <br/>
    <br/>


21. 開発者は、連絡先情報を収集するためのカスタム Lightning Web コンポーネントを構築するタスクを任されました。
    このフォームは、組織内のさまざまな種類のユーザー間で共有されます。
    セキュリティ要件として、特定のフィールドは特定のユーザーグループのみが編集および表示できる必要があります。
    このセキュリティ要件をサポートするために、開発者は Lightning Web コンポーネント内でどのコンポーネントを使用すべきでしょうか？

    A.force-input-field
    B.ui-input-field
    C.aura-input-field
    D.lightning-input-field
    <br/>
    <details>
      <summary>正解(クリック)</summary>
          →D
    </details>
    <br/>
    <br/>


22. 以下のコードスニペットが、2,000以上のリードレコードが存在する環境で、Lightning Web コンポーネントによって実行されます。
    ```
    @AuraEnabled
    public static void updateLeads() {
        for(Lead thisLead : [SELECT Origin__c FROM Lead]) {
            thisLead.LeadSource = thisLead.Origin__c;
            update thisLead;
        }
    }
    ```
    この Apex トランザクションで、どのガバナ制限が超過される可能性が高いですか？

    A.発行された DML ステートメントの合計数
    B.発行された SOQL クエリの合計数
    C.SOQL クエリで取得されたレコードの合計数
    D.DML ステートメントの結果として処理されたレコードの合計数
    <br/>
    <details>
      <summary>正解(クリック)</summary>
          →A
    </details>
    <br/>
    <br/>


23. 開発者は、親Lightning Web Componentの中にネストされた子Lightning Web Componentを作成しました。
    親コンポーネントは、子コンポーネントに文字列の値を渡す必要があります。
    これを実現するにはどの方法を使用しますか？（2つ選択）

    A.親コンポーネントはカスタムイベントを使用して子コンポーネントにデータを渡すことができます。
    B.親コンポーネントは子コンポーネントのメソッドを呼び出すことができます。
    C.親コンポーネントはApexコントローラを使用して子コンポーネントにデータを送信できます。
    D.親コンポーネントはpublicプロパティを使用して子コンポーネントにデータを渡すことができます。
    <br/>
    <details>
      <summary>正解(クリック)</summary>
          →B,D
    </details>
    <br/>
    <br/>

24. 開発者は、外部システムを呼び出すApexクラスを作成しました。開発者はテストカバレッジを満たすために、どのようにテストクラスを作成すればよいでしょうか？

    A.WebserviceMock インターフェースを実装するクラスを作成します。
    B.HTTPCalloutMock インターフェースを実装するクラスを作成します。
    C.WebserviceMockを拡張するクラスを作成します。
    D.HTTPCalloutMock を拡張するクラスを作成します。
    <br/>
    <details>
      <summary>正解(クリック)</summary>
          →B
          <br/>
            実際の試験だと「impriments HTTPCalloutMockインターフェースを作成します」みたいな書き方だったので、丸暗記せずにキーワードを覚えること。（意味は一緒）
    </details>
    <br/>
    <br/>


25. Apexコードの単体テストにおいて、有効な手段はどれですか？

    A.コールアウトを使用してリモートサイトからデータを読み込みます。
    B.別のユーザーとして匿名Apexを実行します
    C.システムメソッドを使用してレコードの作成日を設定します。
    D.getContentAsPDF()を使用してVisualforcePDFを生成します。
    <br/>
    <details>
      <summary>正解(クリック)</summary>
          →C
    </details>
    <br/>
    <br/>


26. Lightningコンポーネントフレームワークは、開発者がソリューションをより迅速に実装するのにどのように役立ちますか？

    A.デスクトップとモバイルデバイスのシームレスな連動を提供する。
    B.変更履歴とバージョン管理を提供する。
    C.コードレビューの標準とプロセスを提供する。
    D.アジャイルプロセスにデフォルトの手順を提供する。
    <br/>
    <details>
      <summary>正解(クリック)</summary>
          →A
    </details>
    <br/>
    <br/>


27. Batchable インターフェースを実装するときに、Apex クラスの execute() メソッド内で Apex コードが実行される場合、ガバナ制限に関して正しい記述はどれですか？（2つ選択）

    A.Apex ガバナー制限は、execute() メソッドの各反復ごとにリセットされます。
    B.Apex クラスのコンストラクターを呼び出すときに、Apex ガバナー制限がリセットされます。
    C.トランザクションの非同期性により、Apex ガバナーの制限が高くなる可能性があります。
    D.トランザクションの非同期性により、Apexガバナー制限を超えることはありません。
    <br/>
    <details>
      <summary>正解(クリック)</summary>
          →A,C
    </details>
    <br/>
    <br/>


28. 開発者は、システム内に存在する ContactSearch Apex クラスのセキュリティ レビューを実行するように指示されています。開発者は、クラス内で次のメソッドをセキュリティ上の脅威として特定しました。
    ```
    List performSearch(String lastName) {
        return Database.query(‘Select Id, FirstName, LastName FROM Contact WHERE LastName Like %’+lastName+’%);
    }
    ```
    
    A.ク​​ラスで @Readonly アノテーションと with sharing キーワードを使用します。
    B.パラメータを使用する前に、escapeSingleQuote メソッドを使用してパラメータをサニタイズします。
    C.変数バインディングを使用し、動的SOQLを静的 SOQL に置き換えます。
    D.パラメータに正規表現を使用して特殊文字を削除します。
    <br/>
    <details>
      <summary>正解(クリック)</summary>
          →B,C
    </details>
    <br/>
    <br/>


29. 取引先レコードを保存するための Visualforce ページとカスタム コントローラーがあります。
    入力ルール違反をユーザーに表示したいと考えています。
    開発者は、入力ルール違反が表示されるようにするために、どうすればよいでしょうか？

    A.カスタム例外クラスで try/catch を使用します。
    B.メッセージを表示するためのカスタム コントローラ属性を追加します。
    C.Database.upsert() メソッドを使用して、DML を実行します。
    D.Visualforce ページに <apex:message> を含めます。
    <br/>
    <details>
      <summary>正解(クリック)</summary>
          →D
          <br/>
          警告またはエラーなど、特定のコンポーネントに対するメッセージです。<apex:message> または <apex:messages> コンポーネントがページに含まれていない場合、ほとんどの警告およびエラーメッセージはデバッグログにのみ表示されます。（参考：https://developer.salesforce.com/docs/atlas.ja-jp.pages.meta/pages/pages_compref_message.htm）
    </details>
    <br/>
    <br/>


30. カスタム SVG を Lightning Web コンポーネントに含めることができる 3 つの手順はどれですか？（3つ選択）

    A.SVG をコンテンツ アセット ファイルとしてインポートします。
    B.静的リソースをインポートし、JavaScript でそのゲッターを提供します。
    C.SVG を静的リソースとしてアップロードします。
    D.HTML テンプレートでインポートを参照します。
    E.HTML テンプレートでゲッターを参照します。
    <br/>
    <details>
      <summary>正解(クリック)</summary>
          →B,C,E
          <br/>
          実際の試験では「ゲッター」のが部分が「変数」となっていた。
    </details>
    <br/>
    <br/>