Наконец-то я получил статус ZCE и хочу поделиться некоторыми аспектами
сдачи экзамена и впечатлениями от оного.
Сначала немного про техническую сторону вопроса: как известно сдача
данного экзамена происходит через организацию Pearson VUE, которая имеет
более 3700 центров тестирования по всему миру.
Соответственно есть два
пути оплаты экзамена:
1. Покупка на Zend.com ваучера на сдачу
экзамена и оплата в PearsonVUE с помощью этого ваучера;
2. Оплата
прямо в центре тестирования PearsonVUE.
И здесь есть один весьма
интересный момент: в первом случае экзамен обойдется вам, на данный момент
времени, в $125 (стоимость ваучера) + $5 (услуги центра тестирования):
итого $130. Во втором случае, центр тестирования попросит с вас более
$200, например в ЦКО «Специалист», в котором сдавал я, официальная цена
составляет $236. Короче говоря, настоятельно рекомендую купить на Зенде
ваучер, тем более за него никакие пошлины и налоги платить не надо (т.к.
вам просто дают электронный код). Место и время сдачи можно подобрать в
очень широком диапазоне – как кому будет удобнее.
Про сам экзамен могу рассказать вот что: он действительно сложный.
Штудировать официальную литературу - Zend PHP Certification Study Guide и
Zend PHP Certification Practice Test Book надо в ОБЯЗАТЕЛЬНОМ порядке.
Тесты вообще желательно пару раз пройти, т.к. вопросы из этого сборника
хорошо настраивают на те, которые будут в реальном экзамене. Однако нельзя
сказать, что если вы всю книжку прорешали, то экзамен обязательно сдадите.
Например, в тестовом сборнике довольно часто встречаются вопросы, где
намеренно в коде допущен какой-то баг, а внимание отвлекается на другие
участки кода, в итоге ошибка остается не замеченной и ответ дается
неправильный. В реальном экзамене у меня не было ни одной такой ситуации
(ну или может быть я не заметил :) ). Про ошибки в коде был один вопрос -
но там это подразумевалось по-определению: надо было указать строчки
скрипта, в которых допущены неточности.
С самого начала было
много вопросов про ООП. Причем регулярно встречались всякие тонкие
моменты, вроде того (перефразируя скрипт, приведенный в вопросе): "при
инициализации класса, являющегося потомком другого класса и не имеющего
собственного конструктора, будет ли вызван конструктор исходного класса?".
Несколько раз попадались хитрые вопросы, связанные с разницей в передаче
параметров по значению или по ссылке.
Немало было вопросов по
строкам и по массивам. По строкам обязательно нужно знать многочисленные
функции сравнения строк, выбора подстрок, ну и регулярные выражения,
конечно. По массивам - опять же надо знать функции (сортировка, list, и
т.д.), а также вопросы инициализации массивов и механизмы автоматического
назначения ключей добавляемым значениям (ну, например, если есть массив $a
= array(''qwe'', 1=>''asd'', 35=>''zxc'', ''rty'') , то какой ключ
будет у элемента, добавляемого вот так: $a[] = ''fgh''
?).
Были вопросы по сессиям, причем иной раз довольно тонкие:
нужно знать и из чего генерируется идентификатор сессии и сессионные
механизмы в PHP и соответствующие настройки php.ini. По отправке почты – у
меня встретилось один или два вопроса, и они были гораздо менее сложные,
чем в тестовой книжке. Пару вопросов было и по потокам и по вопросам
безопасности, и по базам данных, и по дате/времени, короче говоря, по всем
заявленным темам. Обязательно надо хорошо знать технологию приведения
типов, отличия ''=='' от ''==='', а также то, что называется operator
precedence. Это вообще встречалось довольно часто! И, естественно, нужно
знать правильные названия и синтаксис наиболее часто встречаемых функций в
PHP!
Настоятельно рекомендую пользоваться чекбоксом "Mark for
Revision" (или что-то в этом духе). Его следует отмечать на тех вопросах,
в которых вы не уверены и в дальнейшем, после ответа на все вопросы,
сможете их посмотреть и, при желании, изменить ответ. На 70 вопросов
отводится 85 минут, я ответил где-то за 70, и оставшиеся 15 минут как-раз
перепроверял вопросы в которых сомневался. А потом с замиранием сердца
нажал на кнопочку "End Exam" и увидел греющую душу надпись об успешной
сдаче. Жалко только, что неизвестно количество правильных и неправильных
ответов. :)
Короче говоря, желаю всем удачи в получении статуса Zend Certified
Engineer!