【勉強-テスト1】GeminiでのIT知識テスト（全20問）

# はじめに
Geminiにお願いをして、いくつか練習問題を作成してもらいました。
作った内容としては、下記のようなレベルです。
**① エンジニアを目指している専門学生の基礎レベル**
**② 上記専門学生の応用レベル**
**③ 新卒～社会人2年目程度で実践利用できるレベル**
今の自分がわかる範囲、調べてどうにかなる範囲等、自身のスキルレベルの測定に生かしていけたらと思います。

# テスト問題
## ①　エンジニアを目指している専門学生の基礎レベル（全20問）
### I. 基礎知識・一般常識（5問）
**1.コンピュータの5大装置をすべて挙げてください。**
**OSとは何ですか？その役割について簡潔に説明してください。**
**WebブラウザがWebページを表示する際、主にどのようなプロトコルを使用しますか？代表的なものを2つ挙げてください。**
**IoTとは何の略ですか？具体的な例を1つ挙げてください。**
**サイバーセキュリティにおいて、「フィッシング」とはどのような行為を指しますか？**

### II. プログラミング基礎（5問）
**以下のPythonコードを実行した際に出力される内容を記述してください。**
```python
a = 10
b = 5
if a > b:
    print("A is greater")
else:
    print("B is greater")
```
**ループ処理の代表的な種類を2つ挙げ、それぞれどのような場合に使い分けますか？**
**配列（またはリスト）とは何ですか？簡単な例を挙げて説明してください。**
**関数（またはメソッド）を使用するメリットを2つ挙げてください。**
**プログラミングにおける「デバッグ」とはどのような作業を指しますか？**

### III. ネットワーク基礎（4問）
**IPアドレスとは何ですか？その役割について簡潔に説明してください。**
**TCP/IPモデルにおいて、アプリケーション層、トランスポート層、インターネット層、ネットワークインターフェース層の4層のうち、データが最も細かく分割される層はどれですか？**
**ルーターとハブ（またはスイッチ）の役割の違いを説明してください。**
**クライアントサーバーシステムとはどのようなシステムですか？例を挙げて説明してください。**

### IV. データベース基礎（3問）
**データベースとは何ですか？なぜデータベースが必要とされますか？**
**SQLとは何の略ですか？SQLの主な用途を1つ挙げてください。**
**リレーショナルデータベースにおいて、「テーブル」「行（レコード）」「列（フィールド）」の関係性を説明してください。**

### V. 論理的思考・問題解決（3問）
**以下の数列の法則を見つけ、次にくる数字を記述してください。 1, 1, 2, 3, 5, 8, 13, ?**
**あるシステムで障害が発生しました。エンジニアとして、まず最初に行うべきことは何ですか？具体的に1つ挙げてください。**
**新しいプログラミング言語を学ぶことになりました。効率的に学習を進めるために、どのようなアプローチを取りますか？具体的な方法を2つ挙げてください。**


↑こんな感じで作成をしてもらいました。
以下、回答内容を記載しますが、もし興味のある方がいましたら、よければ一緒にやってみてください:sunny:







## 回答一覧（Gemini補足＋備考）
**1.コンピュータの5大装置をすべて挙げてください。**
**回答：**
出力装置、記憶装置、入力装置、制御装置、記憶装置
**解説**
入力装置、出力装置、記憶装置、演算装置、制御装置
>「記憶装置」が重複しています。「演算装置」が抜けています。

ノイマン型コンピュータ：コンピュータの基本的な設計思想
5大要素として、上記装置が当てはまります。
記憶装置：RAM
制御装置・演算装置：CPU
のように、各装置でデータのやり取り・管理を行い、コンピュータが起動しています。
非ノイマン型コンピュータには、ニューロコンピュータ、量子コンピュータがあります。

**OSとは何ですか？その役割について簡潔に説明してください。**
**回答：**
operatinhg systemの略でハードウェアやソフトウェアの制御・設定などの項目を管理するもの。
**解説**
>概ね合っています。役割としては「ハードウェアを管理し、アプリケーションソフトウェアが動作するための基盤を提供する」といった表現がより適切です。
補足： ユーザーとハードウェアの間の仲介役となり、メモリ管理、プロセス管理、ファイル管理なども行います。

