吸取platform app builder学习笔记的教训，在简书没有修改对于收费文章的准入门槛之前，直接用英语做复习笔记，提高备考效率。部分个人心得可能会用中文。
SALESFORCE FUNDAMENTALS （10%）
Describe the considerations when developing in a multi-tenant environment.
Describe how the Salesforce platform features map to the MVC pattern.
Describe the capabilities of the core CRM objects in the Salesforce schema.
Identify the common scenarios for extending an application's capabilities using the AppExchange.
Identify common use cases for declarative customization of the Lightning Platform, and customization and features of the Heroku platform.
DATA MODELING AND MANAGEMENT （12%）
Given a set of requirements, determine the appropriate data model.
Describe the capabilities of the various relationship types and the implications of each on record access, user interface (UI), and object-oriented programming.
Describe the impact of schema design and modifications on Apex Development.
Describe how to visualize and create entity relationships.
Describe the options for and considerations when importing and exporting data into development environments.
LOGIC AND PROCESS AUTOMATION （46%）
Describe how to programmatically access and utilize the object schema.
1. Access sObject and field describe information
a. token (lightweight, serializable, validated at compile time, describes SObject or field), Schema.describeSObjects() - describe one or more SObject, Schema.DescribeSObjectResult - not serializable, and are validated at runtime, describes SObject or field
b. Use the Schema getGlobalDescribe method to return a map that represents the relationship between all sObject names (keys) to sObject tokens (values). For example: Map<String, Schema.SObjectField> fieldMap = Schema.SObjectType.Account.fields.getMap();
2. Access Salesforce app information
Each app corresponds to a collection of tabs. Describe information for an app includes the app’s label, namespace, and tabs. Describe information for a tab includes the sObject associated with the tab, tab icons and colors.
List<Schema.DescribeTabSetResult> tabSetDesc = Schema.describeTabs();
3. Write dynamic SOQL queries, dynamic SOSL queries and dynamic DML
4. Understanding Apex Describe Information
5. Using Field Tokens
6. Understanding Describe Information Permissions
7. Describing sObjects Using Schema Method
8. Describing Tabs Using Schema Methods
9. Accessing All sObjects
10. Accessing All Data Categories Associated with an sObject
11. Dynamic SOQL
13. Dynamic DML
Describe the capabilities and use cases for formula fields.
Describe the capabilities and use cases for roll-up summary fields.
Describe the capabilities of the declarative process automation features.
Describe when to use declarative automation features vs. Apex classes and triggers.
Describe how to declare variables and constants in Apex and how to assign values using expressions.
Describe the primitive and complex Apex data types and when to use them.
Describe how to use and apply Apex control flow statements.
Describe how to write and when to use Apex classes and interfaces.
Describe how to use basic SOSL, SOQL, and DML statements when working with objects in Apex.
Describe the basic patterns used in triggers and classes to process data efficiently.
Describe when to use and how to write triggers.
Describe the implications of governor limits on Apex transactions.
Describe the relationship between Apex transactions, the save order of execution, and the potential for recursion and/or cascading.
Describe how to implement exception handling in Apex.
Describe how to write Visualforce controllers.
Describe when and how to use standard Visualforce controllers vs. Apex custom controllers and controller extensions.
Describe the programmatic techniques to prevent security vulnerabilities in Apex and Visualforce.
Describe how Apex impacts the ability to make declarative changes.
USER INTERFACE （10%）
Describe how to display Salesforce data using a Visualforce page.
Describe the types of web content that can be incorporated into Visualforce pages.
Describe how to incorporate Visualforce pages into Lightning Platform
Describe the benefits of the Lightning Component framework.
Describe the resources that can be contained in a Lightning Component.
Describe the testing framework and requirements for deployment.
Describe how to write unit tests for triggers, controllers, and classes.
Describe when and how to use various sources of test data.
Describe how to execute one or multiple test classes.
Describe the differences between invoking Apex in execute anonymous vs. unit tests.
DEBUG AND DEPLOYMENT TOOLS （10%）
Describe how to monitor and access various types of debug logs.
Describe the capabilities and security implications of the Developer Console, Workbench, and Force.com IDE.
Describe the different processes for deploying metadata and business data.
Describe how the different environments are used in the development and deployment process.