teke teke my life

学習・体験・消費のメモ帳

基本情報技術者試験(CBT)に未経験・専門外で3週間の独学で合格したので、学習内容と感触を記録しておきます(午後編)

前回の午前編の続きになります(一応、現段階では多分合格した、というところですが、スコアレポート上、全科目7割超えているので落ちていることはないと思います)

基本情報技術者試験は「午後試験の正体がようわからんな」というところで結構困惑する方も多いかと思いますので、学習内容とともにそのあたりのことを書いておきます。

↓午前試験編です。

teketekemylife.com

①基本情報技術者試験午後試験の概要

試験の範囲は午前と不変で文章題になるだけ

午後試験の範囲は午前の範囲と基本的には不変で、文章題になるだけ、という理解で良いかと思います。午前に出てこない用語なども出てきますが、問題文の中で説明がされていたり、おおよそ答えが検討が付くようになっています。基本的に午前の理解を超える範囲の知識が突然求められたりはしません。

鬼門に思える「ソフトウェア開発」も詳細な理解は必要ない

「ソフトウェア開発」で選択するであろう「表計算」では言語の解説が別紙で付いてきますので、厳密に言語それぞれの意味を覚える必要はありません。もちろん、確認しながら解いていると時間がかかるので、ある程度知識があった方が良いですが、暗記を求められる要素はありません。

必須2科目と選択3科目の計5科目の問題だけを解けばよい

午後試験は必須の科目を除けば苦手な科目は避けることが可能です。

  • 必須:「情報セキュリティ」「データ構造及びアルゴリズム」
  • 選択1:「ソフトウェア開発」から1つ
  • 選択2:ランダムで出題されるテクノロジ系3科目※、ストラテジ系・マネジメント系1科目から2つ
    ※「データベース」「ネットワーク」「ソフトウェア」「ソフトウェア設計」の中から3科目が出る

例えば、データベース(SQL)がちょっと苦手だとか、ネットワークが苦手、ということであれば、テクノロジ系のどれかを選べば良いだけなので、「ソフトウェア」か「ソフトウェア設計」のどちらかを受けることにしておけば回避可能です。

②どの問題を選択するべき?

「ソフトウェア開発」なら「表計算」が鉄板

正直、そこまで難易度に差があるような気もしないのですが、普段業務でExcelを使っているのであれば、「表計算」が一番とっつきやすくてわかりやすいので、おすすめです。私も、普通に表計算を選びました。

Excelと違い、試験用の言語なので若干感覚が違う部分もありますが、試験中はいつでも言語の解説を参照できるので、個別の試験用の関数を覚える必要はありませんし、関数の解説とやりたいことを照らし合わせれば解ける問題が多いです。

テクノロジ系1科目は「ソフトウェア設計」か「ソフトウェア」が比較的とっつきやすい

あくまで個人的な印象ですが、「データベース」「ネットワーク」よりも、「ソフトウェア」「ソフトウェア設計」の方がとっつきやすい印象はあります。特に、「ソフトウェア設計」でしょうか。

「データベース」はSQLの知識が甘いと誤った回答をしてしまうリスクがありますし、「ネットワーク」はそれ自体、そもそもかなりとっつきづらい題材です。難易度的にはそこまで高くないのですが、得意でない場合、大量失点してしまうリスクもあります。

反面、「ソフトウェア」「ソフトウェア設計」はきちんと読み解いていけば7割程度は正答が選べるため、テクノロジ系があまり得意でなくても、現代文の能力さえあれば安定的に合格ラインの得点を確保できる印象があります。特に「ソフトウェア設計」は題材も比較的わかりやすく、おすすめです。

③午後試験の学習方法

必須科目と選択予定科目の過去問題を解くだけでOK

午後試験について、特に午前試験から追加される範囲はないので、追加の教材は必要ありません。文章題をしっかりと読めば正答が自ずと導き出される問題が多いため、しっかりと読んで解く練習と、陥りがちな誤りを認識すればよい、というだけかと思います。

令和1年以前の過去問は公式で公開されているので、過去問を直接解いても良いですし、もう少し解きやすくWeb上でアプリ化されているサイトを利用して学習しても良いかと思います。

ぼくは午前試験の勉強の終わり1週間ぐらいで1日1時間ぐらいずつ解いていました。まあ、感触がつかめれば良いので、それぐらいで十分だと思いますよ。

