情報処理技術者試験を受け始める人への、楽に受かるためのコツ集とポイント

#はじめに
この前の18年度春期試験でセマネを取りました。
(仕事柄、人事によく技術系資格のレベル感について問われたりする事があって、
 受けておかないとレベルがわからないな…と思って受けました。)

そして、18年度秋試験の申込もはじまりましたね。

試験のテクで受かるのもどうか、という意見がある事は重々理解していますが、そういったところで客観的にスキルを証明できないとなかなか技術的な決定権、裁量権のある立場での仕事ができず、スキルが蓄積されにくいといった問題点もあるので、私の個人的な意見としては、下駄でも小手先でもいいので資格は取れるのであれば無理にでも取るべきだと思っています。
(実際、ITを主軸にしていない会社のIT人材の採用(転職採用など)は、技術の話をしても相手が素人なのでなかなか理解されず、結局のところ客観的にわかりやすい資格などで足切りされたりすることが多く、資格の1枚でもあるとないとでは全然書類選考の貫通率が違います。)

なお私は、ITパスポートは受験機会がなくて受けてないのですが、何となく受験に必要なポイントは想像がつくので、基本情報とセマネが取れてるので恐らくこういうことがわかっていれば楽だろう…　という事に関して書いておきます。

###追記(19/02/06)
基本情報技術者試験の試験改定(2019秋以降)については以下リンクにまとめてあります。
改定前後を含めて書いてるので、これ以降の記事を見る必要はあんまりないです。こちらをどうぞ。
https://qiita.com/ditflame/items/0a3164f6b37f80a5e2b6


##Iパス全般と、基本、セマネの午前試験対策について
結局のところ、用語と概念をどれだけ覚えてるかが午後の解答力にも効いてくるので、まず午前をしっかりさばけるようにしましょう。

予め準備しておくものとしては、
・教科書的なものを1冊
・過去問を印刷できる環境
・朱書き用のペン
・ルーズリーフ
・テープのリ(コクヨのドットライナーがお勧め。)
・はさみ
があると良いです。

以下、対応手順です。

