1
5

More than 1 year has passed since last update.

【Salesforce】【資格】Salesforce 認定上級 Platform デベロッパー 勉強メモ

Posted at

試験勉強のメモ書きです。あくまでも個人のメモ書きなの信用しすぎないようにしてください。
個人的にまとめた簡単な設問と回答を載せます。※回答は▶を押すと表示されます。

ガバナ制限

SOQLクエリ発行数のガバナ制限は? 同期100 非同期200
SOQLレコード数のガバナ制限は? 同期50,000 非同期50,000
DML発行数のガバナ制限は? 同期150 非同期150
DMLレコード数のガバナ制限は? 同期10,000 非同期10,000
コールアウトのガバナ制限は? 同期100 非同期100
最大 CPU 時間のガバナ制限は? 同期10,000ミリ秒 非同期60,000ミリ秒
カスタムメタデータの SOQLクエリ発行数のガバナ制限は? 無制限
insert、update、upsert、merge、delete、undelete以外でDMLとしてカウントされるメソッドは? "Approval.process Database.convertLead Database.emptyRecycleBin Database.rollback Database.setSavePoint EventBus.publish ※コミット後に公開するように設定されたプラットフォームイベントに対して System.runAs"

アノテーション

クライアント側およびサーバ側から Apex コントローラメソッドへのアクセスが可能になるアノテーションは? @AuraEnabled
今後のリリースの管理パッケージに含まれるが、参照されないメソッド、クラス、例外、列挙、インターフェース、変数につけるアノテーションは? @Deprecated
非同期で実行するメソッドにつけるアノテーションは? @Future
フローで呼び出し可能なアクションとして実行できるメソッドは? @InvocableMethod
@InvocableMethodを1つのクラスの複数のメソッドに付与することができるか? できない
InvocableMethod メソッドの呼び出し可能なアクションの入力または出力パラメータとして使用されるクラス変数を識別するアノテーションは? @InvocableVariable
テストに使用するコードのみを含むクラスおよびメソッドにつけるアノテーションは? @IsTest
クラスのインスタンスがシリアライズまたはデシリアライズできるか制御するアノテーションは? @JsonAccess
@JsonAccessのserializable および deserializableパラメータに指定できる値は?4つ never、sameNamespace、samePackage、always
パッケージ内の公開 Apex を同じ名前空間を使用する他のパッケージで使用できるようにするアノテーションは? @NamespaceAccessible
クエリ行数制限を100,000に増やせるアノテーションは? @ReadOnly
Visualforce で使用する Apex メソッドの JavaScript を介したコールが可能になるアノテーションは? @RemoteAction
サードパーティツールに情報を提供するために使用するアノテーションは? @SuppressWarnings
クラスのすべてのテストメソッドで使用できる一般的なテストレコード作成メソッドにつけるアノテーションは? @TestSetup
非公開メンバーにテストメソッドからアクセスできるようにするアノテーションは? @TestVisible

#SOQL

標準およびカスタムの数値、日付、時間、通貨項目にローカライズされた書式を適用できるSELECT関数は? FORMAT ()
通貨項目をユーザの通貨に変換するSELECT関数は? convertCurrency()
dateTime 項目をユーザのタイムゾーンに変換するSELECT関数は? convertTimezone()
SOQL クエリの結果をクエリ送信者の言語に翻訳するSELECT関数は? toLabel()
SELECT Name, (SELECT LastName FROM Contact ) FROM Accountで誤っている箇所は? Contact → Contacts
インデックスをもつ標準項目は? プライマリキー(Id、Name、OwnerId)、外部キー(CreatedById、LastModifiedById、ルックアップ、主従関係)、監査項目(CreatedDate、SystemModstamp)
インデックスを持つカスタム項目は? 一意、外部 ID
クエリ結果に大量のレコードが含まれると予想される場合、複数ページに表示するためにSOQL クエリに入れる構文は? OFFSET
レコードの更新中に sObject レコードをロックする構文は? FOR UPDATE
集計関数を使用したSOQLによって返されるデータ型は? List
SOSLによって返されるデータ型は? List>
Database.Query()の最大取得件数は? 5万件
Database.getQueryLocator()の最大取得件数は? ApexBatchだと5000万件(VFのStandardSetControllerだと1万件)
動的SOQLでバインド変数myTestStringは使用できるか? できる
動的SOQLでバインド変数項目myVariable.field1__cを使用できるか? できない
SOQL インジェクションを防ぐ方法は? escapeSingleQuotes() ユーザから渡される文字列のすべての単一引用符にエスケープ文字 (\) を追加しコマンドではなく文字列として処理する

