この記事は2024年6月7日に弊社ブログに公開された記事の移植記事となります。
初めまして!!!@2626です!
株式会社エクスで生成AIをはじめとした、AIやその他最新の技術を推進する部署に所属しています。これまでブログを運営していたのですが、諸事情によりブログを廃止し、Qiitaにお邪魔することになりました!(廃止自体は2024年末を予定しております。)
弊社でQiitaに投稿する第一弾ということもあり、文章等少し拙い部分もあるかと思います。何かご不明点や指摘等ございましたら、優しくコメントいただければ幸いです。
さて、今回のお題ですが、私@2626が、2024年春期の応用情報技術者試験に合格するために取り組んだこと&苦労したことを紹介できればと思っております。この記事を見て、ひとりでも資格の勉強に役立つ人が出てきてくれたら幸いです。
はじめに
本記事は下記のような構成です。
- 試験結果
- 私の持っている前提知識の紹介
- 応用情報技術者試験の説明
- 午前試験の勉強法
- 午後試験の勉強法
- 午後試験はどれを選べばいい?
- まとめ
前提知識に興味ないよ!とか、応用情報技術者試験の説明は要らない!という方は、こちらから読み進めてください。
試験結果
7 月 4 日(木)の 12 時に結果が届きました。結果は午前が 81.25 点、午後が 71 点です。
正直なところ、午後問題に合格している自信が無かったので、前日はいつもより眠れなかったです。無事合格していたので、同じ勉強の苦しみを再度味わわなくて済むと思いました。 かなり安心したことを今でも覚えております。
受験者の前提知識
少しでも皆さんの参考になるように、私のバックグラウンドを少しだけ紹介しておきます。弊社に転職する前は、いわゆる SIer に勤めており、様々な会社で請負や準委任、派遣業務をしておりました。
最初の案件
最初の案件は組み込み系で、テスターをしておりました。主に機器間のパケットを Wireshark で見つつ、画面操作に対して正しいパケットが流れているかを確認することが多かったです。この経験がネットワークの苦手意識を減らす上でかなり重要な役割を果たしていたように思います。
2 つ目の案件
次はデスクトップアプリのバックエンドの開発です。主にカスタマイズに伴う詳細設計書の修正やコードの修正、テストを実施していました。使用言語は Java、(言語じゃないけど SQL)です。この経験がデータベースの苦手意識を減らす上でかなり重要な役割を果たしていたように思います。
3 つ目の案件
最後は Web アプリケーションの開発です。これもバックエンドがメインですが、C# と SQL をメインに触っていました。ただし、この頃に少しだけ Javascript に関わります。Javascript が少し苦手になりました。(笑)
4 つ目の案件(最後の案件)
最後も Web アプリケーションの開発です。これもバックエンドがメインですが、今回は C++ です。また、フロントエンドも少しだけ開発することになり、vue と typescript を使用していました。しかし、完全に苦手になります。今書けと言われても全部忘れてしまいました。
その他
基本情報技術者試験は 2 年目の春期(2018年春期)に合格しています。ただし、既に合格してから 5、6 年経っていることもあって、勉強してきた内容をあまり覚えていませんでした。
ここまで、私のバックグラウンドを話してきました。正直いるのか?と思われる方もいらっしゃるかもしれませんが、午後の試験を受ける上で自分が何をしてきたか、何に興味があるのか理解しておくことは非常に大事なことです。本記事では@2626を例として話参りましたが、皆さんも振り返っておくことをおすすめいたします。
応用情報技術者試験とは?
この記事をここまで読んでくださっているということは、応用情報技術者試験がどんな試験なのかご存じの方が多いと思われます。とはいえ、試験の内容を簡単に紹介しておきましょう。
概要
応用情報技術者試験とは、情報処理技術者試験の区分の 1 つで、IPA(独立行政法人 情報処理推進機構)が主催しています。
また、情報処理技術者試験は、公式HPによるとこのように書かれています。
情報処理技術者試験は、「情報処理の促進に関する法律」に基づき経済産業省が、情報処理技術者としての「知識・技能」が一定以上の水準であることを認定している国家試験です。
応用情報技術者試験はレベル 3 に位置付けられています。それぞれのレベルは下記のとおりです。
- レベル 1 : IT パスポート試験
- レベル 2 : 情報セキュリティマネジメント試験、基本情報技術者試験
- レベル 3 : 応用情報技術者試験
- レベル 4 : IT ストラテジスト試験~情報処理安全確保支援士試験
試験内容
試験は午前と午後に分かれていますので、それぞれ説明していきましょう。
合格基準や時間
合格基準や試験時間などは以下の通りです。
試験時間 | 問題形式 | 問題数 | 合格点 | |
---|---|---|---|---|
午前 | 9:30 ~ 12:00(150 分) | 4 択から 1 つ選択式 | 80 問 | 60 点 / 100 点 |
午後 | 13:00 ~ 15:30(150 分) | 記述式 | 11 問から 5 問選択 | 60 点 / 100 点 |
この表を見ていただければお分かりかと思いますが、午前と午後で問題の形式が大きく異なります。 そのため、それぞれに異なる対策が必要です。一方で、試験時間は午前午後それぞれ 150 分ずつであり、非常に長丁場です。よって、集中力を持続する力も必要になります。
午前試験
ストラテジ系、マネジメント系、テクノロジ系の 3 つに分かれており、それぞれ 20 問、10 問、50 問出題されます。
午後試験
11 個の大問があり、1 つ(情報セキュリティ)は必須で、残り 4 つを選択して回答する。残り 10 個の大問は以下の通りです。
- 経営戦略
- プログラミング
- システムアーキテクチャ
- ネットワーク
- データベース
- 組み込みシステム開発
- 情報システム開発
- プロジェクトマネジメント
- サービスマネジメント
- システム監査
難易度
では、レベル 3 の試験である応用情報技術者試験はどれくらい難しいのでしょうか?こちらの情報によると、令和 6 年度春期応用情報技術者試験の受験応募数、受験者数、合格者数は以下の通りのようです。
- 受験応募数:55569人
- 受験者数:36730人
- 合格者数:8677人
合格率(合格者数 / 受験者数)は 23.6 % のようですが、「応募したが受験しなかった人」も含めれば、15.6 % ほどになるようです。この数字が表すように、応用情報技術者試験は国家試験でも中々難しい部類に入ると思います。特に、基本情報技術者試験の出題形式は選択肢問題ですし、応用情報技術者試験の受験者の約半数は基本情報技術者試験の合格者です。更に複数回受験している人もいるくらいなので、合格するには十分な準備が必要だと思います。
試験勉強の内容
では、ここからは私がどのような勉強に取り組んできたのか話していきます。
午前
過去問を解きましょう。 その一言に尽きます。こちらのWebサイトにお世話になりました。本当に素晴らしい Web サイトですね。こうやってまとめてくださっている有志の方にはこの場をお借りして感謝を申したいと思います。本当にありがとうございます。
「過去問を解く」ことについてですが、80 問のうちの約半数が過去問から出題されることが知られています。私が受験した令和 6 年春期では、43 問が過去の応用情報技術者試験または基本情報技術者試験からの出題だったようです(参考)。もちろん合格には 48 問の正解が必要なので、これだけでは足りないですが、これらの勉強が合否を左右するといっても過言ではないです。
また、出題されている傾向を見る限り、直近 2 回分(令和 5 年度春期秋期)は例年出題されないようです(いつか例外が現れるかもしれないので、絶対を保証するものではありません)。一方で、3 回前から 12 回前(平成 30 年春期~令和 4 年秋期)が多く出題されているようです。よって、3 回前から 12 回前の過去問を何回も解き続けることをおすすめします。
ちなみに私は、1299 問(延べ 2645 問)解いていました。解き始めた頃はこんな正解率でしたが、試験前最後に解いたときはここまで正解率を上げていたようです。
こちらのWebサイトで独自に用意されている段位で、二段まで行っていたようです。初段くらいまでいくことができれば、十分に合格できる水準ではないかと思っています。
午後
先ほど述べたように、11 問のうち 1 問必須、4 問選択の記述式問題になっています。よって、まずは 10 問のうちのどの 4 問を選択するかが重要になってきます。ただし、4 問に完全に絞ってしまうと、難しい問題が出題されたときに他の選択肢を選ぶことができません。なので、6 問に絞ることにしました。好みの問題や個人差はあると思いますが、5 問~ 7 問くらいに絞っておくと、何かのときに安心できると思います。
では、どのような基準で問題を選択すればいいでしょうか?あくまでも個人の意見ですが、ここからは 10 問のうち、どの問題を選ぶべきかについて説明していきます。
好きなジャンル
選ぶべき観点の 1 つ目は、好きなジャンルです。「好きこそものの上手なれ」は最強の言葉だと思っていますし、勉強のストレスを最も少なくすることができます。
- ネットワークが好きだからネットワークを選ぶ!
- データベースが好きだからデータベースを選ぶ!
というのは、最も勉強のモチベーションになると思います。私はプログラミングが好きだったので、プログラミングはマストで選ぶことにしました。(これが本番で悲劇を生みます。)
経験したことのあるジャンル
選ぶべき観点の 2 つ目は、経験したことのあるジャンルです。問題は業務に関連する出来事に沿うように出題されるので、やはり業務経験があるのは強みです。運が良ければ、業務経験のある問題が出てくる可能性もあります。(Github や Docker を題材にした問題が過去に出題されています。)私の場合、業務で利用する機会もあったデータベースとネットワーク、システムアーキテクトを選択することにしました。
業務に関係のあるジャンル
選ぶべき観点の 3 つ目は、業務に関係のあるジャンルです。皆さんのこれからの仕事に役立つジャンルであれば、勉強のモチベーションの 1 つになると思います。また、今後の業務でも生かせる可能性があります。私の場合は、経験したことのあるジャンルと同じだったので、この観点で選択する問題はなかったです。
解きやすいジャンル
選ぶべき観点の 4 つ目は、解きやすいジャンルです。過去問を 2 ~ 3 周解いていると、何となく解きやすいジャンルがあると思います。ジャンルによって求められる前提知識があるので、それらに沿った選択をしましょう。私は組み込みシステム開発、情報システム開発が比較的解きやすかったので、それらを選択することにしました。
ちなみに(一番重要)
世の中では、「システム監査がおすすめ」や「経営戦略がおすすめ」と書かれている Web サイトがありますが、安易におすすめはしません(そもそも、読者の得手不得手を知らずに一概にお勧めするという時点で信用することはおすすめしません)。
理由として多く挙がっているのが「国語力があれば解ける」です。しかし、こういった記事は信用しないようにしています。なぜなら、私は学生時代から国語と英語がずっと苦手な教科だったからです。国語が苦手な人に「国語力があれば解けるから!」と言われても、「解けないやん!」となるだけです。実際 2、3 回解いてはみたものの、個人的には難しい問題でした。 なので、下記のような観点で選択するようにしましょう。
- どんなことが好きなのか
- どんな経験をしてきたのか
- 今、どんな業務をしているのか
- 解きやすいジャンルなのか
勉強方法
さて、ここからは個人的に進めてきた勉強を紹介していきたいと思います!あくまでも個人の進め方ですので、皆さんにあった進め方にしていただければと思います。ちなみに、基本情報技術者合格くらいのスキルの方であっても、遅くとも 1 か月前には準備を始めることをおすすめします。
2か月前 ~ 1か月前
午前の勉強については、上記でも紹介したようにこちらをご利用下さい。私は電車通勤していますが、通勤中に繰り返し解くことで少しずつ問題を覚えていきました。
午後の勉強については、1日1問答え合わせまで解くことを意識して取り組んでいました。土日はもう少し解くように意識してましたが、そんなに解く時間は確保できてませんでした(実際は中々勉強に身が入らず、サボっていました)。週に1回開催分を解くくらいのペースでしたね…。
一方で、収穫もありました。全3回開催分くらい解いたのですが、問題との相性の良さなどの傾向が掴めてきたので、ちょうど1か月前くらいに解く予定の6ジャンル(プログラミング、データベース、ネットワーク、システムアーキテクト、組み込みシステム開発、情報システム開発)を選択しました。
1か月前 ~ 1週間前
午前は上記と同じなので省略します。(以下も省略します。)
午後の勉強については、この辺りから本腰を入れて勉強を始めていきます。上記6ジャンル+必須の「情報セキュリティ」の過去問を解いていきます。平日は3, 4問程度、休日は15問程度解き、6+1ジャンルを計20回分(10年分)解きました。
ちなみに、1 つの問題にかけることのできる時間は 30 分なので、25 分をタイマーで測って解けなければ解答を見る方針で勉強していました。「40 文字以内で書きなさい」など、国語が苦手な私に解けるはずもありません。問題を考えるのも程々にして、「こんな答えなんだな~」と感心して次に進みます。回答を25 分にしておいたのは、余裕時間を見てのことです。この作戦は本番で功を奏します。
また、合わせて『2024 応用情報技術者 午後問題の重点対策』にもお世話になりました。
この本は単に問題とその解説が書かれているだけではありません。問題に対する注目ポイントや考え方を解説してくれています。ですので、この本に目を通しておくかどうかで、問題演習の効率性が変わってくると思います。実際は、本との相性もあると思いますので、是非書店等に行ってもらい中身を一度確認することをおすすめします。
1週間前 ~ 2日前
これまで、時間を測って本番形式で解いてませんでした。なので、本番形式で解いてみます。この時のポイントとして、下記を意識して取り組みました。
- 時間をきっちりと 150 分測る
- 本番と同じペンや消しゴムを使う
- 紙に印刷して問題を解く
これまでは回答をノートに書き、問題はPCの画面を見て勉強していました。しかし、本番では途中のメモは問題用紙にする必要があるため、そういった取り組みも合格の上で重要なポイントになります。実際、直前の2回分でこの形式の模擬試験を実施しましたが、効果がかなりありました。皆さんも是非取り入れてみてはいかがでしょうか。
1日前
午前の勉強を少しだけ解きました。午後の問題については、情報セキュリティを過去 20 回分目を通しています。それ以外はあまり何もしていません。きっちりと頭を休ませることに注力します。また、リフレッシュのために買い物や用事を済ませておきます。
- カロリーメイト、ウィダーinゼリー、おにぎり 2 つを購入
- 当日の水(500ml × 2 本)を購入
- 証明写真を撮影し、受験票に貼る
食べ物については、ちょっと多いかもしれません。念のため、食事量を調整できるように多めに購入しておきます。また、会場によっては、近くのコンビニが混むことも考えられるので、あらかじめ買っておくことをおすすめします。
当日に慌てることがないように、荷物も整理しておきました。受験票やペンなど、必要なものがカバンに入っているか確認しましょう。ちなみに、私はカーディガンも持っていきました。会場によっては空調が体に合わないことも考えられるので、体温調整できる服装で向かうようにしましょう。そして、きちんとお風呂に入り少し早めに寝ます。(重要)
試験当日
ここからは試験当日の行動について解説していきます。
試験前
朝起きてから、ご飯を食べます。エネルギーを十分に補給できる食事をしましょう。その後、荷物を確認して家を出ます。1 本早い電車に乗りましょう。とにかく慌てないで済むように動くことがポイントです。ちなみに電車内で勉強は特にしませんでした。余計なエネルギーを使わないためです。この辺りは皆さんの考え方もあると思いますので、直前に勉強が必要だと思う方はするようにしましょう。
午前試験
さあ、いよいよ試験開始です。
まずは午前でしたが、90 分ほどで解き終わりました。ここまでは順調です。次の試験まで 2 時間程度あるので、昼食を取った後、30分ほど寝ます。その後、ゆっくり辺りを散歩しようと思ったのですが、この日はあいにくの雨でしたので、1人でぼーっとしていました。
昼休み
12時になって辺りを見てみると、解答速報を見てる人が結構いるんですね…。会話を盗み聞き会話が聞こえてきたのですが、午前が落ちてそうなら午後を受けずに帰る人もいるようですね…。個人的にはあまりおすすめできません。
- 採点の結果落ちてそう
- 実際の試験会場で受験する経験は中々できるものではない
- そもそも実は合格してた…という可能性もある
- 採点の結果合格してそう
- 午後の試験準備の無駄になる
- 午後の勉強をしたり、頭を休めることに集中した方がいい
午前の試験がどのような結果でも、本気で合格したいと思っているなら午後の試験も受ける一択です。
午後試験
そして、午後の試験が始まります。
情報セキュリティ
最初に必須の「情報セキュリティ」を解きます。あれ…? 6 文字で答える問題が分からない…。
R 課長は、境界型防御の環境に代えて、いかなる通信も信頼しないという [ a ] の考え方に基づくリモート環境を構築することにした。
"応用情報技術者試験, 令和 6 年春期, 午後問 1 設問 2 (1)" より
一瞬大喜利したくなりますが、 少し考えて分からなかったので飛ばします。経過時間はおよそ15分です。ここまではほぼ順調♪と思っていました…。しかし、ここから試練が訪れます。
プログラミング
次に、「プログラミング」を解いていきます…。あれ、全然分からない…。
~ 10 分経過 ~
あれ?ここがこうなってるから…?え?
~ 20 分経過 ~
え…。時間ないやん…。このままじゃヤバイ…。
~ 25 分経過 ~
解けない…?もうプログラミング捨てるか…?
ということで、25 分ほど経過して捨てます。 私にとって一番得意なプログラミングを捨てなければならないのは苦渋の決断でした。また、この時点で余裕時間を全て使い切ります。一方、ここで問題を 25 分で解く習慣を付けていたことが生かされます。
「慌てるほどの時間じゃない…。」
と思えたのは、ここで早く解く習慣を付けていたからだと思っています。正直ちょっと慌ててた。
その他
その後は比較的自信のあった、組み込みシステム開発、データベース、システムアーキテクト、ネットワークを順に解いていきます。相変わらず 「40 字程度で答えなさい」のような問題は全然解けません。しかし、時間もないので、簡単な選択肢問題に注力し、難しい問題は程々にして先に進みます。
そして、残り 10 分で全ての回答を書き終えます。誤字脱字を確認し、名前、受験番号が正しく書かれていることを見ると、例の 6 文字問題が解けていないことを思い出します…。
R 課長は、境界型防御の環境に代えて、いかなる通信も信頼しないという [ a ] の考え方に基づくリモート環境を構築することにした。
~ 5 分経過 ~
「~しない」ということは…?という連想ゲームで考えます。大喜利したい気持ちをぐっと堪えます。 ノン?無?ノー?ノット?ゼロ…?
あ!!!!!ゼロトラストやん!!!!!
ということでようやく答えにたどり着くことができました。
試験後
その後、試験結果の発表までに 2 ヵ月半ほどかかります。後は、先に記載のように合格することができ、やっと勉強から解放された安心感が大きかったです。
合格してから変わったこと
合格したからと言って、直ちに仕事が上達するわけではありません。しかし、下記のようなことを試験勉強から得ることができたと思っています。
- 世の中のユースケースと見比べて、自分たちのやり方にはこういう問題があるんだな…。
- この知識、この方法、勉強で学んだやつだ!
- 初めてやってみることだが、こういう風に調べればいいんじゃないの?
また、試験で得た知識をあえて使ってみることも意識しています。勉強で得た一時的な知識だけでなく、定着させるためです。周りからは、「急に意識が高くなったのか」と思われそうですが…。
また、資格取得に対する奨励金を得ることができました。何買おうかな…(笑)
まとめ
何とか無事合格できましたが、社内で試験を受ける人が他にもいたことも、要員の一つです。問題を解くのを手伝ってもらったり、分からないところを質問していました。あと、試験問題の愚痴を聞いてもらっていました。協力してくれたお二人には、この場をお借りして感謝を伝えたいと思います。今度唐揚げ 1 個あげます。
難しい試験でしたが、自分の長所短所を理解して、問題に取り組んだことが合格に繋がったと思っています。読者の皆さんには読者の皆さんの長所短所があると思います。それらを生かして勉強を頑張ってください!
この記事が皆さんの合格の一助になれば幸いです…!