2019年度(平成31年度) 春期 基本情報技術者試験 講評
試験対策講座の講師として、誠に勝手ながら、2019 年 4 月 21 日(日)に実施された基本情報技術試験の講評をさせていただきます。
今回受験された人は振り返りの題材として、今後受験される人は解法ポイントを知る資料として、参考にしていただけたら幸いです。
午後試験のソフトウェア開発の問題は、選択者が多い Java と表計算を取り上げます。
もくじ
午前試験は、やや難しかった
まず、午前試験の講評です。
全 80 問を、
「よく出る定番問題」
「真新しい問題」
「その他の問題(頻度は多くないが過去に出題された問題」
に分類してみたところ、それぞれ 27 問、13 問、40 問になりました。
よく出る定番問題に 90 % 正解でき、
真新しい問題に 30 % 正解でき、
その他の問題に 50 % 正解できるとすれば、
全体で、27 問 × 0.9 + 13 問 × 0.3 + 40 問 × 0.5 = 48.2 問の正答数になります。
全 80 問の 60 % の 48 問以上が合格なので、一般的な教材や講座で過去問題を学習された人なら、ギリギリ合格点を取れたか、あと少しという残念な結果になってしまったでしょう。
今回の午前試験は、やや難しかったといえます。
以下に、「問題番号 テーマ(分野)」という形式で、問題の分類を示します。
【よく出る定番問題】27 問 | |
---|---|
問 1 | 2 進数のシフトによる除算(基礎理論) |
問 2 | 論理演算によるマスク(基礎理論) |
問 3 | 論理演算の種類と意味(基礎理論) |
問 5 | 二分探索木(アルゴリズム) |
問 9 | 外部割込みと内部割込み(ハードウェア) |
問 10 | メモリの実効アクセス時間(ハードウェア) |
問 13 | デュアルシステムの説明(システム構成) |
問 14 | 稼働率の計算(システム構成) |
問 21 | フリップフロップ回路を使ったメモリ(ハードウェア) |
問 24 | ラジオボタンの用途(マルチメディアとヒューマンインターフェイス) |
問 25 | 音声のサンプリング(マルチメディアとヒューマンインターフェイス) |
問 28 | 選択、射影、結合(データベース) |
問 29 | 表を結合する SQL 文(データベース) |
問 31 | OSI 基本参照モデルと機器の対応(ネットワーク) |
問 33 | OSI 基本参照モデルとプロトコルの対応(ネットワーク) |
問 47 | ブラックボックステストに関する記述(システム開発) |
問 53 | アローダイアグラムによるプロジェクトの所要日数(マネジメント系) |
問 54 | システムの工数計算(マネジメント系) |
問 55 | サービスマネジメントのベンチマーキング(マネジメント系) |
問 58 | システム監査人がインタビュー実施時にすべきこと(マネジメント系) |
問 59 | システム監査人の独立性を担保するための措置(マネジメント系) |
問 60 | 監査人が指摘事項として監査報告書に記載すべきもの(マネジメント系) |
問 61 | エンタープライズアーキテクチャの構成(ストラテジ系) |
問 65 | ROI( Return On Investment )で評価した投資効果(ストラテジ系) |
問 66 | 非機能要件項目(ストラテジ系) |
問 67 | コアコンピタンスの説明(ストラテジ系) |
問 68 | リーダ、チャレンジャ、フォロワ、ニッチャの戦略(ストラテジ系) |
【真新しい問題】13 問 | |
問 4 | 機械学習における教師あり学習(アルゴリズム) |
問 15 | データベース応答悪化の想定原因と調査項目(システム構成) |
問 23 | 直流給電の利点(システム構成) |
問 30 | ビッグデータで使われるキーバリューストアの説明(データベース) |
問 38 | メッセージ認証符号の利用目的(セキュリティ) |
問 39 | 楕円曲線暗号の特徴(セキュリティ) |
問 43 | 認証ヘッダと暗号ペイロードを含むプロトコル(セキュリティ) |
問 44 | 意図的に脆弱性を持たせたシステム(セキュリティ) |
問 45 | ファジングで得られるセキュリティ上の効果(セキュリティ) |
問 52 | プレシデンスダイアグラム法(マネジメント系) |
問 64 | ビッグデータの分析結果のフィードバック先と反映タイミング(ストラテジ系) |
問 73 | シェアリングエコノミーの説明(ストラテジ系) |
問 80 | インターネットで利用される技術を標準化している組織(ストラテジ系) |
【その他の問題】40 問 | |
問 6 | スタックと再帰呼び出し(アルゴリズム) |
問 7 | ユークリッドの互除法(アルゴリズム) |
問 8 | プロセスの性質(ソフトウェア) |
問 11 | ビットマップフォント(ハードウェア) |
問 12 | 3Dプリンタの機能(ハードウェア) |
問 16 | タスクのディスパッチの説明(ソフトウェア) |
問 17 | デバイスドライバの説明(ソフトウェア) |
問 18 | 理想的なハッシュ法の説明(アルゴリズム) |
問 19 | インタプリタの説明 |
問 20 | オープンソースソフトウェアの取り扱い(ソフトウェア) |
問 22 | 論理回路の種類(ハードウェア) |
問 26 | 関係モデルの属性(データベース) |
問 27 | SQL 文の GROUP BY と ORDER BY(データベース) |
問 32 | ホストに設定できる IP アドレスの個数の上限(ネットワーク) |
問 34 | PC と Web サーバのポート番号(ネットワーク) |
問 35 | OpenFlow を使った SDN の説明(ネットワーク) |
問 36 | CAPTCHA の説明(セキュリティ) |
問 37 | パスワードリスト攻撃の手口(セキュリティ) |
問 40 | リスクファイナンシング(セキュリティ) |
問 41 | リスクレベルの定義(セキュリティ) |
問 42 | 不正のトライアングルの構成要素(セキュリティ) |
問 46 | UML のアクディビティ図の説明(システム開発) |
問 48 | 静的テストを支援する静的解析ツール(システム開発) |
問 49 | 修正費用の期待値(システム開発) |
問 50 | JavaScript の非同期通信(システム開発) |
問 51 | プロジェクトマネジメントの対象群(マネジメント系) |
問 56 | システムの移行テストの目的(マネジメント系) |
問 57 | データベースの障害回復方法(マネジメント系) |
問 62 | オンデマンド型のサービス(ストラテジ系) |
問 63 | BI( Busiess Intelligence )の活用事例(ストラテジ系) |
問 69 | 商品やサービスの購入に至る効果を直接示す値(ストラテジ系) |
問 70 | プロセスイノベーションに関する記述(ストラテジ系) |
問 71 | IoT を応用した HEMS の説明(ストラテジ系) |
問 72 | CGM( Consumer Generated Media )の説明 |
問 74 | デジタルサイネージの説明 |
問 75 | 企業が社会的責任を果たすために実施すべき施策(ストラテジ系) |
問 76 | 社内カンパニー制の説明(ストラテジ系) |
問 77 | 特性要因図の構成要素(ストラテジ系) |
問 78 | 機会損失の計算(ストラテジ系) |
問 79 | 著作人格権 |
今後受験される人は、真新しい用語の意味を覚えておこう
今回の午前試験がやや難しかったのは、真新しい問題(過去にほとんど出題されたことがない問題)が多かったからです。
これらの問題の多くは、用語の意味を問う問題になっています。
真新しい問題も、一度出題されれば、今後の試験で再利用される過去問題になるので、受験を予定されている人は、覚えておきましょう。
以下に、出題された用語と意味を示します。
【意味】機械学習の方式には、入力と出力のデータを使う「教師あり学習」と、入力データだけを使う「教師なし学習」がある
【用語】直流給電
【意味】データセンターのサーバやネットワーク機器に、通常の交流ではなく直流で電力を供給することで、交流から直流への変換で生じる電力損失を低減すること
【用語】キーバリューストア(key value store)
【意味】データと、そのデータを一意に識別できるキーを組みにして保存したもの
【用語】メッセージ認証符号
【意味】メッセージが改ざんされていないことを確認するための符号
【用語】楕円曲線暗号
【意味】楕円曲線の性質を安全性の根拠とした暗号化技法であり、公開鍵暗号方式として実現されているものが多い。RSA 暗号と比べて、同じレベルの安全性を短い鍵で実現できる
【用語】IPsec
【意味】暗号技術を使ってIPパケット単位で改ざんや漏洩を防ぐプロトコルであり、OSI 基本参照モデルのネットワーク層で動作する
【用語】ハニーポット( honey pot )
【意味】侵入者やマルウェアの挙動を調査するために、意図的に脆弱性を持たせたシステムやネットワークを構築したもの
【用語】ファジング( fuzzing )
【意味】あやふやな(ファジーな)データを意図的に入力することで、ソフトウェアの脆弱性を検出するテスト技法のこと
【用語】プレシデンスダイアグラム法( PDM = Precedence Diagramming Method )
【意味】プロジェクトの作業工程の関係を、以下の 4 つの関係で図示すること
- 終了-開始関係( A を終了したら、B を開始できる)
- 開始-開始関係( A を開始したら、B を開始できる)
- 終了-終了関係( A を終了したら、B を終了できる)
- 開始-終了関係( A を開始したら、B を終了できる)
【用語】シェアリングエコノミー( sharing economy )
【意味】ソーシャルメディアのコミュニティ機能などを活用して、主に個人同士で、個人が保有している遊休資産を共有したり、貸し借りしたりする仕組み。乗り物の共有や、家屋の共有などがある
【用語】IETF( Internet Engineering Task Force )
【意味】インターネットで利用される技術の標準化を図り、技術仕様を RFC として策定している組織
自分の持つ知識を総動員して用語の意味を考える
今後受験される人は、もしも真新しい問題で知らない用語に遭遇したら、当てずっぽうで答えを選ぶのではなく、自分が持つ知識を総動員して答えを選んでください。
例として、今回の問 43 を見てみましょう。
OSI 基本参照モデルのネットワーク層で動作し,”認証ヘッダ( AH )” と “暗号ペイロード( ESP )” の二つのプロトコルを含むものはどれか。
ア IPsec イ S / MIME ウ SSH エ XML 暗号
問題文の中にある「認証ヘッダ( AH )」と「暗号ペイロード( ESP )」という真新しい用語が目立ちますが、それよりも「 OSI 基本参照モデルのネットワーク層で動作」に注目してください。
普通に勉強していれば、ネットワーク層のプロトコルとして IP があることをご存知でしょう。
同じ IP という名前が付いている IPsec は、ネットワーク層だと思われます。そう判断して、アを選びましょう。
解答ア
基本情報技術者試験には、ヒッカケ問題は出題されません。
IP という名前が付いていながらネットワーク層でない、というような問題は出ないのです。
用語の意味を知らなくても、常識的な判断で正解を選べる問題もあります。
例として、今回の問題 52 を見てみましょう。「プレシデンスダイアグラム法なんて知らない!」としても、常識的な判断で正解できます。
ある会場で資格試験を実施する際のアクティビティである “受付” と “試験” の依存関係のうち、プレシデンスダイアグラム法( PDM )の開始 – 終了関係はどれか。
ア 受付の開始から 30 分経過したら,試験を開始する。
イ 受付の終了から 10 分経過したら,試験を開始する。
ウ 受付の終了から 45 分経過したら,試験を終了する。
エ 試験の開始から 20 分経過したら,受付を終了する。
「開始 - 終了関係」ですから、前側が開始であり、後側が終了となっているものを選んでみましょう。
アは「開始 - 開始」です。
イは「終了 - 開始」です。
ウは「終了 - 終了」です。
エは「開始 - 終了」です。
したがって、エが適切だと思われます。そう判断して、エを選びましょう。
解答エ
わかってしまえば「何この問題、超簡単じゃん!」という感じですが、これも今後は過去問題として再利用されるので、覚えておきましょう。
午後試験の問 1 ~問 7 は、冒頭の事例の説明になどわされないこと
ここからは、午後試験の講評をさせていただきます。
まず、前半部の問 1 ~ 問 7 です。
これは、私が試験対策講座で受講者に何度もアドバイスしていることですが、問 2 ~ 問 7 の選択問題は、冒頭にある難しそうな事例の説明にまどわされずに、設問と選択肢を見て、その問題を選択するかどうかを判断してください。
以下では、事例の説明を示さず、問題のタイトルの下に必要とされる知識だけを示しているので、どれを選ぶかを判断できるでしょう。
これと同じことを実際の試験でもやってください。
問 1 情報セキュリティ
「クラウドサービスの利用者認証」(必須問題)
- ディジタル署名で検証できること
- ディジタル署名における公開鍵と秘密鍵の使い方
「ええっ! 必要とされる知識は、たったこれだけですか?」と思われるかもしれませんが、これだけです。
このことから、午前試験なら 1 問か 2 問で済むようなことを、長々とした事例に仕立てたものが午後試験であることを知ってください。
ただし、常識的な判断、説明文を読み取る能力、そして基本的な技術用語は知っておかなければなりません。
この問題では、
「ファイウォール」
「プロキシサーバ」
「認証サーバ」
「 ID プロバイダ」
「シングルサインオン」
「 HTTP over TLS( HTTPS )」
「ディジタル署名」
「公開鍵」
「秘密鍵」
という用語が登場します。
問 2 ソフトウェア
「仮想記憶方式」
- ページング方式の仮想記憶の仕組み
- ページングアルゴリズム( FIFO と LRU )
毎度おなじみ仮想記憶方式の問題です。
午前試験でもよく出題される
LRU( Least Recently Used )
LFU ( Least Frequently Used )
FIFO( First In First Out )
というページングアルゴリズムを知っていれば、容易に正解できるでしょう。
ほぼ同じ内容の問題が、平成 25 年度 春期 午後 問 2 に出題されています。
「過去問題を学習するって重要なんだなあ!」とつくづく感じます。
問 3 データベース
「定期健康診断のデータが登録されているデータベース」
- 検索で指定するワイルドカード( % と _ )
- ORDER BY のソートの向き( ASC と DESC )
- CREATE TABLE で指定する制約( UNIQUE、検査、参照、主キー、非 NULL )
- COUNT(*) と COUNT(列名)の違い
SQL 文が主なテーマの問題です。
よく出題される SELECT 命令だけでなく、CREATE TABLE 命令と CREATE VIEW 命令も示されています。
これらは、穴埋めになっていないので、何を意味するかがわかれば OK です。
SQL の基本的な構文がしっかりわかっていれば、容易に正解できるでしょう。
問 4 ネットワーク
「eラーニングシステムの構成変更」
- IP アドレスの割り当て
- セッション ID を示す cookie
- ラウンドロビン方式の負荷分散
- M / M / 1 の待ち行列モデルの平均処理待ち時間
これまでに出題されたネットワークの問題と比べて、やや高度な内容です。
「IP アドレスの割り当て」までは容易にわかると思いますが、「セッション ID を示す cookie 」や「ラウンドロビン方式の負荷分散」は、ある程度深く学習していないとわからないかもしれません。
最後の「 M / M / 1 の待ち行列モデルの平均処理待ち時間」は、応用情報技術者では定番のテーマなのですが、基本情報技術者試験では滅多に出題されていません。
でも、安心してください。
テーマが難しそうであるほど、内容は簡単な場合が多いからです。
この問題では、以下のように「 M / M / 1 の待ち行列モデルの平均処理待ち時間」を求める式が示されています。指定された値を使って、この式の通りに計算すればよいのです。
問 5 ソフトウェア設計
「農産物の検査管理システム」
- E-R 図の読み方
- 長文の読解
新制度以降の試験でソフトウェア設計の問題を見るときには、いつも思います。「ファイル処理のフローチャートの問題じゃなければいいな!」と。
ファイル処理のフローチャートの問題は、ボリュームが多くて解くのに時間がかかるからです。
今回の問題は、「よかった! ファイル処理じゃない」です。
ただし、よく見てみると、それほど簡単ではありません。
前半部は、E-R 図の穴埋めです。長々とした説明を読んで、適切な属性を選ばねばなりません。
後半部は、これまた長々とした説明を読んで、適切な WebAPI を選ばねばなりません。なお、WebAPI とは何かを問う問題ではありません。
目的を達成するには、どの WebAPI(インターネット経由で利用できるサービス)を使えばよいかを考える問題です。
全 7 ページという、かなりボリュームの多い問題です。
問 6 プロジェクトマネジメント
「社内システムの仕様変更の扱い」
- 長文の読解
- 工数の計算
問 6 のプロジェクト系の問題と問 7 のマネジメント系の問題は、多くの場合に、特殊な知識は要求されず、前半部が長文読解(国語)で、後半部が計算(算数)です。
この問題も同様です。
後半では、人月や人員を求める工数計算を行います。工数計算は、午前試験でもよく出題されているので、午前試験の過去問題で練習しておくとよいでしょう。
これも、私が試験対策講座で受講者に何度もアドバイスしていることですが、午前試験の問題をしっかり練習することが、そのまま午後試験の対策になります。
問 7 システム戦略
「製造業における情報システムの統合」
- 長文の読解
- コストの計算
この問題も、国語と算数です。コストの計算には、特殊な計算式はいりません。一般常識的な考え方で計算できます。
このように説明すると「問 6 のプロジェクト系と問 7 のマネジメント系は簡単なんだな」と思われるかもしれませんが、そうとも限りません。内容は、難しくないのですが、長文を読まなければなりません。
そのことを考慮して、問 6 や問 7 を選ぶかどうかを判断してください。
午後試験の問 8 ~問 13 は、、具体例を想定し、選択肢をヒントにして解く
午後試験の後半部の問 8 ~ 問 13 は、どのような内容の問題だったかを示します。
問 8 は、必須であり、問 9 ~ 問 13 の選択問題も、自分のできるプログラミング言語が限られていると思いますので、選択に悩むことはないでしょう。
どの問題にも共通した解法のポイントは、具体例を想定し、選択肢をヒントにして解くことです。
label 関連タグ: テクニック 具体的な値を想定
問 8 アルゴリズム
「ハフマン符号化を用いた文字列圧縮」(必須問題)
それなりに勉強してきたはずなのに「ハフマン符号化なんて知らない!」という人が多いでしょう。
でも、心配いりません。これは、必須問題です。
ハフマン符号化を知らなくても、問題の説明を見ればわかるようになっています。
問題に具体例が示されているので、その具体例を想定して解いてください。
さらに、擬似言語のプログラムの中にコメントが数多くあります。試験問題のコメントは、コメントというよりはヒントです。
コメントを見たら「ヒントだ!」と思って、大いに注目してください。
問 11 Java
「迷路と迷路上を移動する駒」
これまでの試験では、継承や多態性などのオブジェクト指向の概念をテーマにした問題が多かったのですが、今回の問題は、アルゴリズムが主なテーマになっています。
2次元の迷路が、1 つの文字列で表されているので、それをどう処理しているかを見抜くことがポイントです。
使われている API は、これまでの試験と同様であり、コレクションの一種である java.util.List インターフェイスと java.util.ArrayList クラスです。
これまでの試験にほとんど登場しなかった enum(列挙型)が使われていて、そこに穴埋めもあります。
以下は、問題に示されたプログラムの一部です。「 enum なんて知らない!」と思ったら、この機会に調べておきましょう。
[プログラム 3]
public enum Direction {
NORTH(0, -1), EAST(1, 0), SOUTH(0, 1), WEST(-1, 0);
public int dx, dy;
private Direction(int dx, int dy) {
this.dx = dx;
this.dy = dy;
}
// クラスメソッド values は、この列挙で定義している列挙定数を,
// 定義順に格納した配列を返す。
// メソッド ordinal は, この列挙定数の定義順(先頭は 0 )を返す。
public Direction left() { return values() '[ 空欄d ]'; }
public Direction right() { return values()[(ordinal() + 1) % 4]; )
問13 表計算
「販売促進活動における販売データの利用」
表計算の問題は、例年通りの内容です。
前半部でワークシートのセルに入力する式を選び、後半部でマクロのプログラムの穴埋めをします。
前半部では、「何を求める式を、どのセルに入力するか?」と「選択肢で示されているセル番地の意味は何か?」を明確にしてから、選択肢で使われている関数の種類、引数の違い、計算内容の違いなどから「これは違う!」というものに × を付けて、消去法で答えを絞り込んでください。
今回の選択肢には、「切り捨て」関数が使われているものがあります。
以下を見て「どのような切り捨てが行われるのだろう?」と思ったなら、試験問題の末尾に掲載された表計算の仕様書で、「切り捨て」関数の機能を調べてください。
ア 切捨て( B4, -4) / 50000 * 1000
イ 切捨て( B4 * 1000, -8) / 50000
ウ 切捨て( B4 / 50000, 0) * 1000
工 切捨て( B4 / 50000 * 1000, 0)
オ 切捨て( B4 / 50000 * 1000, -4)
以上、試験対策講座の講師として、誠に勝手ながら、試験問題の講評をさせていただきました。
最後に補足説明として、今後受験される人への注意事項があります。
それは、基本情報技術者試験は、次回の 2019 年度の秋期試験から、内容の一部が見直されることです。
以下に、見直しの概要を示しますので、目を通しておいてください。それでは、またお会いしましょう!
基本情報技術者試験内容の改訂
(1)2019年の秋期試験から、午前試験で数学に関する出題比率を見直し、線形代数、確率、統計等、数学に関する出題比率を多くする。
(2)2020年の春期試験から、午後試験のプログラミング言語でCOBOLを廃止し、新たにPythonを追加する。
(3)2020年の春期試験から、午後試験の出題数、解答数、配点等を見直し、出題数および解答数を、現行の13問出題7問解答から、11問出題5問解答に変更する。
label あわせて読みたい
( 2019 年 1 月 IPA 発表)
label 関連タグ
免除試験を受けた 74.9% の方が、 科目A免除資格を得ています。
基本情報技術者試験のシラバス改定|Ver9.0の概要
update基本情報技術者試験 科目A免除試験 (旧 午前免除試験) の講評 ~ 2024年1月28日実施
update基本情報技術者試験 科目A免除試験 (旧 午前免除試験) の講評 ~ 2023年12月10日実施
update基本情報技術者試験 科目A免除試験 (旧 午前免除試験) の講評 ~ 2023年7月23日実施
update新制度・基本情報技術者試験の過去問(公開問題)からわかる難易度と対策
update新制度・基本情報技術者試験 6月の合格率も 52.7% と高水準が続く
update基本情報技術者試験 新制度で出題された過去問題を IPA が公開
update新制度・基本情報技術者試験 5月の合格率も 54.7% と高水準をキープ。 受験層は若手層に移行
update基本情報技術者試験 科目A免除試験 (旧 午前免除試験) の講評 ~ 2023年6月11日実施
update新しい基本情報技術者試験の合格率が発表! 予想通り初月は 56.4% と高水準のスタート
update『プログラムはなぜ動くのか』(日経BP)が大ベストセラー
IT技術を楽しく・分かりやすく教える“自称ソフトウェア芸人”
大手電気メーカーでPCの製造、ソフトハウスでプログラマを経験。独立後、現在はアプリケーションの開発と販売に従事。その傍ら、書籍・雑誌の執筆、またセミナー講師として活躍。軽快な口調で、知識0ベースのITエンジニアや一般書店フェアなどの一般的なPCユーザの講習ではダントツの評価。
お客様の満足を何よりも大切にし、わかりやすい、のせるのが上手い自称ソフトウェア芸人。
主な著作物
- 「プログラムはなぜ動くのか」(日経BP)
- 「コンピュータはなぜ動くのか」(日経BP)
- 「出るとこだけ! 基本情報技術者」 (翔泳社)
- 「ベテランが丁寧に教えてくれる ハードウェアの知識と実務」(翔泳社)
- 「ifとelseの思考術」(ソフトバンククリエイティブ) など多数