見出し画像

【2024年度最新版】 Salesforce認定 Platform デベロッパー200問(問題+解説集)

割引あり

Salesforce認定 Platform デベロッパーで過去出題された問題より200問を抜粋して丁寧な解説と合わせて紹介します。
Salesforce認定 Platform デベロッパー資格取得を目指す方に向けに、実践的な問題を抜粋していますので、効率的な学習のサポートを提供しています。

問題と解答だけでよい方は、こちらを参照してください。

ここから問題と解答になります。

1. Lightningコンポーネントフレームワークによって、開発者はどのような機能を利用できるのでしょうか?

A. アプリケーションのガバナ制限の拡張
B. 再利用可能なビルド済みコンポーネント
C. カスタムコンポーネントを作成するためのテンプレート
D. ClassicおよびLightning UIのサポート

正答:B

解説:

A. アプリケーションのガバナ制限の拡張
Lightningコンポーネントフレームワークは、ガバナ制限そのものを拡張する機能を提供していません。

B. 再利用可能なビルド済みコンポーネント
Lightningコンポーネントフレームワークは、再利用可能なコンポーネントを作成して効率的な開発を可能にします。

C. カスタムコンポーネントを作成するためのテンプレート
テンプレートの提供ではなく、独自のコンポーネントをゼロから作成できる環境を提供します。

D. ClassicおよびLightning UIのサポート
LightningコンポーネントはLightning UIでの利用を前提として設計されています。


2. 取引先オブジェクトの「カウント」項目をインクリメントするトリガーを作成する場合、ワークフロールールで取引先が作成・更新される際にカウント項目の増加が行われ、再評価しない設定になっています。初期値が0の状態で新しい取引先を挿入したとき、「カウント」項目の最終値はどうなりますか?

A. 1
B. 3
C. 4
D. 2

正答:D

解説:

A. 1
1回の更新だけではなく、挿入も含む操作が影響します。

B. 3
複数回の再評価が無い設定ではこの値にはなりません。

C. 4
トリガー再評価が無い場合、ここまで増えることはありません。

D. 2
1回の挿入と1回の更新により、最終的に2になります。


3. 開発者は、商談が「クローズドウォン」ステータスになったときに注文を作成する必要があります。この要件を満たすために使用するべきツールはどれですか?

A. プロセスビルダー
B. Lightningコンポーネント
C. Lightning
D. Apexトリガー

正答:A

解説:

A. プロセスビルダー
特定の条件に基づいて自動的にアクションを実行する設定が可能で、今回の要件に最適です。

B. Lightningコンポーネント
UIに関連するコンポーネントであり、この要件には適しません。

C. Lightning
Lightningはフレームワーク全体を指し、特定の自動化ツールを意味しません。

D. Apexトリガー
Apexトリガーでも実現可能ですが、プロセスビルダーのほうがノーコードで簡単に実装できます。


4. 開発者は、サブクラスが上書き可能なデフォルトの計算メソッドを持つ、インスタンス化できない「ShippingCalculator」クラスを作成する必要があります。このクラスの正しい実装はどれですか?