DML

Savepoint変数を使用してロールバッグをする際に使用するDatabaseクラスのメソッドは? "setSavepoint()、rollback() Savepoint sp = Database.setSavepoint(); ~DML処理~ Database.rollback(sp);"
savepoint SP1 を生成し、次に savepoint SP2 を生成した場合、SP1 にロールバックするとSP2 はどうなるか? 無効になる
savepoint の設定後に挿入された sObject の ID は、ロールバック後にクリアされるか? されない
DML 操作で同時に使用できない sObjectの例は? ユーザ、権限セット、グループ、ロール、プロファイル

API

Apex の一括処理でのコールアウトを使用するにはクラス定義に何を指定するか? Database.AllowsCallouts
ユーザ定義型を Apex REST メソッドのパラメータとして使用する際の注意事項は? static、transientの変数はデシリアライズされない
Apex REST メソッドにおいてパラメータの順序は考慮されるか? されない
Apex REST メソッドの引数String s1についてXML形式のリクエストではどのように記述するか? my first string
Apex REST メソッドの引数String s1についてJSON形式のリクエストではどのように記述するか? s1 : "my first string"
Apex REST メソッドの引数Integer i1についてXML形式のリクエストではどのように記述するか? 123
Apex REST メソッドの引数Integer i1についてJSON形式のリクエストではどのように記述するか? i1 : 123,
1 トランザクションで、Httpコールアウトの最大回数は? 100
同じトランザクション内で待機中があるとコールアウトを実行できない処理は? DML ステートメント、非同期 Apex (future メソッドや Apex 一括処理ジョブなど)、スケジュール済み Apex、メールの送信
RESTコールアウトクラスのテストクラスで実装するMockは? HttpRequestMock
SOAPコールアウトクラスのテストクラスで実装するMockは? WebServiceMock
Webサービスクラスのテストクラスで実装するMockは? なし
SalesforceとREST Webサービスの間に双方向SSLを確立したい、証明書あり。このときはどう実装する? 証明書とキーの管理で証明書のエントリを作成する、HttpRequest.setClientCertificateNameを使用する
SOAP APIで単独の Salesforce 組織のクライアントアプリケーションを構築する場合に使用するWSDLは? EnterpriseWSDL
SOAP APIで複数の Salesforce 組織のクライアントアプリケーションを構築する場合に使用するWSDLは? Partner WSDL
BulkAPIについて1バッチのレコードの最大数は? 10000
BulkAPI2.0について1バッチのレコードの最大数は? なし
BulkAPIについて24 時間周期で可能なバッチ数は? 15000
BulkAPIとBulkAPI2.0について24 時間周期でアップロード可能なレコードの最大数は? 150,000,000
BulkAPIについて最大ファイルサイズは? 1 バッチあたり 10 MB
BulkAPI2.0について最大ファイルサイズは? 1 ジョブあたり 150 MB
BulkAPIとBulkAPI2.0について1 レコードの最大項目数は? 5,000
Apex REST アノテーションの種類は?6つ "@ReadOnly @RestResource(urlMapping='/yourUrl') @HttpDelete @HttpGet @HttpPost @HttpPut"

非同期処理

長時間を要するメソッドがありApex トランザクションの遅延を防止する必要がある。外部 Web サービスへのコールアウトを実行する。DML 操作を分離して混合保存 DML エラーを回避する。の要件に適切な非同期処理は? @future(callout = true)
長時間を要する操作を開始しその ID を取得する。複雑なデータ型をジョブに渡す。ジョブをチェーニングする。の要件に適切な非同期処理は? Queueableインターフェース
特定のスケジュールで実行するために Apex クラスをスケジュールする。の要件に適切な非同期処理は? Schedulableインターフェース
大量のデータを処理する長時間のジョブを複数バッチで実行する。通常のトランザクションで許容されるよりも大きなクエリ結果が必要になる。の要件に適切な非同期処理は? Database.Batchable インターフェース
SOAP または REST Web サービスに対して非同期にコールアウトを実行するために使用するクラスは? Continuation

例外

