PHP7 初級、試験の流れと試験対策

AvatarPosted by
PHP技術者認定機構

この記事は GRIPHONE Advent Calendar 2019 21日目の記事です。

こんにちは、サーバーサイドを担当させていただいている皆田です。
今回は、意外と短期間で「PHP7 初級試験」に合格できたので、試験の流れや試験対策について書いてみたいと思います。

受験することになった経緯

この記事を閲覧している方からすると、「サーバーサイドを担当しているのに PHP7 初級?」という疑問が浮かぶことでしょう。
私がどれくらいなんちゃってサーバーサイドなのかをご紹介している記事がコチラになります。

今期、サーバーサイドにキャリアチェンジするにあたり、戦力化するには何をすれば良いのだろう?と結構考えるシーンがありました。
2018年アドベントカレンダーにあるように、弊社ではエンジニアの目標設定を行う際のフレームワークとしてOKRを採用しています。(詳しくはコチラ

OKR を設定する面談の中で、仕事には直結しないがベースとなる知識を担保する指標になるだろうということと、PHP7 自体、まだ初級しか試験がないので、受けてみるのも良いのでは?という話になりました。

PHP7 初級試験とは

PHP 技術者認定機構が「PHP プログラミングの基本知識を問う試験」を実施しているもので、内容的には持っていてもいなくても PHP を知っているくらいのレベルになるかとは思います。

公式にもある概要

費用:12000円(税抜)
試験会場:全国のオデッセイコミュニケーションズCBTテストセンター
試験日:1年中実施(試験会場の営業日、営業時間に依存)
設問数:40問
試験時間:1時間
合格ライン:7割
出題形式:選択式(複数または単一選択)

出題範囲は「初めてのPHP」(PHP7版)を主教材とし、一般的な知識やPHPオンラインマニュアルなどからも出題されます。

事前準備から申し込み

事前に Odyssey CBT のアカウントを取得しておきましょう。
そして、試験日と試験会場を予約します。

予約サイトはオデッセイコミュニケーションズCBTのサイトと試験を開催してくれる会場のサイトがあり、スクールの方は一見わかりづらいので、電話等でお問い合わせしてみることを強くお勧めします。
「今週末いけるかな」くらいで申し込んだため、なかなか空いておらず会場もどんどん埋まっていました。
会場のポリシーによって予約期日や受験票の形式も違うようなので、予約時の案内をしっかり読んでおきましょう。

試験当日に会場に持参するもの

  • Odyssey ID と パスワード
  • 受験票(試験場によっては必要らしいですが、私は不要でした)
  • 写真付きの身分証明書

試験に備えて

まず、受験するにあたり、公式サイトを見て前述のようなことを確認し、どんな試験でどんな準備が必要そうかなという確認をしました。
公式サイトには「オライリーの本がいいよ」とか「スクールに通うといいよ」的なことが書いてあるのですが、『初級』ですよ?簡単に通るんじゃね?という思いでいました。

それでも記事に書くから失敗できないよなというプレッシャーがあったので、以下のような本を購入し、予め読みました。

はじめてのPHPプロフェッショナル開発 PHP7対応
徹底攻略PHP7技術者認定[初級]試験問題集

はじめてのPHPの方は正直試験には関係なかったかなという印象です。コレは読んでなくてもOKかと。どちらかというと試験勉強なので、2番目に挙げた問題集がメインになりました。

試験対策本までしっかりやってるあたり、私の本気度合いがご理解いただけるかと思います。受験のハードルを上げるようですが、初級落ちたらハズイよね?という気持ちで自分を追い詰めました。

PHP7 とそれまでの PHP との違い

まだまだ初心者なので、これまで実際の業務で触ったり、受験にあたって調べてみたことをもとに感じたことをざっくり書きます。

本当に大きいなと思ったのは関数の返り値を型指定できることです。これまではなんとなく書いてそのまま動いちゃっていたものが動かないなんてことがあるようです。(間違ってたらごめんなさい)

実務を通して感じたのはオブジェクト指向がしっかり書けるようになってるなということです。むかしむかし、私が趣味で触っていたころは PHP4 で、クラス向けオブジェクト指向がサポートされたよとかそんな話題があったので、とりあえずオブジェクト指向ってどんなもんか触ってみようという概念だけの理解をホント上辺だけ見ていた感じです。
PHP5 以降、オブジェクト指向で書けるようなアップデートを重ねてきているのもあり、現在、担当しているプロジェクトではしっかりオブジェクト指向だぞ!と主張してきてくれるようなソースを目の当たりにしています。
オブジェクト指向の書き方に関しても試験問題の範囲内です。

こまごまとした PHP7 との違いに関しては試験には関係なさそうではありますが、念のため差分を読み漁りました。

PHP5 では Zend Engine 2 であったが、PHP7 では Zend Engine 3 にバージョンアップしたよとか・・・調べてはみたものの、対策本をやってみる以上の学習効果は得られませんでした。(反省)

エントリーから受験、結果確認まで

Webエントリー可能です。
前述したように、 全国のオデッセイコミュニケーションズCBTテストセンター で受験することができます。実際の試験は試験場に行き、そこにあるPCで設問に答えるというものです。

PCで受験するので、結果はすぐわかる という素敵仕様です。
書面での通知は4週間後になるとのことでした。

受験直前までの出来事

これより上は 12/18 に書いていました。実はわたくしごとではありますが、12/8から 12/12まで家族全員でインフルエンザにかかって寝込んでいたため、色々予定が狂ってしまっていたのです。

12/18 に慌てて試験場予約を行い、受験してきたを担保できました。

前述した問題集の方は買っておきながら放置していたため、12/18、19と深夜まで2時間ずつ計4時間使って読み、試験当日の朝、試験場近くに早めに到着し、その場で60分、14章にあるシミュレーションテストを初実施、10分で振り返って復習しました。

結論、問題集はやっておくべきですね。
PHP 以外の部分や普段業務では触らない PDO や curl 、クッキーの扱いなどの設問があり、慌てて解説を読みふけってました。

受験・・・そして

試験場にて

試験場では「IDとパスワードの控え」「試験説明のしおり」以外はすべてロッカーにしまいます。
スマホや時計、カバンなどももちろんロッカー行きです。
紙とボールペンは会場に置いてあったので、スマホにIDとパスをメモっていたら書きだす時間も必要になります。予め書き出しておく方が良いでしょう。

トイレ等の途中離席は試験終了とみなすということだったので、前もってトイレにも行っておきます。
※試験直前に試験官からそろそろトイレ等行っておきましょうとアナウンスがありました。

試験開始!

試験時間になると、パーティションで区切られたPC机に着席し、Odyssey ID を用いてログインします。ログインしたら試験官を待ちます。

受験項目、氏名、住所などを確認したら「開始」を押すと試験開始です。
自分のタイミングで始められます。

試験のコツ(傾向と対策含む)

実際受けてみて、多少コツがわかったのでまとめておきます。

開始すると、左下に試験の残り時間がカウントダウンされます。
(焦る気持ちを誘いますね)
右上に「後で確認する」というチェックボックスがあるので、不安に思う設問にはチェックを入れておきます。
回答したら「次へ」を押します。一つ戻るには「戻る」ボタンが設置されていました。

設問すべて終了したら画面下部に「確認する」というボタンが出ます。
ここで設問一覧を見ることができ、チェックつけた設問がわかるようになっています。一覧から設問へのリンクもあるので、早めに全問済ませておき、「確認する」がついている設問を潰すと良いでしょう。

問題自体は、複数選択問題は回答形式の傾向がわかればひっかけになっている部分が判断しやすいようにできていますし、誤まった説明を選択する設問は大体全部読ませて最後辺りに配置してることが多いみたいだなと思いました。(あくまで個人的な意見です)

難問に感じたのは、PHP 設定周りや普段いじらないファイルアクセス系などです。PHP7 で推奨されている最適な書き方を選べというのもあったのですが、事前の調査が効きました。(たった一問でしたが・・・)

結果発表!

775点で辛くも受かりました。(受かることが大事)
※40問でボーダー700点という表示だったので9問も間違えてますね。危うい。

できなかった設問

  • 他のWebサーバーやサービスとのやりとり
  • コマンドラインPHP(オプションわかんなかった)
  • フレームワークの種類問題(何がどれサポートしてるかなんて・・・)

さいごに

今、受験することを SNS に宣言すると問題集がもらえるキャンペーンをやっています。今回、私は買ってしまいましたが、もらえるものなら早めに宣言してもらっておいて、しっかり勉強して受験すると良いかもしれません。
※キャンペーン期間延長して冊数も増えていってたりするので、あきらめずに申し込んでみましょう!

今回、十数年振りくらい?にきちんとした試験勉強してみて、基本的なのに知らなかったことにも気づくことができました。今後も精進して参ります。

アドベントカレンダーもあと4日。
明日の記事もお楽しみいただければと思います。