主なOS
Windows（Microsoft社）、MacOS（apple社）、Linux（オープンソース）、Unix


**WebブラウザがWebページを表示する際、主にどのようなプロトコルを使用しますか？代表的なものを2つ挙げてください。**
**回答：**
httpとhttps


http:hypertext transfer protocol
 http+s(sequre)：　より安全にＷＥＢサイトを閲覧できる

プロトコルは4層に分かれている。(プロトコル例)
①　アプリケーション層　…http/https
②　トランスポート層 …TCP/UDP
③　インターネット層 …IP/ICMP
    ④　ネットワークインターフェース層 …PPP/Ethernet


**IoTとは何の略ですか？具体的な例を1つ挙げてください。**
**回答：**
internet of thingsの略で、エアコンのスマホからの遠隔操作が可能になるなど。


**サイバーセキュリティにおいて、「フィッシング」とはどのような行為を指しますか？**
**回答：**
メールなどでURLを送付し、開いたユーザーからの入力情報を盗むこと。
**解説**
>概ね合っています。より正確には「金融機関や有名企業などを装って」という点が重要です。
補足： 偽のメールやウェブサイトを使って、ユーザーのID、パスワード、クレジットカード情報などの個人情報を不正にだまし取る行為です。

II. プログラミング基礎（5問）
**以下のPythonコードを実行した際に出力される内容を記述してください。**
```python
a = 10
b = 5
if a > b:
    print("A is greater")
else:
    print("B is greater")
```
 **回答：**
 A is greater

 
**ループ処理の代表的な種類を2つ挙げ、それぞれどのような場合に使い分けますか？**
**回答：**
for文、while文
for文は回数が決められており、while文は特に決まっていないもの。


**配列（またはリスト）とは何ですか？簡単な例を挙げて説明してください。**
**回答：**
値の集合のこと。
**解説**
>説明が少し抽象的です。「複数のデータをひとつの変数名でまとめて扱うことができるデータ構造」という説明がより正確です。
補足： Pythonのリストで例を示すとより良いでしょう: scores = [85, 92, 78] のように、複数の数値をscoresという一つの変数で扱えます。


**関数（またはメソッド）を使用するメリットを2つ挙げてください。**
**回答：**
再利用ができることと、可読性が上がること。


**プログラミングにおける「デバッグ」とはどのような作業を指しますか？**
**回答：**
不具合を見つけ、修正を行うこと。


III. ネットワーク基礎（4問）
**IPアドレスとは何ですか？その役割について簡潔に説明してください。**
**回答：**
ネットワークの住所のようなもの。
**解説**
>比喩としては合っていますが、より技術的な言葉で「IPネットワーク上で、コンピュータやデバイスを識別するために割り当てられる固有の番号」といった説明が望ましいです。
補足： データの送受信時に、どのデバイスにデータを送るかを特定する住所のような役割を果たします。





**TCP/IPモデルにおいて、アプリケーション層、トランスポート層、インターネット層、ネットワークインターフェース層の4層のうち、データが最も細かく分割される層はどれですか？**
**回答：**
ネットワークインターフェース層。


TCP：Transmission Contorol Protocol(=伝送制御プロトコル)
IP：INternet Protocol


**ルーターとハブ（またはスイッチ）の役割の違いを説明してください。**
**回答：**
ルーターはネットワークの中継器、ハブは複数の機械を接続する。
**解説**
概ね合っていますが、ルーターは「異なるネットワーク間」の中継、ハブ（スイッチ）は「同じネットワーク内」での接続、という違いを明確にするとより良いです。
補足： スイッチは、ハブよりも賢く、特定の宛先にのみデータを送ります。

**クライアントサーバーシステムとはどのようなシステムですか？例を挙げて説明してください。**
**回答：**
メールの送受信などのシステム。
**解説**
>例は合っていますが、システムの説明が不足しています。「サービスを提供するサーバーと、そのサービスを利用するクライアントに役割が分かれたシステム」という説明が必要です。
補足： クライアントがサーバーにリクエストを送り、サーバーがそれに応じてレスポンスを返します。

