「厳選5題」過去問と解説|令和元年度 秋期 の過去問やるならこれをやれ


2020-09-08 更新

ここでは、令和元年度 秋期 基本情報技術者試験の午前試験 の中から「やるべき問題」を 5 題に厳選し、ぶっちゃけた解説をさせていただきます。

やるべき問題とは、よく出る問題であり、かつ、練習すればできる問題(練習しないとできない問題)です。

info 本記事ではわかりやすいよう、問題にシンタックスハイライトを入れています

【厳選問題 1 】
増分バックアップと差分バックアップの違いを覚えよう

問 19 (令和元年度 秋期)

バックアップ方式の説明のうち,増分バックアップはどれか。ここで,最初のバックアップでは,全てのファイルのバックアップを取得し,OS が管理しているファイル更新を示す情報はリセットされるものとする。

最初のバックアップの後,ファイル更新を示す情報があるファイルだけをバックアップし,ファイル更新を示す情報は変更しないでそのまま残しておく。
最初のバックアップの後,ファイル更新を示す情報にかかわらず,全てのファイルをバックアップし,ファイル更新を示す情報はリセットする。
直前に行ったバックアップの後,ファイル更新を示す情報があるファイルだけをバックアップし,ファイル更新を示す情報はリセットする。
直前に行ったバックアップの後,ファイル更新を示す情報にかかわらず,全てのファイルをバックアップし,ファイル更新を示す情報は変更しないでそのまま残しておく。
解説

データのバックアップ方式には、問題文に示された「増分バックアップ」の他にも、「差分バックアップ」と「フルバックアップ」があります。

選択肢は、いずれかのバックアップ方式に該当するものとなっていますので、この問題を通して、バックアップ方式の種類をまとめて覚えましょう。

 

最初に、最もわかりやすいフルバックの説明をしましょう。

フルバックは、フル( full = 全て)という言葉が示す通り、全てのデータをバックアップします。選択肢の中では、「全てのファイルをバックアップし」と示されている選択肢イと選択肢エが、フルバックアップに該当します。

次に、増分バックアップと差分バックアップを説明しましょう。

増分バックアップは、直前に行われた何らかのバックアップ(フルバックアップ、増分バックアップ、差分バックアップ)から、変更のあった部分(これが増分です)だけをバックアップします。

差分バックアップは、直前に行われたフルバックアップから変更のあった部分(これが差分です)をバックアップします。

 

増分と差分の違いがよくわからないと思いますので、具体例を示しましょう。

休日の日曜日にフルバックアップを取り、月曜日~土曜日の業務時間終了後にフルではないバックアップを取るとしましょう。

  • 増分バックアップの場合は、それぞれの曜日に、前日からの変更分だけのバックアップを取ります
  • 差分バックアップの場合は、それぞれの曜日に、日曜日からの変更分のバックアップを取ります
曜日 増分バックアップ 差分バックアップ
フルバックアップ フルバックアップ
月曜日の変更分だけバックアップ 月曜日の変更分をバックアップ
火曜日の変更分だけバックアップ 月~火曜日の変更分をバックアップ
水曜日の変更分だけバックアップ 月~水曜日の変更分をバックアップ
木曜日の変更分だけバックアップ 月~木曜日の変更分をパックアップ
金曜日の変更分だけパックアップ 月~金曜日の変更分をバックアップ
土曜日の変更分だけバックアップ 月~土曜日の変更分をパックアップ

増分バックアップと差分バックアップの違いがわかっても、どっちがどっちなのかを覚えにくいでしょう。

英語で示すと、増分は increment(増加)であり、差分は difference(違い)です。このことから「前日からの増加が増分であり、フルバックアップとの違いが差分である」のように、自分流の覚え方を考えてください。

 

それでは、残りの選択肢を見てみましょう。

