I passed the Salesforce.com Certified Advanced Developer exam last Friday but it was not easy test. The questions were very tricky and some of the answers I knew only because of experience. You can read all of the suggested course material and take the DEV-501 class, but I think people that don't develop in Apex every day are going to be at a disadvantage. You really need to dig into the language and get your hands dirty in the real world.
From what I've heard there appears to be a number of different test versions but hit roughly the same material. My exam consisted of some high level questions (eg "What are the advantages of...."), comparisons of method and class signatures and specific code examples.
If you are new to Apex then the DEV-501 class is a must. If you have been doing Apex for sometime and are really mucking around with the language and comfortable with it, then I'm not sure how much of a benefit the class will be to you. All of the documentation you need is available from developer.force.com. I studied for about 3 days straight before the exam and here is what I did:
- Force.com Apex Code Developer's Guide - You must know this document from start to finish.
- Visualforce Developer's Guide - You must know this document from start to finish.
- Force.com Developer Guide - You should read through this book also, as it has alot of nuggets. Pay attention to the tips scattered through out the book.
- Salesforce Object Query Language - You must know SOQL
Here are some high points of the exam:
- Visualforce - know all of the components, how they are used and their attributes
- Controllers - know the differences between custom controllers and extensions and how they function
- Unit testing - how to write unit tests with proper test coverage
- Email services - there were surprisingly numerous questions regarding inbound and outbound email
- SOQL - you must know how to construct SOQL queries with and without related objects
- Trigers - you must know what you can and can not do with triggers. The order of execution is also important.
- Classes, method and annotations - really dig into the classes section of the Apex Developer's Guide
All of this stuff is covered in the books and nothing is inside information. If you study and know the material you should be able to pass your first time. I believe that passing the Salesforce.com Certified Force.com Developer exam is still required before taking the Advanced Developer exam.