The Salesforce.com Certified Force.com Advanced Developer exam measures a candidate’s knowledge and skills related to the objectives listed below. A candidate should have hands-on experience developing custom applications on the Force.com platform and have demonstrated the application of each of the following features/functions.
Development Lifecycle 13%
- List and describe the key features, tools, and technologies of application lifecycle management and Force.com development
- Describe best practices for managing multi-team and multi-project development initiatives with Force.com and describe how to use these best practices
- List and describe the various development and test environments available on the Force.com platform
- Describe how to manage sandbox environments
- Given a scenario, determine whether to use package or metadata deployment
- Describe how to use the Force.com migration tool
- Describe the capabilities and constraints of metadata text files for manipulating application metadata
- Describe the requirements and processes for deploying changes to an application using a metadata tool
Apex Code 33%
- List and describe the features of Apex and distinguish between it and other programming languages
- Describe when and why to use Apex
- List and describe syntax features of Apex
- Describe the ways Apex can be invoked
- Describe use cases for Apex in an integration scenario
- Describe how to send and receive email via Apex
- Describe use cases for dynamic Apex
- Describe use cases for batch Apex
- Describe the save execution order and use of before and after triggers
- Describe the types of governor limits and contexts and the rationale behind them
- Describe how to write scalable code that handles bulk operations
Visualforce 38%
- Describe the benefits, functions, and features of Visualforce and how it conforms to the model-viewcontroller pattern
- Describe how to incorporate Visualforce pages into Force.com applications
- Describe how to create data, action, and component binding expressions
- List and describe syntax features of Visualforce
- Describe best practices for incorporating static resources, stylesheets, and other content into Visualforce pages
- Describe how to create and use a Visualforce page as the template for multiple pages
- Describe how to handle client-side behavior through the use of either standard components or custom JavaScript
- Describe and incorporate proper error-handling techniques
- Describe how to create a custom component and the benefits of custom components versus other techniques for code reuse
- Describe how to leverage PDF generation
- Distinguish between standard controllers, custom controllers, and extensions
- Describe the request lifecycle of a Visualforce page
- Describe viewstate and the stateful programming model of Visualforce
- Describe the benefits of using Apex classes as structs or wrappers of subjects
Testing and Debugging 16%
- Describe the techniques and tools available to debug, test, and monitor Apex code execution
- List and describe the contents and use of the System Log
- Describe how to create and run unit tests as well as techniques for achieving 100% test coverage
- Describe how to test Visualforce controllers
- Describe how to test email send and receive in different environments