選択肢ア
ファイル更新を示す情報があるファイルだけをバックアップして、ファイル更新を示す情報は変更しないのですから、前日にバックアップしたファイルも次の日にバックアップすることになります。これは、差分バックアップです。
選択肢ウ
ファイル更新を示す情報があるファイルだけをバックアップして、ファイル更新を示す情報をリセットするのですから、前日にバックアップしたファイルは次の日にバックアップしないことになります。これは、増分バックアップです。

増分バックアップの説明を選ぶ問題なので、選択肢ウが正解です。

解答 ウ

【厳選問題 2 】
SQL のグループ化のポイントをつかもう

問 26 (令和元年度 秋期)

“得点” 表から,学生ごとに全科目の点数の平均を算出し,平均が 80 点以上の学生の学生番号とその平均点を求める。a に入れる適切な字句はどれか。ここで,実線の下線は主キーを表す。

得点(学生番号, 科目, 点数)

〔 SQL 文〕

SELECT 学生番号, AVG(点数)
FROM 得点 GROUP BY [   a   ]
ア 科目 HAVING AVG(点数) >= 80
イ 科目 WHERE 点数 >= 80
ウ 学生番号 HAVING AVG(点数) >= 80
エ 学生番号 WHERE 点数 >= 80 

infoSQL 文は右にスクロールできます

解説

SQL の SELECT 命令でデータを取得するときに、 GROUP BY 列名 と指定することで、データをグループ化できます。

グループ化した場合は、SELECT のあとに指定できるのは、GROUP BY のあとにある列か、AVG 関数や MAX 関数などの集約関数だけです。なぜだかわかりますか?

それは、グループ化したのに、グループの個々のデータを取得できたらおかしいからです。

たとえば、この問題とは違う例ですが、社員を「性別」でグループ化したときに、「男性」というグループから「山田太郎」という個々の「氏名」を取得できたらおかしいでしょう。

「男性」グループから抽出できるのは、「男性」という性別および、そのグループの年齢の平均値や最大値などだけです。

 

それでは、問題を見てみましょう。

選択肢アとイは、 GROUP BY 科目 であり、選択肢ウとエは、 GROUP BY 学生番号 です。SELECT のあとに指定されているのは 学生番号 という列名と AVG(点数) という集約関数です。

したがって、 GROUP BY 学生番号 となっている選択肢ウとエが適切です。

さらに、問題文に「平均が 80 点以上」という条件が示されているので、 HAVING AVG(点数) >= 80 の選択肢ウが正解です。

グループに条件を指定するときは、 WHERE ではなく HAVING を使うことも覚えておいてください。

 

解答 ウ

searchタグで関連記事をチェックSQL

【厳選問題 3 】
この機会に CSMA/CD という長い略語の意味を覚えよう

問 31 (令和元年度 秋期)

CSMA / CD 方式の LAN に接続されたノードの送信動作として,適切なものはどれか。

各ノードに論理的な順位付けを行い,送信権を順次受け渡し,これを受け取ったノードだけが送信を行う。
各ノードは伝送媒体が使用中かどうかを調べ,使用中でなければ送信を行う。衝突を検出したらランダムな時間の経過後に再度送信を行う。
各ノードを環状に接続して,送信権を制御するための特殊なフレームを巡回させ,これを受け取ったノードだけが送信を行う。
タイムスロットを割り当てられたノードだけが送信を行う。
解説

もしも、この問題のテーマとなっている「 CSMA / CD 」という長い略語の意味をご存じでないなら、この機会にぜひ覚えてください。

Carrier Sense Multiple Access with Collision Detection( / は with を意味します)です。これは、LAN のプロトコルとしてよく使われているイーサネットの接続方式を示した言葉です。

 