IPA 独立行政法人 情報処理推進機構:過去問題

基本情報技術者過去問道場【午後版】|基本情報技術者試験.com (fe-siken.com)

午後対策のテキストは不要

どうしても、想定問題集などを解きたい場合は、以下の参考書などが評判が良いですが、果たして必要かと言われると、購入の必要は皆無だと思います。そもそも、半分は選択しないですからね…。

④午後問題のポイント

丁寧に読めば解けると思って解くのが大事

午前問題と比べて舞台設定がきちんと与えられ、複合的な問題となるので、一見、難しく感じられはしますが、基本的に丁寧に読めばロジック上この回答しかありえない、という結論になる問題がほとんどすべてです。

また、回答の選択肢も、嫌らしい選択肢が用意されていることは稀で、回答の選択肢一つ一つを当てはめてみれば必然的に1択になるような選択肢しか用意されていなかったりします。

午前の知識をベースにロジカルな考え方が出来るか、ということを問われているだけであり、一定の理解の誤りも是正されるような問題になっていますので、問題自体は非常に優しく作られている前提で問題に臨むのが大事です。

そういう意味では、午後試験、下手すると現代文得意な文系は有利まであるかもしれません。

要件や定義はしっかりと確認しよう

システムで実装しなければならないこと、セキュリティ上担保する必要があること、システム上の処理の内容など、要件や処理の内容はきちんとメモを取り、誤解がないように確認しながら進めることが大事です。

過去問を回しているとわかると思いますが、午後問題で間違えるケースの大多数は「ABCを満たす必要がある」と書かれているのに「ABを満たす必要がある」と勘違いして回答してしまった、といった要件や処理の誤解に伴うものなので、そういったケアレスミスに近い誤りを減らしていくのが、合格水準を安定して超えるためには必要です。

逆を言うと、午前が合格水準にあるのであれば、丁寧に読み解いて、要件や定義を誤らなければ、それだけで8割は超える試験だと思います。

アルゴリズムやマクロ問題は変数の役割を理解するのが大事

表計算のマクロ問題などで顕著ですが、変数の役割をきちんと認識出来れば解ける問題が多く、逆に変数の役割を見失うと解けないようになっています。

例えば、ループ条件に使われ、1ループするごとに1加算される変数は頻出しますが、その変数が何を意味しているのかがわからないと当然解けませんし、何を意味しているのかがわかれば、そのループがどの処理に該当するのかがわかるので、相当楽になります。

一つ一つの変数が意味するところを特定していくのが最短ルートですし、それさえわかればほぼ解ける問題も多いです。

⑤実際の試験

2時間ぐらいで解き終わり。サプライズはなし

平日の仕事後に試験を受けました。2時間半の試験ですが、2時間ぐらいで解き終わりました。時間をかけたのは「ソフトウェア設計」と「表計算」でしたが、躓いたというよりは、なんとなく集中力が切れた、というのが正しい気がします※。

※試験当日は結構仕事が立て込んでおり、かなり疲れている状態だったので、集中力が切れがちでした。

特にサプライズがあるような問題もなく、事前の印象通り、丁寧に解いていけば確信を持って1択に絞り込める問題が多かったです。

スコアレポートが全然来ない…遅い…

で、終わってすぐにスコアレポートが来るかと思っていたのですが、全然メールが来ず、翌日になってからスコアレポートが来ました。スコアレポートの到着自体は結構時間に差があるようで、すぐに来ない場合もあるようですね。

合格水準以上の自信はありましたがケアレスミス等を起こしている可能性もあったので、かなりやきもきしました。

平均9割ぐらいの正答率だったので、まず合格かな

結果を見ると、80~100%の正答率で、平均は9割ぐらい。まあ、合格水準6割ならまず合格しているでしょう、という出来でした。

⑥午後試験のまとめ

  • 文系・未経験でも問題なく合格できるレベルの問題しか出ません
  • 午前問題と範囲は変わらないし、表計算の言語も解説読めるので大丈夫
  • 過去問で解き方とよくあるケアレスミスに慣れるのが大事
  • 丁寧に読んでいけば基本的に正答出来る設計になっているので心配しなくても良いので、丁寧に読むことだけ気をつけよう

こんなところですかね。まあ、誰かの役に立てばと思います。