A. public abstract class ShippingCalculator {public abstract calculate() { /*実装*/ }
B. public abstract class ShippingCalculator {public virtual void calculate() { /*実装*/ }
C. public abstract class ShippingCalculator {public void calculate() { /*実装*/ }
D. public abstract class ShippingCalculator {public override calculate() { /*実装*/ }

正答:B

解説:

A. public abstract calculate()
抽象クラスでは正しいメソッドシグネチャを使用する必要があり、記述が不適切です。

B. public virtual void calculate()
抽象クラス内で、オーバーライド可能なメソッドを宣言する正しい方法です。

C. public void calculate()
オーバーライド可能にする場合にはvirtualを使用する必要があります。

D. public override calculate()
overrideはサブクラスで使用するものであり、親クラスでは不適切です。


5. 「ACME」というフレーズを含むリードおよび取引先責任者のリストを生成するためのステートメントはどれですか?

A.List <sObject> searchList = [FIND '*ACME*' IN ALL FIELDS RETURNING Contact, Lead];
B.List<List <sObject>> searchList = [FIND '*ACME*' IN ALL FIELDS RETURNING Contact, Lead];
C.Map <sObject> searchList = [FIND '*ACME*' IN ALL FIELDS RETURNING Contact, Lead];
D.List<List < sObject>> searchList = [SELECT Name, ID FROM Contact, Lead WHERE Name like '%ACME%'];

正答:B

解説:

A. List<sObject> の宣言
リスト型の結果が1次元であるため、List<List<sObject>>の必要性を満たしません。

B. List<List<sObject>> の宣言
クエリの結果が複数のオブジェクト型を含む場合に適切なデータ型です。

C. Map<sObject> の宣言
FINDクエリの結果はMap型として返されません。

D. SOQLクエリ
SOQLはFINDクエリとは異なるため、条件を満たしません。


6. スクラッチ組織を作成する際に使用するツールはどれですか?

A. 開発者コンソール
B. Salesforce CLI
C. ワークベンチ
D. Sandboxの更新

正答:B

解説:

A. 開発者コンソール
スクラッチ組織の作成には適していません。

B. Salesforce CLI
スクラッチ組織の作成や管理に使用される標準的なツールです。

C. ワークベンチ
データ操作には適していますが、スクラッチ組織作成には使用できません。

D. Sandboxの更新
スクラッチ組織はSandboxの更新とは異なるプロセスです。


7. データと構成を含む本番組織の完全な複製コピーを提供するSalesforce組織はどれですか?

A. Developer Pro Sandbox
B. Partial Copy Sandbox
C. Production
D. Full Sandbox

正答:D

解説:

A. Developer Pro Sandbox
データ容量は大きいですが、完全な複製は提供されません。

B. Partial Copy Sandbox
一部のデータのみがコピーされるため、完全な複製とは異なります。

C. Production
本番組織そのものを指し、複製用の組織ではありません。

D. Full Sandbox
完全なデータと構成の複製を提供するため、最適な選択肢です。


8. 開発者チームが異なる組織構成で独立して作業するために、使用すべきSalesforce組織のタイプはどれですか?

A. 開発者のSandbox
B. スクラッチ組織
C. フルコピーSandbox
D. 開発者の組織

正答:B

解説:

A. 開発者のSandbox
共有作業には適しますが、個別構成には不向きです。

B. スクラッチ組織
プロジェクトごとに個別の環境を作成できるため、理想的な選択肢です。

C. フルコピーSandbox
本番環境の完全な複製であり、個別構成には適しません。

D. 開発者の組織
単一の固定環境を提供するため、柔軟性に欠けます。


9. Visualforceページまたはコントローラのどのコードがセキュリティ脆弱性を含む可能性がありますか?

A.<apex:outputField value="{!ctrl.userInput}" />
B.<apex:outputText escape="false" value="{!$CurrentPage.parameters.userInput}" />
C.<apex:outputText value="{!$CurrentPage.parameters.userInput}" />
D.<apex:outputField escape="false" value="{!ctrl.userInput}" />

正答:B

解説:

A. <apex:outputField value="{!ctrl.userInput}" />
outputFieldはデフォルトでエスケープ処理されます。

B. <apex:outputText escape="false" value="{!$CurrentPage.parameters.userInput}" />
エスケープ処理を無効にしているため、脆弱性の可能性があります。

C. <apex:outputText value="{!$CurrentPage.parameters.userInput}" />
デフォルトでエスケープされるため、脆弱性はありません。

D. <apex:outputField escape="false" value="{!ctrl.userInput}" />
outputFieldはデータ型ごとに処理されるため、脆弱性はありません。


10. 次の条件分岐に基づき、変数「X」の最終値は何になりますか?
Boolean abok; Integer x;
if(abok=false;integer=x;){ X=1;
}elseif(abok=true;integer=x;){ X=2;
}elseif(abok!=null;integer=x;){ X=3;
)else{
X=4;}

A.X=4
B.X=8
C.X=9
D.X=10

正答:A

解説:

A. X=4
コードには初期化されていない変数abokが使用されています。これにより条件はすべて満たされず、最後のelseが実行されます。

B. X=8
該当する条件がなく、この値にはなりません。

C. X=9
該当する条件がなく、この値にはなりません。

D. X=10
該当する条件がなく、この値にはなりません。


ここから先は

113,767字

期間限定!Amazon Payで支払うと抽選で
Amazonギフトカード5,000円分が当たる

この記事が気に入ったらチップで応援してみませんか?