イーサネットに接続された通信機器がデータを送る場合の送信動作を以下に示します。

  1. まずケーブル上に他の信号が流れていないことを確認します。これが、Carrier Sense(キャリア信号の確認)です
  2. もしも、他の信号が流れていないならデータを送り、そうでないなら信号がなくなるまで待機します。これによって、複数の通信機器が同じケーブルを利用できます。
    これが、Multiple Access(複数が利用する)です
  3. 複数の通信機器が同時にデータを送った場合には、衝突が起こりそれが検知されます。これが、with Collision Detection(衝突の検出付き)です
  4. 衝突が起きた場合は、お互いにランダムな時間待機して、データを再送します

この仕組みをまとめて、CSMA / CD = Carrier Sense Multiple Access with Collision Detection と呼ぶのです。

図 CSMA / CD方式の送信動作

それでは、問題の選択肢を見てみましょう。

選択肢の中にある「ノード」とは、ネットワークに接続された通信機器のことです。CSMA / CD に該当するのは、

「伝送媒体が使用中かどうかを調べ( Carrier Sense )」
「送信中でなければ通信を行う(それによって複数ノードが利用できるので Multiple Access )」
「衝突を検出したら( Collision Detection )」

とある、選択肢イです。

 

解答 イ

【厳選問題 4 】
試験によく出るネットワーク構成を知っておこう

問 42 (令和元年度 秋期)

1 台のファイアウォールによって,外部セグメント,DMZ,内部セグメントの三つのセグメントに分割されたネットワークがあり,このネットワークにおいて,Web サーバと,重要なデータをもつデータベースサーバから成るシステムを使って,利用者向けの Web サービスをインターネットに公開する。インターネットからの不正アクセスから重要なデータを保護するためのサーバの設置方法のうち,最も適切なものはどれか。ここで,Web サーバでは,データベースサーバのフロントエンド処理を行い,ファイアウォールでは,外部セグメントと DMZ との間,及び DMZ と内部セグメントとの間の通信は特定のプロトコルだけを許可し,外部セグメントと内部セグメントとの間の直接の通信は許可しないものとする。

Web サーバとデータベースサーバを DMZ に設置する。
Web サーバとデータベースサーバを内部セグメントに設置する。
Web サーバを DMZ に,データベースサーバを内部セグメントに設置する。
Web サーバを外部セグメントに,データベースサーバを DMZに設置する。
解説

社内のネットワーク構成には、様々な形式がありますが、基本情報技術者試験では、よく出る定番の構成があります。

それは、以下に示したように、DMZ(=非武装地帯)内部セグメントの 2 つのネットワークをファイアウォールで区切る、という構成です。

図 試験によく出る定番のネットワーク構成

  • ファイアウォールの役割
    • 外部セグメント(インターネット)と内部セグメントの通信を禁止
    • 外部セグメントと DMZ の通信、および内部セグメントと DMZ の通信を許可
  • 構成のパターン
    • 外部セグメントから直接利用される Web サーバ、メールサーバ、プロキシサーバ(代理人サーバ)などを DMZ に設置
    • 重要なデータを持つデータベースサーバやユーザーが業務を行う端末( PC )を 内部セグメント に設置

外部セグメントからデータベースサーバを利用する場合は、DMZ にある Web サーバを介して間接的に使うことになります。

内部セグメントにある端末からインターネットにアクセスする場合は、DMZ にあるプロキシサーバを介して間接的にアクセスすることになります。

 

それでは、選択肢を見てみましょう。

この問題に登場するのは、Web サーバとデータベースサーバです。Web サーバを DMZ に設置して、データベースサーバーを内部セグメントに設置する、と説明している選択肢ウが正解です。

 

解答 ウ

searchタグで関連記事をチェックネットワーク

【厳選問題 5 】
テストにおけるスタブとドライバの役割を知っておこう

問 48 (令和元年度 秋期)

テストで使用するスタブ又はドライバの説明のうち,適切なものはどれか。

スタブは,テスト対象モジュールからの戻り値の表示・印刷を行う。
スタブは,テスト対象モジュールを呼び出すモジュールである。
ドライバは,テスト対象モジュールから呼び出されるモジュールである。
ドライバは,引数を渡してテスト対象モジュールを呼び出す。
解説

