Jure Merhar

Taking the Zend certification exam

I am proud to announce that I have recently passed Zend’s PHP5 certification exam. I took the test, together with three of my colleagues, in a local test centre here in Ljubljana. The exam was generously paid for by our employer, who I had been trying to persuade to sign us up for more than a year before. In the next few paragraphs I will try to describe the entire experience as much as possible, although I am not allowed to divulge too much information about the exam itself.

When we arrived to the test centre last Tuesday morning, we were each shown to a computer at a long desk, separated by large panels. We were first given some forms to read and sign as well as the instructions for the test. You are not allowed to have any personal items on you while taking the test, but are provided with a sheet of paper and a pen for taking notes, if you want to. The test itself consists of 70 questions, and you have 90 minutes to answer them. In case you run out of time, the unanswered questions count as if they were answered incorrectly.

After the initial paperwork done, you start the test by clicking a button on the computer. The majority of questions is multiple-choice, where you have to select one or more answers from a list. The number of answers to tick is given for each of them. For a couple of the questions, however, you have to type the answer in. In those cases, the answer is always a single word — a function name, a class name or a design pattern name.

The questions concern a variety of different topics, from the PHP fundamentals like array and string manipulation, to quite advanced OOP concepts and design patterns. Most of the topics have something to do with the new features and other additions in PHP 5, like the SimpleXML and SOAP extensions, as well as stream handling, the PDO data-access abstraction layer, the Standard PHP Library (SPL), and of course the new object model. In addition to those, there are also some questions concerning web programming, security, design patterns and some specific differences between PHP 4 and 5.

In general, I was quite surprised to find that the questions are not as trivial as I initially expected them to be. I’m not saying that the test was particularly hard to pass, just that it is a good idea to prepare a little beforehand, especially if you have not worked with the new PHP 5 additions much yet. Some of the questions can be especially tricky, because you have to know the exact name of the function or method to use for a specific task as well as, in some cases, the correct order of it’s parameters, while not having access to the PHP manual.

Before taking the exam, I had read the book php|architect’s Zend PHP 5 Certification Study Guide. I definitely recommend reading it, bearing in mind that it does not cover all the topics of the exam as comprehensively as the exam itself. In any case, you should already have some quite solid knowledge about the language before taking the exam anyway, as well as some practical experience with it. You can find out how well prepared you are by taking a mock test beforehand. It is quite an accurate representation of the real exam.

Despite what I said about the difficulty level of some individual questions, the test as a whole is not very difficult to pass, if you’d been programming in PHP for some years before and are familiar with the concepts of object-oriented programming. I don’t really know what the passing threshold is in percentages, but I believe it to be somewhere around 50%, which is quite low if you ask me, especially considering that 90 minutes is ample time for answering the 70 questions — I was done in an hour. I also don’t know how high I have actually scored on the test, because at the end, all you get is the word PASSED, printed out on the screen.

All in all, I am quite happy to finally have the certificate, although I am still waiting for the hard copy. This is after all the only PHP certification you can get, as far as I know. Now, all I have to do is persuade my employer to pay for the MySQL certification exam. :)