AIを使って問題を作成しています。
Prompt:
ITパスポートもしくは基本情報技術者試験に出てきそうな問題を作ってください。
問題1 [ネットワーク]
次のうち、インターネット上でWebサーバーとクライアントの間でデータをやり取りするために使用されるプロトコルはどれですか?
A. FTP
B. SMTP
C. HTTP
D. TCP
解説
正解は C. HTTP (Hypertext Transfer Protocol)
解説:
- HTTPは、WebブラウザとWebサーバー間でデータを送受信するための基本的なプロトコルです。
- FTP (File Transfer Protocol)はファイル転送用のプロトコルです。
- SMTP (Simple Mail Transfer Protocol)は電子メールの送信に使用されます。
- TCP (Transmission Control Protocol)は通信の基礎となる信頼性の高い通信プロトコルですが、直接Webデータをやり取りするものではありません。
HTTPSは、HTTPにセキュリティ機能を追加した暗号化通信プロトコルで、現在のWebではより安全な通信に使用されています。
問題2 [情報セキュリティ]
次のうち、総当たり攻撃 (ブルートフォース攻撃) に関する説明として正しいものはどれですか?
A. ソーシャルエンジニアリングを利用してパスワードを推測する攻撃方法
B. 暗号化されたデータを解読するために、考えられるすべての組み合わせを試す攻撃方法
C. ネットワーク上の脆弱性を探査し、侵入経路を見つける攻撃方法
D. マルウェアを使用してシステムに不正にアクセスする攻撃方法
解説
正解は B. 暗号化されたデータを解読するために、考えられるすべての組み合わせを試す攻撃方法
解説:
- 総当たり攻撃(ブルートフォース攻撃)は、パスワードやデータ暗号化の鍵などに対して、考えられるすべての組み合わせを機械的に試す攻撃手法です。
- コンピュータの処理能力を使って、無作為に、または系統的にあらゆる可能性のある組み合わせを試します。
- この攻撃は時間がかかりますが、複雑なパスワードや暗号化に対しては非常に非効率的です。
- セキュリティ対策として、複雑なパスワード、多要素認証、ログイン試行回数の制限などが有効です。
A. ソーシャルエンジニアリング
C. 脆弱性探査
D. マルウェア攻撃
これらはそれぞれ別の攻撃手法を指しています。
問題3 [データベース]
リレーショナルデータベースにおける「主キー」の正しい説明はどれですか?
A. 他のテーブルから参照される列
B. テーブル内で重複を許可する列
C. テーブル内の各レコードを一意に識別できる列
D. テーブル内で最も重要な情報を格納する列
解説
正解は C. テーブル内の各レコードを一意に識別できる列
解説:
- 主キー(Primary Key)は、テーブル内の各レコードを一意に特定できる列または列の組み合わせです。
- 主キーの特徴:
- 重複した値を持つことができない
- NULL値を許可しない
- テーブル内の各行を一意に識別する
- 例:顧客テーブルでは顧客ID、注文テーブルでは注文番号などが主キーになることがあります。
- A. 外部キー(Foreign Key)は他のテーブルを参照する列を指します。
- B. 重複を許可しない点で誤りです。
- D. 「最も重要」という基準は曖昧で、主キーの定義に適合しません。
主キーは、データベースの整合性と関連性を保証する重要な概念です。
問題4 [アルゴリズムとデータ構造]
次のうち、先入れ先出し(FIFO: First In First Out)の特徴を持つデータ構造はどれですか?
A. スタック
B. キュー
C. ツリー
D. ハッシュテーブル
解説
正解は B. キュー
解説:
- キュー(Queue)は、最初に入れたデータを最初に取り出すFIFO(First In First Out)の特徴を持つデータ構造です。
- 実生活の例:
- 人が並ぶ行列
- プリンターの印刷待ち行列
- A. スタック:後入れ先出し(LIFO: Last In First Out)の特徴を持ちます。
- 例:関数呼び出しのスタック、Undo機能
- C. ツリー:階層的なデータ構造で、FIFOやLIFOの特徴は持ちません。
- D. ハッシュテーブル:キーと値のペアを保存するデータ構造で、順序の概念はありません。
キューは、バッファやタスクスケジューリングなど、様々なコンピューティングシステムで重要な役割を果たします。
問題5 [情報システム]
システム開発におけるウォーターフォールモデルの特徴として、正しいものはどれですか?
A. 各工程を柔軟に行き来でき、顧客からのフィードバックをすぐに反映できる
B. 上流工程から下流工程へと順番に進み、各工程を完了してから次の工程に進む
C. プロトタイプを早期に作成し、継続的に改善していく
D. チーム全体で並行して作業を進めることを重視する
解説
正解は B. 上流工程から下流工程へと順番に進み、各工程を完了してから次の工程に進む
解説:
-
ウォーターフォールモデルは、従来型の系統的なソフトウェア開発モデルです。
-
主な特徴:
- 順序立てて段階的に進行
- 各工程を完全に完了してから次の工程に移行
- 工程間の移動が制限されている
-
工程の典型的な順序:
- 要件定義
- 基本設計
- 詳細設計
- 実装
- テスト
- 運用
-
A. アジャイル開発の特徴に近いです。
-
C. プロトタイプモデルの特徴です。
-
D. アジャイル開発やスクラムの特徴に近いです。
ウォーターフォールモデルは、要件が明確で変更の少ないプロジェクトに適していますが、柔軟性に欠けるという批判もあります。