非同期コールのエンキューの失敗など、非同期処理に関する問題を示す例外は? AsyncException
外部システムへのコールアウトの失敗など、Web サービス処理に関する問題を示す例外は? CalloutException
参照のみのコレクションまたはレコード (after-update トリガの sObject やファイナル変数など) を変更しようとすると発生する例外は? FinalException
範囲外のインデックスへのアクセスなど、リストに関する問題を示す例外は? ListException
0 による除算など、算術演算に関する問題を示す例外は? MathException
現在のユーザがアクセス権を付与されていない sObject へのアクセスなど、承認されないアクセスに関する問題を示す例外は? NoAccessException
sObject の単一変数に対する、レコードを返さない、または複数のレコードを返すクエリの割り当てなど、SOQL クエリに関する問題を示す例外は? QueryException
valueOf メソッドを使用した string 型「a」の integer 型への変換など、型の変換に関する問題を示す例外は? TypeException
キャッチできない例外は? LimitException、AssertException、ライセンスの例外

Apex全般

現在のユーザーのロケールで日付を文字列に変換するApexメソッドは? Date.format
静的リソースに保存したCSVのテストデータの読込方法は? List ls = Test.loadData(Account.sObjectType, 'myResource');
Apexをフローから呼び出したい場合に使用するのは? @InvocableMethod、Process.Plugin インターフェース
ユーザのレコード共有を強制実行するメソッドは? System.runAs()
カスタムコントローラの「getxxx」メソッドでは、DMLを使用できるか? できない
カスタムコントローラの「getxxx」または「setxxx」メソッドに @future アノテーションは使用できるか? できない
sObject のトークンにアクセスする方法は?2つ "Account などの sObject データ型の sObjectType メンバー変数にアクセス→Account.sObjectType sObject Describe Result、sObject 変数、リスト、または対応付けの getSObjectType()→acc.getSObjectType()"
sObject Describe Result にアクセスする方法は?2つ "sObject トークンの getDescribe() →Account.sObjectType.getDescribe() sObject の名前が付いている Schema sObjectType 静的変数を使用 →Schema.SObjectType.Account"
項目のトークンにアクセスする方法は?2つ "sObject 静的データ型の静的メンバー変数名にアクセス →Account.Description Field Describe Result の getSObjectField() →dfr.getSObjectField()"
Field Describe Result にアクセスする方法は?2つ "項目トークンの getDescribe() →Account.Description.getDescribe() sObject トークンの fields メンバー変数に、項目メンバー変数 (Name、BillingCity など) を使用 →Schema.SObjectType.Account.fields.Name"
すべての sObject にアクセスする方法は? Schema getGlobalDescribe() →Map gd = Schema.getGlobalDescribe();
sObject のすべての Field Describe Result にアクセスする方法は? Field Describe Result の getMap() →Map fieldMap = Schema.SObjectType.Account.fields.getMap();
項目トークンは、個人取引先では使用できるか? できない
B2B Commerce、CMS 管理コンテンツ、Experience Cloud サイト、トピックなどにプログラムでアクセスする方法は? Connect in Apex
ConnectApi クラスとその他の Apex クラスの違いは?6つ "ConnectApiはシステムモードでは実行されない sharingを無視 一部の ConnectApi操作は非同期 XML シリアライゼーションおよびデシリアライゼーション、SON シリアライゼーションおよびデシリアライゼーションはサポートされない VARIABLE_ASSIGNMENT ログイベントに表示されない webserviceキーワード で指示された Apex SOAP Web サービス内では使用できない"
webserviceキーワードで定義されたメソッドで引数や戻り値に設定できない型は? Map、Set、Pattern、Matcher、Exception
webservice キーワードで定義されているメソッドを含むすべてのクラスのアクセス修飾子は何である必要があるか? global
webservice キーワードを使用するメソッドについて留意事項は何か? static
テストクラスでIsTest(SeeAllData=true) アノテーションなしに組織のデータにアクセスできるオブジェクトは? "User Profile Organization CronTrigger RecordType ApexClass ApexTrigger ApexComponent ApexPage"
現在のユーザーのロケールで日付を文字列に変換するApexメソッドは? Date.format
Apexによる共有はbeforeトリガとafterトリガどちらで作成するか? afterトリガ
Matcherオブジェクトのregionメソッドを使用して、リージョンの開始点は変更せず、終了点を明示的に指定するコードは? MyMatcher.region(MyMatcher.regionStart(), end);

開発者コンソール