IV. データベース基礎（3問）
**データベースとは何ですか？なぜデータベースが必要とされますか？**
**回答：**
データの記録・保管のため。
**解説**
>目的の一部は合っていますが、より正確な説明が必要です。「大量のデータを効率的に管理し、検索、更新、削除などを容易に行えるように整理された情報の集合体」という説明が望ましいです。
補足： データの重複排除、整合性の維持、セキュリティの確保、複数ユーザーからの同時アクセス対応、高速なデータ検索・操作のために必要とされます。

**SQLとは何の略ですか？SQLの主な用途を1つ挙げてください。**
**回答：**
structured query language
データベースの操作。


**リレーショナルデータベースにおいて、「テーブル」「行（レコード）」「列（フィールド）」の関係性を説明してください。**
**回答：**
エクセルのようなもの。
**解説**
>比喩としては理解できますが、それぞれの用語を具体的に説明する必要があります。
補足： テーブルは関連するデータをまとめたもので、スプレッドシートのように行と列で構成されます。行（レコード）はテーブルの横方向のまとまりで、個々のデータ（例：顧客情報）を表します。列（フィールド）はテーブルの縦方向のまとまりで、各行の特定の属性（例：顧客名、年齢）を表します。

V. 論理的思考・問題解決（3問）
**以下の数列の法則を見つけ、次にくる数字を記述してください。 1, 1, 2, 3, 5, 8, 13, ?**
**回答：**
21


隣り合う2つの数字の合計が次の数字になっている＝フィボナッチ数列
黄金比の計算などにも使用されているようです。

**あるシステムで障害が発生しました。エンジニアとして、まず最初に行うべきことは何ですか？具体的に1つ挙げてください。**
**回答：**
ユーザーへの影響やエラー内容のチェックなど現状の確認を行う


（リスク要因）
1️ セキュリティリスク
2️ 人的リスク（ヒューマンエラー）
3️ 自然災害リスク
4️ ハードウェア・ソフトウェアの故障

（対応ステップ）
1️ 障害の内容をチェックする
2️ 関係部門や担当者に連絡を行なう
3️ 障害の影響を調査する
4 障害の原因を解明する
5️ 復旧作業を行なう
6️ 事後対応を行ない再発防止に努める

**新しいプログラミング言語を学ぶことになりました。効率的に学習を進めるために、どのようなアプローチを取りますか？具体的な方法を2つ挙げてください。**
**回答：**
動画での学習や教材の確保。練習を通し、学ぶ。


認知心理学の勉強をした際に、印象に残っている内容で、認知特性とVAKタイプがあります。
**認知特性**
視覚優位・言語優位・聴覚優位
**VAKタイプ**
視覚（Visual）・聴覚（Auditory）・身体感覚（Kinesthetic）
人は外部から情報を得る際に優位に働く感覚があります。
個人差があり、タイプわけもいくつかあったりしますが、この優位に働く感覚があると知っているだけで自分のマネジメントだけでなく、他社へのコミュニケーションにも生かせたりします。
自分に合った勉強法をするということは、自分が入れやすい情報を知り、そこを優先的に入れられるような勉強方法を選択する、ということなのかなと思っていますので、もし勉強方法への悩みなどがあれば、まず自身の特性から図ってみるといいのかなと思います。

# 終わりに
テストを受けてみて、少しずつ知識がついてきたのを実感しました。
やはり生活に紐づいている内容も多く、自身の周りに興味を持って過ごすことでより知識を得られるのではないかと思います。
また、一段階ステップアップをしたテストを今後やっていきます。

# 参考サイト・資料
udemy:今西航平氏「非エンジニアのためのIT用語100選」
RDB（リレーショナルデータベース）とは｜NoSQLとの違いやメリットを紹介https://business.ntt-east.co.jp/content/cloudsolution/column-338.html
理想的な障害対応の流れとは？〜6つのStep、6つのポイント〜https://www.pagerduty.co.jp/blog/what-is-incident-response-process
ITリスク管理 (マネジメント)の必要性を解説!〜障害発生に備える必須対策〜https://www.pagerduty.co.jp/blog/what-is-risk-management
【コラム】認知特性とは？https://www.cogtem.com/aboutcog/ninchitokusei/
仕事や恋愛、そして人生に活用できるNLPのVAKとはhttps://www.nlpjapan.co.jp/nlp-focus/nlp-vak.html