I'm a Zend Certified Engineer
I finally got around to taking the Zend PHP Certification exam. I passed. I should have taken the exam when it came out; then I would have been able to sport one of those neat-o 1,000 ZCE logos I've seen around various PHP blog aggregators. There was nothing on the exam I know now I didn't know 2 years ago.
If you're here looking for advice on the exam, it really is designed for people who are regular PHP programmers. Just to make sure I didn't waste the exam fee, I got and read the study guide and practice test book. To be honest, I think I would have still passed without them. Some of the questions were just things hard to write in a book like, "what is the best...". One question that bugged me had answers like "output buffering usually speeds up the script" verses "output buffering almost always slows down a script". You kind of have to know what output buffering is, but then even if you read the whole http://php.net/ manual chapter on output control, I don't think it has anything about how it affects execution speed (I could be wrong, I haven't read it word-for-word).
Some questions where easy like naming the proper superglobal for the question. Then they got harder like showing four similar preg_match_all lines to match a phone number. Some looked right unless you know you need the last parameter to store the matches and array element 0 is the whole matching string. Here was another type of pain-in-the-brain question. I had to agree to keep test information confidential, so I think I'm writing this in a way you'd see in the study book anyway.
What is the output?
<?php$a = '';define('asdf', 5);$a = array('asdf' => 1, '2' => 2, 'third', 4 => 'last');$a[] = 2;$value = 'second';foreach($a as $key => $value) { if($value === $a[$a[asdf]]) { $result = $key; }}echo 'The output is '. $a[$a[$result]];?>
Figure that out, and you really know how arrays work, but do you know how they work? They do ask about the inner workings of PHP like how arrays are ordered maps, simulate trees, stacks, etc.
Then there were some concatenation exercises with type conversion where knowing precedence of whether + gets executed first or . is essential.
What's the output?
<?phpvar_dump("1foo" == 1 + "fo".'o');var_dump("d2n" == "d". 2 ."n");?>
I've seen blogs where people had questions about GD, but I didn't have any. Except for email, about which I only had one question, I thought the exam followed the major categories of PHP knowledge listed on http://zend.com. I don't think you need to be an expert to pass the exam, but it definitely makes sure n00bs don't have a chance of passing. I can confidently say anyone who passes the Zend PHP Certification exam is a qualified PHP programmer and someone I would consider hiring if I owned a company with dynamic web developers, even though I don't (yet).


Post new comment