基本情報技術者試験には、かなり地味な用語なのですが、よく出るものがあります。この問題のテーマになっている「スタブ」「ドライバ」は、その好例です。

日本語に直訳すると、スタブ( stub )は「木の切り株」という意味で、ドライバ( driver )は「運転手」という意味です。これらは、プログラムのテストに関する用語です。

 

一般的に、1 つのシステムは、複数のモジュール(構成要素)に分けて開発されます。

図 上位モジュールと下位モジュール

モジュールには、上位モジュール(他のモジュールを使う側のモジュール)と、下位モジュール(他のモジュールから使われる側のモジュール)があります。

たとえば、main というモジュールがあり、その中で sub というモジュールを使っている場合は、main が上位モジュールで、sub が下位モジュールです。

  • モジュールを使うことを「呼び出す」と呼びます
  • モジュールに渡して処理させるデータを「引数(ひきすう)」と呼びます
  • モジュールが処理結果として返すデータを「戻り値」と呼びます
スタブ
上位モジュールを単独でテストするときには、テスト用の下位モジュールを作ります。これが「スタブ」です。
スタブは、上位モジュールから渡された引数を表示や印字するので、引数の内容が適切であるかどうかを確認できます。
図 スタブの役割

ドライバ
下位モジュールを単独でテストするときには、テスト用の上位モジュールを作ります。これが「ドライバ」です。
ドライバは、下位モジュールから返された戻り値を表示や印字するので、戻り値の内容が適切であるかどうかを確認できます。
図 ドライバの役割

それでは、問題の選択肢を見てみましょう。

スタブは、テスト対象の上位モジュールからの引数の表示や印字を行うので、選択肢アは不適切です。
スタブは、テスト対象の上位モジュールから呼び出されるモジュールなので、選択肢イは不適切です。
ドライバは、テスト対象の下位モジュールを呼び出すモジュールなので、選択肢ウは不適切です。
ドライバは、引数を渡してテスト対象の下位モジュールを呼び出すので、選択肢エは適切です。

したがって、選択肢エが正解です。

 

解答 エ

記事をお読みいただきありがとうございます。

もしも、一度解いただけでは、よくわからない問題があったなら、わかるまで何度でも練習してください。「やるべき問題」は「わかるまでやるべき問題」だからです。

この厳選問題大全集が、受験者の皆様のお役に立てば幸いです。

 

label 関連タグ
実は、午前試験を『免除』できます 独習ゼミで午前免除試験を受けた 86% の方が、
午前試験を免除しています。
今なら最大 2 回の
午前免除チャンス
info_outline
今なら最大 2 回の
午前免除チャンス
詳しく見てみるplay_circle_filled
label これまでの『厳選5題 過去問と解説』の連載一覧 label 著者

『プログラムはなぜ動くのか』(日経BP)が大ベストセラー
IT技術を楽しく・分かりやすく教える“自称ソフトウェア芸人”

大手電気メーカーでPCの製造、ソフトハウスでプログラマを経験。独立後、現在はアプリケーションの開発と販売に従事。その傍ら、書籍・雑誌の執筆、またセミナー講師として活躍。軽快な口調で、知識0ベースのITエンジニアや一般書店フェアなどの一般的なPCユーザの講習ではダントツの評価。
お客様の満足を何よりも大切にし、わかりやすい、のせるのが上手い自称ソフトウェア芸人。

主な著作物

  • 「プログラムはなぜ動くのか」(日経BP)
  • 「コンピュータはなぜ動くのか」(日経BP)
  • 「出るとこだけ! 基本情報技術者」 (翔泳社)
  • 「ベテランが丁寧に教えてくれる ハードウェアの知識と実務」(翔泳社)
  • 「ifとelseの思考術」(ソフトバンククリエイティブ) など多数