1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Salesforce Platform デベロッパー 備忘録 #過去問

Posted at

設問に対して解答と考察(解説ではなくあくまで僕の調べた結果)を書いていく.

Q1. 値「高」「中」「低」は異なるオブジェクトにわたる複数の選択リストの共通値として識別される. 選択リストとその値のメンテナンスを合理化すると同時に, 値を上記ものに制限するために開発者がとることができるアプローチとは?

A.各オブジェクトに選択リストを作成し、値を含むグローバル選択リスト値セットを使用します。
B.各オブジェクトの選択リストを必須項目として作成し、[入力した順序ではなくアルファベット順に値を表示する]を選択します。
C.それぞれに選択リストを作成し、入力規則を追加してデータの整合性を確保します。
D.各オブジェクトに選択リストを作成し、「選択リストを値セットで定義された値に制限する」を選択します。

解答: A

考察:
設問では, Salesforce内で異なるオブジェクトにまたがる複数の選択リストで共通の値を効率的に管理する方法について聞いている. そこで考えられるアプローチには, 複数のオブジェクトにわたって同一の選択リスト値を再利用するのに最適なグローバル選択リストがある. このアプローチは選択リスト値の一貫性を保ちつつ, 異なるオブジェクト間でのデータの整合性を高める効果がある.

Q2. 開発者がキュー可能なインターフェイスを持つクラスのエンキュージョブのステータスを取得できる2つの方法は何ですか?

A.apexジョブページを表示する
B.AsyncApexJobeオブジェクトを照会します
C.apex flexキューを表示します
D.apexステータスページの表示

解答: B, C

考察:
キュー可能=Queueableで非同期処理を行うためのApexインターフェース. これを使用することで開発者は長時間実行されるプロセスや非同期タスクをバックグラウンドで実行するためのジョブを作成できる.

エンキューとは, Apexジョブに実行キューを追加することを指す.

Apex Flexキューは, バッチApexジョブの待機行列を表示するためのもの.
非同期処理の一部として, バッチApexジョブの実行順序を管理するために使用される.

-- キュー可能Apex --
https://developer.salesforce.com/docs/atlas.ja-jp.apexcode.meta/apexcode/apex_queueing_jobs.htm

Q3. Salesforce Lightning Platform上で実行されるApexクラスにおいて, 開発者が非同期処理を実装する必要が生じた. この処理は大量のデータに対する時間がかかる操作を行う. システムのパフォーマンスに影響を与えずに完了する必要があります。この要件を満たすために開発者が選択すべき最適なアプローチとは?

A. @futureアノテーションを使用してメソッドを非同期に実行します。
B. Queueable Apexを使用してジョブをキューに追加します。
C. Batch Apexを使用してデータをバッチ処理します。
D. Schedulable Apexを使用して定期的なジョブをスケジュールします。

解答: C

考察:
Batch Apexは大量のデータを分割して処理するのに最適な方法である.
特に大規模なデータセットを順次処理する必要がある場合や, データ処理に時間がかかる操作を行う場合に適している.

この設問では, 大量のデータに対する時間がかかる操作を行う必要があるため, Batch Apexを使用してデータをバッチ処理した方がいい. Batch Apexを使用すると大規模なデータセットを小さな単位に分割して順次処理することができ, 各バッチ処理に対するガバナ制限がリセットされるため, システムのパフォーマンスに影響を与えずに処理を完了させることができる.

Q4. 匿名Apexコードを実行するための2つのユースケースは?

A.展開後の1回のトランザクションで15,000の非アクティブな取引先を削除するには
B.Apexクラスを定期的に実行するようにスケジュールする
C.ユニットテストコードカバレッジを組織に追加する
D.バッチApexクラスを実行して、すべての取引先責任者を更新

解答: B, D

考察:
開発者コンソールの, Anonymousウィンドウのことかな.
使用ケースは,  作成したApexクラスを試しに実行しデバッグを取ったり, 設定した時間外でバッチを実行したり, 簡単なDML操作などを行うとき(https://sbs-sfdc.hatenablog.com/entry/2022/07/06/172738).

Q5. A社は開発者を雇ってユーザーが必要な取引先を見つけるのに役立つカスタム検索ページを作成する. ユーザーは名前, 説明およびカスタムコメント項目で検索できるようになる.

SOQLとSOSLのどちらを使用するかを決定する際に, 開発者はどの考慮事項に注意する必要がありますか?

A.SOQLはテキスト検索の方が高速です。
B.SOSLはより多くのレコードを返すことができます。
C.テキスト検索ではSOSLの方が高速です。
D.SOQLはより多くのレコードを返すことができます。

解答: C, D

考察:
テキスト検索はSOSLの方が速くて柔軟. 具体的なオブジェクトを抽出したい場合はSOQLの方が向いていいかも.(https://qiita.com/kakakaori830/items/09d42d7135c567b011ef)

SOQLはSOSLより多くのレコードを返す(https://tyoshikawa1106.hatenablog.com/entry/2014/11/28/232440#:~:text=Apex%E3%81%A7SOQL%E3%82%AF%E3%82%A8%E3%83%AA%E3%82%92,%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E5%8F%96%E5%BE%97%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82).

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?