1. 初回受験者は、まず適当な厚さの本(基本論点が乗っている教科書的なもの)を１～２回通読。
2. IPAのサイトに過去問( https://www.jitec.ipa.go.jp/1_04hanni_sukiru/_index_mondai.html )があるので、過去3年分(3年×春、秋で6回分になるはず)を**片面印刷**で印刷。
3. 過去問を解きましょう。前々回の試験問題から過去に遡って解いていきます。(前回と同一の問題は、過去に出た事が無いので、前回過去問は知識の抜け漏れがないかのチェックの為、最後に時間があれば解く形で良いです。)
4. 間違えた問題をルーズリーフに切り貼りして、ミスノートを作成しましょう。(解答導出手順や用語の説明は朱書きするもよし、過去問題集の正答がどこかで手に入る場合はそれも貼るのも良いでしょう。)

あとは、4.で作成したミスノートを集中的にこなせば、7割ぐらいはコンスタントに得点できる様になっているでしょう。

なお、あまりIPAの試験を受けてない人には認知されていない気がするのですが、午前の多岐選択試験で過去問から出る問題は、**問題と選択肢まですべて一緒の形で、過去問からそっくりそのまま再出題**されます。
（※注１：**そっくりそのまま出てこない場合は新問**です。新問出題率は過去の私のイメージでいうと、多くて2割ぐらいでしょうか。なお、新問 ≒ 新出題論点なので、本試験の午前で新問に出くわした場合は昼休憩のタイミングで用語をググってチェックぐらいはした方がいいでしょう。午後で同一論点の出題が出たりします（今回のセマネで本当に出たので…））
（※注２：高度情報の各種試験ですら同様です。この方針が変わるとすればまあ、高度から変わるでしょう…）


##セマネの午後試験対策について
基本的にはセキュリティ運用よろずに関する文章題です。

大問が3問、すべて配点が34点。
基本情報と違い、**問題選択の余地がない**ので知らない問題が出ても逃げようが無いです。
（ただし、どこかで点をかきあつめて、結果として60点に到達すれば良いわけで、多岐選択しか無いのでわからないならわからないなりにでも足掻けば、無勉強でもない限り大問１つ丸々０点になったりはしないと思うのですが。）

私がセマネを受けるのに際して、さすがに知っている範囲だろうと思って、教科書は買わなかったのですが、一応2016年春～2017年秋の過去問に関しては解きました。解いた感想としては年々、試験が難化している気がします。
（過去問を解いて配点で均等割して予想点数も出したのですが、回を経る毎に少しずつ点が落ちました。とはいっても70点はキープできていたのですが、18年春の本番試験では70点切ってました。
 合格率の推移も年々下がってきてるので、まだしばらく難しくなっていくんじゃないかな…という気がしています。）

特に解答時に悩ましくネックになるのは対応方法や原因など、カテゴリーが数種類あって、その組み合わせを10択で選ばせるタイプの問題でした。

恐らくカテゴリー毎に
・絶対選ぶ必要がある
・選べばいいのか判断がつかない
・絶対選んではいけない
の3つに振り分けて、枝刈りしたあとに1つに絞れればマークしておわりですし、
絞り切れない時は再検討して全部を見直すか、仮にでもマークして先に進むか　みたいな感じになります。
（私も自信がないときは設問に「？」と大きく書いておいて先に進んだりはよくします。）

##基本の午後試験対策について
大問の構成は以下表の通りです。(※注:2018年現在)

|問番号|必須選択|選択数|配点|
|:--|:--|:--|:--|
|問1:情報セキュリティ    |〇 |1 |12 |
|問2～7 |   |4 |12 |
|問8:データ構造及びアルゴリズム    |〇 |1 |20 |
|問9～13:ソフトウェア開発(プログラム言語)|   |1 |20 |

※問2～7は以下の設問
・ハードウェア or ソフトウェア or データベース or ネットワーク　から3問
・ソフトウェア設計　から1問
・プロジェクトマネジメント or サービスマネジメント　から1問
・システム戦略 or 経営戦略・企業と法務　から1問

以下、今っぽい対策案を書いておきます。

###問1(必須) 情報セキュリティ
必須なのでがんばろう。応用情報でも情報セキュリティが必須、高度でも通年で受験可能なのは情報処理安全確保支援士試験のみ、更に各種スペシャリスト試験でもセキュリティに絡めた設問が頻発する（方針で出題されるようになっている）ので、得意分野にしておくのが後々の受験パスを考えても幸せだと思います。セマネを受けるのも良いでしょう。

###問8(必須) データ構造及びアルゴリズム
必須なのでがんばろう。どんな言語でも良い(基本の午後に出てくる言語で無理に頑張る必要はない)けれど、手を動かしてループ、データ構造(木やハッシュ)、探索、ソーティングアルゴリズムに関して自前で書いてみると何となく言ってる事がわかるようになると思います。(かつての自分もそうだったので)

###問2～問7(4問選択)
・ハードウェア
　技術変化の少ない試験領域。(計算機の基礎なので変わりようが無い。量子コンピューターが実用化されてメインストリームに乗ってくると話は変わるだろうけど。)
　論理回路は独特なので覚えるコストが少し高いが、エンベデッド系の基礎になるので知っておきたい(と思うけど人によっては要らないでしょうね…)

・ソフトウェア
　OSとかそっち系の話が中心
　基本的には知ってるか知ってないかで選択を決める事になるだろう…という気がします。ただしこういった設計の知識はシステムを組む上で有用で、学んでおいて損はないです。

・データベース
　比較的技術変化の少ない試験領域。(データベースにおける論理的な整合性を確保させるための理論は変わりようがないので)
　CRUDとcreate,alter,dropの各構文でテーブル作ってこねくり回せて、あとgrant構文周りで権限設定までできれば昔はよかったんですが今どれぐらいのレベル感が求められているのかは最近過去問解いてないのでわからないです。普段から触ってないと少ししんどいかもしれないですね。（特に学生さんとかは）

・ネットワーク
　プロトコルは比較的技術変化が少ない(物理層のI/Fは3～4年経つと1世代変わったりする）のだけど、今の情報処理技術者試験は基本的にOSI参照モデルのデータリンク層以上を問う傾向なのでそんなに影響はないような…

・ソフトウェア設計
　システム設計的な観点での設問、技術変化は少ないのですが、対象とする物理的な業務に合わせたシステムの問いが来るので過去問をやっておくと一番幸せになれる大問な気がします。ちなみに昔の情報一種などでは、このカテゴリが必須設問で、得意分野にしておくことで一気に点が取れるようになるうれしい範囲でした。

・プロジェクトマネジメント or サービスマネジメント
　マネジメント系の問題は基本的には文章題です。読んで理解できれば解ける公算が大。

・システム戦略/経営戦略 or 企業と法務
　ストラテジ系の問題も基本的には文章題ですが、たまにお金の話とか法律の話が出てくる。無理だとおもったら逃げて良い。

###問9～問13(1問選択) ソフトウェア開発(プログラム言語)
C，COBOL，Java，アセンブラ言語(CASLⅡ)，表計算ソフトの5種から選択

とりあえず、はっきり言えるのはCやCOBOL、Javaが超得意でずっとコード書いてるマン以外は**無理に多少知っているからといってそういう言語を選ばない方が幸せ**かもしれないです。
なぜかというと、各言語に対しての割り当てられる試験冊子のページ数は当然決まっているだろう(多分6ページぐらい)し、**同一の記述量であれば記述性の低い言語の方が当然ロジックは簡単**になるので、問題も単純な問いになります。
あと、**アセンブラと表計算は試験問題集巻末にリファレンスが絶対に付く**ので解答導出手順さえわかっていれば確実に点が取れるのは大きい気がします。

よって受かるためのお勧めは表計算ソフトかアセンブラ言語です。


##おわりに
かれこれ19年ぐらい情報処理技術者試験を受けてる気がするので、
何となく変なノウハウがたまっているのをたまに放出したくなるのです…

まあ、技術のわからない人には客観的な説明材料を与えてあげられるのが資格ですが、
資格持ってるからと言って仕事ができるかどうかはまた別の話なので…
（あくまで資格なんて、資格を受かったときにそのレベルの知識と知見があった　というだけのものでしかないですし、技術革新とせめて同スピードぐらいでは技術をキャッチアップできないとエンジニアとしてゆるやかに死ぬのは自明なので…　継続的研鑽は大事だと常々痛感しています。まあ、10年経っても陳腐化しにくい技術もあるのですけどね。例えばデータベース設計とか。　やはり理論の上に乗った仕掛けは陳腐化に対してめっぽう強いです。）

なにか指摘があればお気軽にどうぞ。