DML、SOQL、SOSLなどを示すログカテゴリは? データベース
ワークフロールール、フロー、プロセスの情報を示すログカテゴリは? ワークフロー
Einstein Next Best Action 活動に関する情報を示すログカテゴリは? NBA
入力規則に関する情報を示すログカテゴリは? 入力規則
サーバが外部 Web サービスから送受信している要求応答 XML を記録するログカテゴリは? コールアウト
DML ステートメントによって生成されたログメッセージ、インライン SOQL または SOSL クエリ、トリガの開始と完了、テストメソッドの開始と完了などを示すログカテゴリは? Apex コード
名前空間の制限、送信されるメール数などの累積プロファイリング情報を示すログカテゴリは? Apex プロファイリング
ビューステートのシリアライゼーションおよびデシリアライゼーション、Visualforce ページの数式項目の評価など、Visualforce のイベントに関する情報を記録するログカテゴリは? Visualforce
System.debug メソッドなど、すべてのシステムメソッドへのコールに関する情報を記録するログカテゴリは? システム
開発者コンソールのログインスペクタに含めることができるパネルは? "Stack Tree (スタックツリー) Execution Stack (実行スタック) Execution Log (実行ログ) Source (ソース) Variables (変数) Execution Overview (実行概要)"
Lightning ページや Lightning コミュニティページ、または Lightning Experience や Salesforce モバイルアプリケーションのクイックアクションやナビゲーション項目を簡単に作成できる開発者コンソールの機能は? Lightningバンドル設定
処理速度が遅い SOQL クエリのクエリプランをチェックするのに使用する開発者コンソールの機能は? クエリプランツール
System.debug() の各コールの実行時間を確認できる開発者コンソールの機能は? Stack Tree (スタックツリー)パネルのExecution Tree (実行ツリー)
メソッド内でSystem.debug()を何回行ったか確認できる開発者コンソールの機能は? Stack Tree (スタックツリー)パネルのPerformance Tree (パフォーマンスツリー)

Visualforce

Visualforce ページの標準応答制限は? 15 MB
ビューステートの削減方法は?3つ 絞り込みやページネーション必要データを減らす
transient キーワードを使用してデータを参照のみにする。 JavaScript Remoting を使用する
コントローラ拡張が複数ありそれぞれに同名メソッドがある場合どれが優先されるか? 先に記述されたコントローラ
AJAX 要求を使用したコントローラの action メソッドを JavaScript コードから直接呼び出すことをサポートするコンポーネントは? apex:actionFunction
特定の重要度に対するエラー、警告、およびその他の種類のメッセージ用の Salesforce スタイルを使用してカスタムメッセージを表示するコンポーネントは? apex:pageMes​​sage
Salesforce スタイルを使用して、現在のページのすべてのコンポーネントに対して生成されたすべてのメッセージを表示するコンポーネントは? apex:pageMes​​sages
警告またはエラーなど、特定のコンポーネントに対するメッセージを表示するコンポーネントは? apex:message
現在のページのすべてのコンポーネントに生成されたすべてのメッセージを表示するコンポーネントは? apex:messages
Visualforce ページの get 要求の実行順序は? "①ビューステートの復号化 ②式を評価、すべての set メソッドを実行 ③postback 要求をトリガしたアクションを実行。ビューステートの更新。 ④HTMLをブラウザに送信 ⑤HTML応答をブラウザに送信"
Visualforce ページの postback 要求の実行順序は? "①ビューステートの復号化 ②式を評価、すべての set メソッドを実行 ③postback 要求をトリガしたアクションを実行。ビューステートの更新。 ④HTMLをブラウザに送信"

Chatter

ConnectApi名前空間はApexで何を操作するか Chatter
ApexメソッドのChatterはシステムモードで実行されるか? されない(ユーザモード)
Chatterで特定のユーザやレコードをフォローしているユーザの情報を格納しているオブジェクトは? EntitySubscription

その他

宣言型ツールの特徴は? "一般的に迅速かつ低コストで作成できる 一般的にメンテナンス作業が少ない ツールが改善されると自動にアップグレードされる ガバナ制限が適用されない"
複合型項目の種類は?2つ 住所、地理位置情報
複合型項目の値変更の留意点は? 個別の項目を変更する必要がある
階層のカスタム設定はどのレベルに定義できるか? "ユーザー プロファイル 組織"
Salesforce 組織と Heroku Postgres データベースの間でデータを同期するアドオンは? Heroku Connect
メタデータ取得・デプロイ、クエリ、DML、REST API実行、Apex実行、ユーザパスワード変更などが可能なツールは? Workbench
項目履歴データの保持期間は? 18か月
単体テストを実行できるAPIは? メタデータAPI、Tooling REST API、SOAP API
プッシュ技術を使用してイベントのストリーミングを行い、ほぼリアルタイムでイベントを受信する登録メカニズムを提供する機能は? Streaming API
1
5
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
5