基本情報技術者試験とは?傾向は?過去問は役に立つ?AIに予想問題を作らせてみた

基本情報技術者試験とは?傾向は?過去問は役に立つ?AIに予想問題を作らせてみた

基本情報技術者(通称:FE)は、情報処理技術者試験の一つで、ITを扱う上で必要となる基本的な知識と技能を証明する国家資格です。この試験は、IT業界にこれから飛び込む方や、ITを専門としないけれどITを活用する仕事に就きたい方など、幅広い層を対象としています。

この資格を持つ人は、単にIT用語を知っているだけでなく、情報システムの開発・運用・保守といった一連のプロセスや、ネットワーク、データベース、セキュリティなどの技術要素について、基本的なレベルで理解していることが認められます。また、ITを活用した経営戦略や、プロジェクト管理に関する知識も問われるため、IT分野における「ジェネラリスト」としての基礎力を証明できるのが大きな特徴です。

試験の難易度と合格率について

情報処理技術者試験の中では、比較的挑戦しやすい試験として位置づけられています。合格率は、年によって変動しますが、おおよそ20%から30%前後で推移しています。この数字からも、ただの入門レベルではなく、しっかりとした学習が必要であることがお分かりいただけるかと思います。


 

試験の出題傾向はどのように変わってきていますか?

基本情報技術者試験は、2023年4月に大幅な試験制度の変更がありました。これまでの午前・午後の二部構成から、科目A・科目Bの二部構成に変わり、出題形式も大きく変わりました。 この変更は、近年のITトレンドをより反映し、実践的なスキルを重視する意図があります。

科目Aの傾向

科目Aは、これまでの午前問題に相当する内容で、IT全般に関する基礎知識が問われます。

  • 出題分野: テクノロジ(IT技術)、マネジメント(プロジェクト管理など)、ストラテジ(経営戦略など)の3分野から幅広く出題されます。
  • 出題形式: 四肢択一形式で、知識を問う問題が中心です。
  • 傾向: 旧試験から大きな変更はありませんが、クラウドやAI、IoT、アジャイル開発といった、新しい技術や手法に関する問題が増えています。

科目Bの傾向

科目Bは、これまでの午後問題に相当する内容ですが、出題形式が大きく変更されました。

  • 出題分野: アルゴリズムとプログラミング、情報セキュリティ、データ構造とアルゴリズムなど、より実践的な内容に特化しています。
  • 出題形式: 複数選択式や、空欄補充形式で、与えられたプログラムや仕様を読み解き、論理的に回答する能力が問われます。
  • 傾向: 旧試験では選択式だったプログラミング言語が、疑似言語という共通の記述形式に統一されました。 これにより、特定の言語に依存しない、より本質的なプログラミング的思考力が問われるようになりました。

科目Bは、単に知識を問うだけでなく、問題解決能力や論理的思考力を試す内容に変わったため、過去問を解く際も、新しい出題形式に合わせた対策が必要です。


 

過去問は試験対策に役立ちますか?

過去問は基本情報技術者試験の対策において、非常に重要な役割を果たします。特に、新しい試験制度になったことで、過去問の活用方法にも少し工夫が必要になりました。

 

旧試験の過去問の活用法

  • 午前問題: 旧試験の午前問題は、現在の科目Aの対策にそのまま活用できます。特に、頻出分野や苦手分野を見つけるために、多くの過去問を解くことが有効です。
  • 午後問題: 旧試験の午後問題は、現在の科目Bとは出題形式が異なりますが、「問題解決の考え方」や「論理的思考のプロセス」を学ぶ上で非常に役立ちます。特に、アルゴリズムやプログラミングの問題は、解き方を学ぶ良い教材になります。

 

新試験(科目A・科目B)の過去問の活用法

  • 科目A: 過去に実施された科目Aの試験問題は、そのまま本番の練習として活用できます。
  • 科目B: 新しい試験制度になってから公開された過去問は、現在の試験形式に最も近いので、これを徹底的に解くことが最も重要です。疑似言語に慣れるためにも、繰り返し解いてみましょう。

過去問を解く際は、「なぜその答えになるのか」を深く考察し、解説をしっかり読み込むことが大切です。また、時間配分の感覚を養うためにも、本番と同じように時間を測って解く練習をすることをおすすめします。


 

効果的な学習対策はありますか?

基本情報技術者試験に合格するためには、計画的で効率的な学習が不可欠です。以下に、おすすめの学習方法をいくつかご紹介しますね。

 

1. 科目A対策の進め方

  • 基礎知識のインプット: 市販の参考書を使って、テクノロジ、マネジメント、ストラテジの分野を体系的に学習しましょう。特に、普段の仕事で馴染みのない分野(例えば、ITを専門としない方にとってのネットワーク技術や、技術者にとっての経営戦略など)は、丁寧に学習することが大切です。
  • 過去問の反復演習: 過去問や予想問題集を繰り返し解くことで、知識を定着させます。間違えた問題は、解説を読み、なぜ間違えたのかを理解することが重要です。

 

2. 科目B対策の進め方

  • 疑似言語の理解: 疑似言語は、特定のプログラミング言語を知らなくても、プログラミング的思考力を問うためのものです。まずは、疑似言語のルールや記述方法をしっかりと理解しましょう。
  • アルゴリズム学習: アルゴリズムは、問題を解くための手順や考え方です。簡単なアルゴリズム(ソートや探索など)から順に学び、徐々に複雑な問題に挑戦していくと良いでしょう。
  • 実践演習: 科目Bの過去問を解く際は、問題文をしっかりと読み込み、何が求められているのかを正確に把握する練習を重ねましょう。特に、プログラムの実行結果を追うような問題は、手を動かして図に書き出すなどして、丁寧に追っていくと良いでしょう。

 

3. 専門用語を分かりやすく理解する

この試験には多くの専門用語が出てきます。例えば、「IPアドレス」や「データベース」、「OS」、「クラウド」などです。これらの用語をただ覚えるだけでなく、どのような仕組みで、何のために使われているのかを、身近な例え話などを交えて理解すると、記憶に残りやすくなります。

例えば、「IPアドレス」は、インターネット上の住所のようなものだと考えてみましょう。私たちが手紙を送る時に住所が必要なように、コンピュータも通信相手を見つけるためにIPアドレスという住所を使います。このように、専門用語を自分の言葉で説明できるようになることが、深い理解につながります。


 

どのような仕事に役立ちますか?

基本情報技術者試験の資格は、IT業界のさまざまな職種や、ITを活用する多くの仕事であなたの基礎力を証明し、キャリアアップに繋がります。

 

1. システムエンジニア/プログラマー

ITシステムの開発に携わる上で、この資格で得られる知識は必須の基礎となります。要件定義、設計、開発、テストといった各工程で、必要な知識を身につけることができます。

 

2. ITコンサルタント/ITセールス

お客様に最適なITソリューションを提案する際、ITに関する幅広い知識が求められます。この資格を持つことで、お客様の課題を理解し、適切な提案ができるようになります。

 

3. 企業のIT部門

自社の情報システムを管理・運用する部門でも、この資格は非常に重宝されます。システムのトラブル対応や、新しいシステムの導入検討など、幅広い業務で基礎知識を活かすことができます。

 

4. ITを専門としない職種

事務職や営業職など、ITを専門としない職種でも、パソコンやITシステムを使う機会は多いですよね。この資格を持つことで、システムをより効率的に活用したり、セキュリティリスクを理解して対策を講じたりと、仕事の幅が広がります。


 

転職時には有利になりますか?

基本情報技術者試験の資格は、転職活動において非常に有利に働きます。特に、IT業界への未経験での転職や、キャリアチェンジを考えている方にとっては、大きな武器となります。

 

1. 意欲と基礎力の証明

履歴書にこの資格を記載することで、「ITの基礎を体系的に学び、実践的なスキルを身につけようという意欲がある」ことを、採用担当者に明確にアピールできます。未経験者にとっては、この「学習意欲」と「基礎力」の証明が非常に重要になります。

2. 企業からの高い評価

多くのIT企業では、新入社員の研修の一環として、基本情報技術者試験の取得を推奨しています。そのため、入社前にこの資格を取得していることは、即戦力とまではいかないまでも、「入社後の成長が見込める人材だ」と評価されることがよくあります。

3. 信頼性の向上

国が認定する国家資格であるため、その信頼性は非常に高いです。お客様や取引先に対しても、あなたのITに関する基礎知識を証明することができ、ビジネスの場で有利に働くことがあります。


 

AIに奪われる可能性は?これからも必要とされますか?

「AIが発展したら、ITの基礎知識もAIに教えてもらえばいいのでは?」というご不安は、多くの方がお持ちだと思います。結論から申し上げますと、基本情報技術者のような基礎的な知識は、これからも必要とされ続ける可能性が非常に高いです。むしろ、AIを使いこなす上で、その基礎知識がより重要になっていくと私は考えています。

 

AIと基本情報技術者試験の関係

たしかに、AIはコードの自動生成や、データの分析、システムの設計を支援する能力に長けています。しかし、AIが生成したものが本当に正しいのか、意図した通りに動くのかを判断するためには、人間がITの基礎知識をしっかりと持っていることが不可欠です。

  • AIの提案を評価する能力: AIは、複数の解決策を提案してくれるかもしれませんが、その中からビジネスの状況や、技術的な制約を考慮して、最適なものを選ぶのは人間の役割です。この判断を下すためには、ITの基礎知識がなければできません。
  • AIの限界を理解する能力: AIは万能ではありません。AIが苦手なことや、適用できない場面も多くあります。こうしたAIの限界を理解し、AIと人間が協業できる最適な形を考えるためには、ITの基礎知識がなければ難しいです。
  • AIとの対話能力: AIを効果的に使うには、AIに適切な指示を出す必要があります。この「適切な指示」を出すためには、ITの専門用語や、システム開発のプロセスを理解していることが非常に重要になります。

 

これからの基本情報技術者の役割

AIの進化は、基本情報技術者の仕事を奪うのではなく、むしろ、より高度で創造的な業務に集中できる環境を整えてくれるものと捉えるべきです。

これからの基本情報技術者は、AIを「ツール」として使いこなしながら、以下のような役割を担っていくことになります。

  • AIが生成したものを正しく評価し、ビジネスに適用する人: AIが生成したコードや設計案が、本当に企業の要件を満たしているかを判断し、ビジネスに活かす役割です。
  • AIを組み込んだ新しいシステムを開発する人: AIを活用した新しいサービスやシステムを開発する上で、ITの基礎知識は必須となります。
  • AIを適切に活用するための知識を持つ人: 企業のIT部門で、AIを導入する際の計画立案や、社員への教育を行う役割です。

このように、AIが進化すればするほど、その技術を深く理解し、適切に活用できる、基本情報技術者のような基礎知識を持つ人材の価値は、ますます高まっていくと私は考えています。


情報のまとめと次に進むためのアドバイス

基本情報技術者試験について、幅広くご説明してまいりました。最後に、これまでの内容を整理し、あなたがこれからの一歩を踏み出すためのアドバイスをお伝えしますね。

この記事の主要なポイント

  • 基本情報技術者とは: ITの基礎を体系的に学ぶための「登竜門」となる国家資格です。
  • 試験の傾向: 2023年4月に試験制度が変更され、より実践的なスキルやプログラミング的思考力が問われるようになりました。
  • 過去問の活用: 新旧両方の過去問を活用することで、知識の定着と論理的思考力の両方を鍛えることができます。
  • キャリアへのメリット: 意欲と基礎力の証明、転職での優位性、そして幅広い職種での活躍が期待できます。
  • AIとの未来: AIはツールであり、基本情報技術者で得られる知識は、AIを使いこなす上で不可欠なものとなり、これからも必要とされる存在であり続けます。

もし、あなたがこの資格に少しでも興味を持たれたのでしたら、まずは情報処理推進機構(IPA)の公式サイトで、新しい試験制度の概要や、サンプル問題をご覧になってみてください。特に科目Bの疑似言語の問題に目を通すだけでも、「どのような問題が問われるのだな」という具体的なイメージが掴めるかと思います。

基本情報技術者試験・予想問題(AI作成)

以下に、基本情報技術者試験の想定問題を50問ご用意しました。選択式と事例を織り交ぜ、各問に初心者向けの解説を付けています。解答は各問の直後に示しています。

  1. ビットとバイトの基礎
    問題:1 KiB は何バイトか。
    A. 1000 B B. 1024 B C. 1000 KB D. 1024 KB
    正解:B
    解説:KiB は2進接頭辞で、1 KiB=2の10乗=1024バイトです。
  2. 2進数から10進数へ
    問題:2進数 101101₂ は10進数でいくつか。
    A. 43 B. 45 C. 46 D. 49
    正解:B
    解説:桁ごとに32+8+4+1=45です。
  3. 16進数の加算
    問題:0x3A と 0xC7 の和は。
    A. 0x100 B. 0x101 C. 0x10A D. 0x1A1
    正解:B
    解説:0x3A(58)+0xC7(199)=257=0x101です。
  4. 2の補数の範囲
    問題:8ビット符号付き2の補数表現の最小値は。
    A. −127 B. −128 C. 0 D. −255
    正解:B
    解説:範囲は−128〜+127です。最小値は−128になります。
  5. 浮動小数点の基礎
    問題:IEEE754単精度の仮数部(小数部)のビット数は。
    A. 10 B. 16 C. 23 D. 52
    正解:C
    解説:単精度は符号1、指数8、仮数23ビットです。倍精度の仮数は52ビットです。
  6. 論理式の簡単化
    問題:A かつ (Ā または B) を簡単化すると。
    A. A B. B C. A かつ B D. A または B
    正解:A
    解説:分配法則より A∧(Ā∨B)=(A∧Ā)∨(A∧B)=偽∨A=A です。
  7. ド・モルガンの法則
    問題:¬(A ∧ B) と等価なのは。
    A. ¬A ∧ ¬B B. ¬A ∨ ¬B C. A ∨ B D. A ∧ B
    正解:B
    解説:否定は積を和に、和を積に変え、各項を否定します。
  8. 計算量の見積もり
    問題:外側が n 回、内側が i=1..n に対して j=1..i ループする処理の時間計算量は。
    A. O(n) B. O(n log n) C. O(n²) D. O(2ⁿ)
    正解:C
    解説:1+2+…+n=n(n+1)/2 でオーダーは n² です。
  9. 安定なソート
    問題:同一キーの相対順が保持される「安定ソート」はどれか。
    A. 選択ソート B. クイックソート C. マージソート D. ヒープソート
    正解:C
    解説:一般的実装ではマージソートは安定、選択・クイック・ヒープは不安定です。
  10. 二分探索の前提
    問題:二分探索を正しく行うために必要な前提は。
    A. 配列がハッシュ化されている B. 配列がソート済みである
    C. 配列長が2の累乗である D. 配列が循環している
    正解:B
    解説:二分探索は「整列済み」が必須です。
  11. スタックとキューの用途
    問題:幅優先探索(BFS)で主に使うデータ構造は。
    A. スタック B. キュー C. 優先度付きキュー D. 連結リスト
    正解:B
    解説:BFSはキュー、深さ優先はスタックを使うのが基本です。
  12. 二分探索木の走査
    問題:二分探索木を「中間順巡回(In-order)」すると得られる並びは。
    A. 降順 B. 無作為 C. 昇順 D. 深さ順
    正解:C
    解説:二分探索木の In-order はキーが昇順に並びます。
  13. ハッシュの特性
    問題:良いハッシュ関数の性質として適切なのは。
    A. 同じキーは異なる値へ B. 均一に分布させる
    C. 必ず連続領域に割り当てる D. キーの順序を保持する
    正解:B
    解説:均一分布で衝突を減らし、平均 O(1) を目指します。
  14. 再帰呼び出し回数
    問題:関数 f(n){ if(n==0) return; f(n−1); f(n−1); } を f(3) で呼ぶと、f の呼び出し回数は(戻りも含めず)。
    A. 3 B. 7 C. 8 D. 9
    正解:B
    解説:T(n)=2T(n−1)+1、T(0)=0 なので T(3)=7 です。
  15. 動的計画法に適した問題
    問題:動的計画法の典型例はどれか。
    A. 素因数分解 B. ナップサック問題 C. クイックソート D. ハフマン符号化
    正解:B
    解説:部分問題の最適解を再利用するタイプ(ナップサック、LCS など)が適します。
  16. 正規表現の基礎
    問題:郵便番号「123-4567」に一致させる正規表現は。
    A. \d{7} B. ^\d{3}-\d{4}$ C. ^\d{3,4}-\d{3}$ D. ^[0-9]{7}$
    正解:B
    解説:先頭と末尾を固定し、3桁・ハイフン・4桁を指定します。
  17. SQL 集計
    問題:部署ごとの平均給与を求めるSQLは(emp(dept, salary))。
    A. SELECT AVG(salary) FROM emp;
    B. SELECT dept, AVG(salary) FROM emp GROUP BY dept;
    C. SELECT dept, AVG(salary) FROM emp;
    D. SELECT dept, SUM(salary)/COUNT(*) FROM emp;
    正解:B
    解説:部門単位で集計するため GROUP BY が必要です。
  18. SQL の結合
    問題:全顧客を一覧し、注文のない顧客も表示したい(customers と orders)。
    A. INNER JOIN B. LEFT OUTER JOIN C. RIGHT OUTER JOIN D. CROSS JOIN
    正解:B
    解説:左表(顧客)を基準に、対応がなくても残すには LEFT JOIN を用います。
  19. 正規化の理解
    問題:student(id, dept_id, dept_name) で dept_name が存在する設計の問題点は。
    A. 第1正規形違反 B. 第2正規形違反 C. 第3正規形違反 D. 正常
    正解:C
    解説:主キー id から dept_id を経由して dept_name が決まる推移的従属で、第3正規形に反します。
  20. インデックスが使われにくい条件
    問題:一般にインデックスが効きにくい検索条件は。
    A. 前方一致の LIKE ‘ABC%’ B. 完全一致 =
    C. 後方一致の LIKE ‘%ABC’ D. 範囲検索 BETWEEN
    正解:C
    解説:前方がワイルドカードだと先頭から辿れず、B木系インデックスは使いづらくなります。
  21. 分離レベル
    問題:Read Committed が防止できる現象は。
    A. ダーティリード B. 不可反復読 C. ファントムリード D. ライトスキュー
    正解:A
    解説:Read Committed はコミット済みだけを読むためダーティリードを防ぎますが、再読不能は起き得ます。
  22. デッドロック回避
    問題:デッドロックを避ける実務的対策として有効なのは。
    A. タイムアウトを無限にする B. 取得順序を統一する
    C. ロックを増やす D. トランザクションを長くする
    正解:B
    解説:同じ資源は同じ順序でロックすることで待ちの循環を避けます。
  23. ミューテックスとセマフォ
    問題:適切な説明はどれか。
    A. セマフォは所有権がある B. ミューテックスは所有スレッドのみ解放可能
    C. ミューテックスは複数同時通行を許す D. セマフォは排他を提供しない
    正解:B
    解説:ミューテックスは「所有者」が解放します。セマフォはカウントにより同時許可も可能です。
  24. キャッシュの局所性
    問題:配列を前から順に走査するのが高速になりやすい理由は。
    A. 時間的局所性 B. 空間的局所性 C. 参照透明性 D. 再帰性
    正解:B
    解説:近いアドレスを連続で参照するため、キャッシュヒットが増えます。
  25. CPU スケジューリング
    問題:対話型システムで公平性と応答性を確保しやすい方式は。
    A. 先着順 B. 最短作業優先 C. ラウンドロビン D. 優先度スケジューリング(非プリエンプティブ)
    正解:C
    解説:タイムスライスで順番に実行し、待ち時間の偏りを抑えます。
  26. 仮想記憶とページ置換
    問題:ページ数を増やすと却ってミスが増える現象は。
    A. スラッシング B. ベラディの逆説 C. スタベーション D. スピンロック
    正解:B
    解説:FIFO などで発生し得る現象として知られます。
  27. RAID の特徴
    問題:パリティで耐障害性を確保し、1台故障に耐える方式は。
    A. RAID0 B. RAID1 C. RAID5 D. RAID10
    正解:C
    解説:RAID5 は分散パリティで容量効率と耐障害性のバランスを取ります。
  28. OSI 参照モデル
    問題:レイヤ2に主に該当する装置は。
    A. ルータ B. スイッチ C. リピータ D. ゲートウェイ
    正解:B
    解説:スイッチはデータリンク層(MAC)でフレームを転送します。
  29. TCP と UDP
    問題:TCP の特徴として正しいのは。
    A. コネクションレス B. 信頼性制御がある C. ブロードキャスト可能 D. 順序保証がない
    正解:B
    解説:TCP はコネクション型で、順序や再送、輻輳制御を持ちます。
  30. HTTP/3 の基礎
    問題:HTTP/3 の下位プロトコルは。
    A. TCP B. SCTP C. UDP(QUIC) D. ICMP
    正解:C
    解説:HTTP/3 は QUIC を採用し、UDP 上で動作します。
  31. DNS レコード
    問題:ホスト名とIPv6アドレスの対応を示すレコードは。
    A. A B. AAAA C. CNAME D. MX
    正解:B
    解説:A が IPv4、AAAA が IPv6、CNAME は別名、MX はメール交換です。
  32. サブネットのホスト数
    問題:192.168.10.0/26 の1サブネットで利用可能なホスト数は。
    A. 30 B. 32 C. 62 D. 64
    正解:C
    解説:/26 は64アドレスで、ネットワークとブロードキャストを除いた62台が利用可能です。
  33. サブネットのネットワークアドレス
    問題:10.0.5.130/23 のネットワークアドレスは。
    A. 10.0.5.0 B. 10.0.4.0 C. 10.0.6.0 D. 10.0.5.128
    正解:B
    解説:/23 は255.255.254.0。第3オクテットは偶数がネットワークで、10.0.4.0〜10.0.5.255 が範囲です。
  34. 無線LANの暗号
    問題:個人向けに現在推奨される方式は。
    A. WEP B. WPA(TKIP) C. WPA2-PSK(AES) D. WPA3-Personal(SAE)
    正解:D
    解説:最新は WPA3-Personal(SAE)。WEPやTKIPは脆弱です。WPA2(AES)もなお多く使われますが、可能ならWPA3へ。
  35. 暗号方式の用途
    問題:公開鍵暗号の典型的な使い方として正しいのは。
    A. 受信者の秘密鍵で暗号化し公開鍵で復号する
    B. 送信者の秘密鍵で署名し公開鍵で検証する
    C. 送信者の公開鍵で署名し秘密鍵で検証する
    D. 共通鍵を安全に保存する
    正解:B
    解説:デジタル署名は「秘密鍵で署名→公開鍵で検証」です。鍵配送にも公開鍵方式が用いられます。
  36. ハッシュ関数の性質
    問題:適切な説明はどれか。
    A. 逆変換が容易 B. 同じ入力は同じ出力 C. 出力は必ず一意 D. 暗号化と同じ
    正解:B
    解説:決定的で一方向性が重要です。出力空間有限のため一意ではありません(衝突は理論上存在)。
  37. 多要素認証
    問題:「知っているもの」「持っているもの」「備わっているもの」の組合せで適切なのは。
    A. パスワード+PIN B. パスワード+指紋
    C. 指紋+顔認証 D. ワンタイムトークン+ICカード
    正解:B
    解説:パスワード(知識)+指紋(生体)で異なる要素です。Aは同じ要素(知識)です。
  38. Web脅威の区別
    問題:ユーザのブラウザ内で任意スクリプトを実行させる攻撃は。
    A. CSRF B. XSS C. SQLインジェクション D. OSコマンドインジェクション
    正解:B
    解説:XSSはスクリプト実行。CSRFは「他サイトのリクエストを強要」です。
  39. パスワードの安全保管
    問題:適切な保管方法は。
    A. SHA-1でハッシュして保存 B. 平文+ソルトで保存
    C. bcrypt/Argon2 でストレッチ+ソルト D. MD5で二重ハッシュ
    正解:C
    解説:計算を重くできるKDF(bcrypt, scrypt, Argon2)+ユニークソルトが推奨です。
  40. バックアップ方式
    問題:復旧時間を短くしたい要件で、最も適するのは。
    A. 毎日フルのみ B. 週1フル+毎日差分 C. 週1フル+毎日増分 D. 差分のみ
    正解:B
    解説:差分は復旧時に「直近フル+最新差分」で済み、増分より復旧が簡易です。
  41. クリティカルパスの所要日数
    問題:A(2日)→B(3日)、A(2日)→C(4日)、BとCの後にD(1日)。プロジェクト工期は。
    A. 5日 B. 6日 C. 7日 D. 8日
    正解:C
    解説:A→B→D=6日、A→C→D=7日。最長経路が工期です。
  42. 三点見積もり
    問題:楽観10日、最確14日、悲観22日の作業の期待値は(小数第1位四捨五入)。
    A. 13.5日 B. 14.3日 C. 14.7日 D. 15.0日
    正解:C
    解説:(10+4×14+22)/6=88/6=14.666…≒14.7日です。
  43. テストレベル
    問題:ユーザ要件を満たすかを確認するテストは。
    A. 単体テスト B. 結合テスト C. システムテスト D. 受入テスト
    正解:D
    解説:受入テストは利用者視点で要件充足を確認します。
  44. バージョン管理
    問題:直前のコミットを取り消し、取り消し自体を履歴に残す操作は。
    A. git reset –hard B. git revert HEAD
    C. git checkout . D. git rebase -i
    正解:B
    解説:revert は「打ち消しコミット」を作るため履歴を保持できます。
  45. スクラムの役割
    問題:スクラムに存在しない役割は。
    A. スクラムマスター B. プロダクトオーナー C. 開発者 D. プロジェクトマネージャ
    正解:D
    解説:スクラムの公式な役割にプロジェクトマネージャはありません。
  46. CI の実践
    問題:継続的インテグレーションのプラクティスに当てはまらないのは。
    A. 変更を小さく頻繁に統合する B. 自動ビルドと自動テストを回す
    C. 長期の巨大ブランチを一度に統合する D. 失敗はすぐ修正する
    正解:C
    解説:CI は「小さく・頻繁に・自動で」が基本です。
  47. クラウドのサービスモデル
    問題:アプリ実行基盤の管理をクラウド側に任せ、コードに集中したい場合のモデルは。
    A. IaaS B. PaaS C. SaaS D. FaaS だけ
    正解:B
    解説:PaaS はランタイムやミドルを提供します(FaaSもPaaSの一形態と捉えられます)。
  48. コンテナと仮想マシン
    問題:コンテナの特徴として正しいのは。
    A. 各コンテナが独自のカーネルを持つ B. ホストOSのカーネルを共有する
    C. ハイパーバイザ必須 D. 起動が遅い
    正解:B
    解説:コンテナはOSカーネルを共有するため軽量・高速です。
  49. 事例:デッドロックの原因
    問題:同じ2つの表 T1, T2 を更新する2つのトランザクションが互いに待ち合い、デッドロックが頻発している。最も起こりやすい原因は。
    A. 片方がREAD ONLYである B. ロック取得順序が異なる
    C. インデックスが多すぎる D. コミットが速すぎる
    正解:B
    解説:T1→T2 と T2→T1 のように順序が違うと待ちの循環が発生します。取得順序の統一が有効です。
  50. 事例:SQLの性能劣化
    問題:商品名に「abc」を含む行を検索する WHERE name LIKE ‘%abc%’ のクエリが遅い。最も有効な改善は。
    A. name にB木インデックスを作るだけ B. name をLOWER(name)で小文字化して検索
    C. 前方一致に設計変更し LIKE ‘abc%’ を使う D. ページサイズを小さくする
    正解:C
    解説:先頭がワイルドカードだと索引木の先頭から辿れず全表走査になりがちです。要件が許せば前方一致や全文検索索引の導入が効果的です。
  51. 配列の最大値探索
    問題:n 要素の配列で最大値を求める最適な比較回数の下限は。
    A. ⌈log₂ n⌉ B. n−1 C. n D. 2n
    正解:B
    解説:要素を一度ずつ現在の最大と比較するため少なくとも n−1 回必要です。
  52. キューイングの直観
    問題:到着率と処理率がほぼ同じ時に遅延が急増する主因の理解として最も適切なのは。
    A. キャッシュミス B. 利用率が1に近づき待ち行列が発散する
    C. デッドロック D. スレッシング
    正解:B
    解説:利用率が高いと待ちが一気に増え、遅延が跳ね上がります。
  53. 正規表現:メール風の簡易検査
    問題:英数字+@+英数字+.+英字2〜3に単純一致させる正規表現は。
    A. ^\w+@\w+.\w+$ B. ^[A-Za-z0-9]+@[A-Za-z0-9]+.[A-Za-z]{2,3}$
    C. ^.+@.+..+$ D. ^[A-Za-z]+@[0-9]+.[A-Za-z]+$
    正解:B
    解説:文字種と桁数を素直に限定しています(実運用では更に複雑です)。
  54. トランザクションのACID
    問題:障害後も一貫した状態を保つ性質は。
    A. 原子性 B. 一貫性 C. 分離性 D. 永続性
    正解:B
    解説:ACIDの「C」は整合制約が常に満たされることを意味します。
  55. HTTP キャッシュ制御
    問題:クライアントに再利用を許すが、期限切れ時は必ず検証させたいヘッダは。
    A. Cache-Control: no-store B. Cache-Control: no-cache
    C. Cache-Control: public,max-age=0 D. Expires: 0
    正解:B
    解説:no-cache は保存可だが再利用時に検証を要求します。
  56. UML の図
    問題:クラス間の静的な関係を表すのに適した図は。
    A. アクティビティ図 B. ユースケース図 C. クラス図 D. シーケンス図
    正解:C
    解説:クラス図は属性・操作・関連を表現します。
  57. 例外処理の基本
    問題:例外の再スローに関する説明で適切なのは。
    A. 捕捉したら必ず握り潰す B. 文脈を付与して上位に伝えることがある
    C. 例外は性能目的で常用する D. すべてチェック例外にする
    正解:B
    解説:原因を保持しつつ意味のあるメッセージで再スローすると診断が容易になります。
  58. 文字コード
    問題:UTF-8 の特徴として正しいのは。
    A. 1バイト固定 B. ASCII と互換 C. BOM が必須 D. 日本語は常に2バイト
    正解:B
    解説:UTF-8 は可変長で、ASCIIは1バイトでそのまま表現できます。
  59. プログラム読解(擬似コード)
    問題:x=1; for i=1..4: x=x*2; の実行後の x は。
    A. 4 B. 8 C. 16 D. 32
    正解:C
    解説:2を4回掛けるので 1×2⁴=16 です。
  60. 事例:ログから原因推定
    問題:昼休み時間帯だけWebが遅い。CPU使用率低、DB接続待ち多数、同じ表の同じ列に対する更新が集中。最も可能性が高い原因は。
    A. ネットワーク帯域不足 B. 行ロック競合
    C. ディスク故障 D. DNS 逆引きの失敗
    正解:B
    解説:特定列への更新集中は同一行・同一ページのロック競合を招き、待ちが増えます。
  61. 事例:メモリリークの兆候
    問題:長時間稼働でメモリ使用量が単調増加し、再起動で回復。最も妥当な仮説は。
    A. デッドロック B. メモリリーク C. スレッシング D. ガベージコレクション停止
    正解:B
    解説:解放漏れの典型的な症状です。
  62. 事例:ネットワーク疎通
    問題:ping は通るが HTTP は不可。最も切り分けが適切なのは。
    A. DNS不調 B. TCP/80 をFWが遮断 C. 物理断線 D. IP誤設定
    正解:B
    解説:ICMP(ping) は通るが TCP/80 が遮断されている可能性が高いです。
  63. 事例:スレッド安全性
    問題:シングルトンに可変な共有リストを持ちロック無しで更新。起こり得る不具合は。
    A. デッドロック B. データ競合による不整合
    C. メモリリーク D. 不可逆圧縮
    正解:B
    解説:並行更新でリストの状態が壊れる可能性があります。排他が必要です。
  64. 事例:インデックス選択
    問題:多くの値が同じ「性別」列に索引を作っても効果が小さい理由は。
    A. 列が文字列だから B. 選択性が低いから
    C. NULLがあるから D. 複合キーでないから
    正解:B
    解説:同じ値が多い列は絞り込み効果が弱く、索引の恩恵が小さくなります。
  65. 事例:API タイムアウト
    問題:外部API呼び出しでタイムアウトが散発。再試行を導入する際の基本方針として適切なのは。
    A. 無限ループで再試行 B. 指数バックオフ+ジッタ
    C. 一定間隔で高速連打 D. 同時に10回並列再試行
    正解:B
    解説:集中を避けつつ負荷を下げるため指数バックオフとジッタが推奨です。
  66. 事例:SQL 正確性
    問題:売上合計を求める際、NULL を含む金額列の合計が想定より小さい。原因として最も考えられるのは。
    A. SUM は NULL を0として扱う B. SUM は NULL を無視する
    C. SUM は NULL を1として扱う D. SUM はエラーを返す
    正解:B
    解説:NULL は集計から除外されます。COALESCE で0に置換する方法があります。
  67. 事例:時刻の扱い
    問題:ログにUTCで保存し、表示時にJSTへ変換する設計の利点は。
    A. 保存サイズが減る B. サマータイムや時差の影響を避けられる
    C. パフォーマンスが上がる D. 暗号的に安全
    正解:B
    解説:保存を単一基準にすると複数タイムゾーンでの解釈が一貫します。
  68. 事例:ファイルの排他
    問題:複数プロセスが同一ファイルを同時に書き込む。適切な対策は。
    A. バッファを大きくする B. ファイルロックを用いる
    C. 圧縮する D. 読み取り専用にする
    正解:B
    解説:排他制御で整合性を保ちます。
  69. 事例:キャッシュの失効
    問題:静的ファイルの内容を更新したが、ブラウザが古い版を表示。簡便な対策は。
    A. HTTP 500 を返す B. ファイル名にバージョン(クエリ文字列等)を付与
    C. 圧縮を無効化 D. ETag を削除
    正解:B
    解説:キャッシュバスティングで新URLとして扱わせます。
  70. 事例:SQLのN+1問題
    問題:一覧取得後に各行ごとに関連データを別クエリで取得している。改善として適切なのは。
    A. 1行ずつコミット B. 遅延ロードを増やす
    C. 一括取得(JOINやINでまとめる) D. トランザクションを長くする
    正解:C
    解説:関連データをまとめて取得し、往復回数を減らします。
  71. ビット演算(XOR)
    問題:1100₂ XOR 1010₂ の結果は。
    A. 0010 B. 0110 C. 1110 D. 1001
    正解:B
    解説:XORはビットが異なると1。1100 と 1010 を桁ごとに比較すると 0110 です。
  72. シフト演算の直感
    問題:10進数13を2ビット左シフト(<<2)した値は。
    A. 26 B. 32 C. 52 D. 56
    正解:C
    解説:左にkビットは 2^k 倍です。13×4=52 です(オーバーフローは考えない前提)。
  73. キャッシュの書込み方式
    問題:主記憶への書込みを遅らせ、キャッシュのみ更新して後で反映する方式は。
    A. ライトスルー B. ライトバック C. ライトアラウンド D. ディレクティドライト
    正解:B
    解説:ライトバックは性能向上が狙えますが、整合性管理が重要です。
  74. パイプラインハザード
    問題:分岐命令で先読みが無駄になるタイプは。
    A. データハザード B. 構造ハザード C. 制御ハザード D. メモリハザード
    正解:C
    解説:分岐の予測外れなどで制御フローが変わると制御ハザードが発生します。
  75. Amdahlの法則
    問題:処理の40%を5倍高速化したとき全体の理論最大高速化率に最も近いのは。
    A. 1.33倍 B. 1.47倍 C. 1.80倍 D. 2.00倍
    正解:B
    解説:1 / (0.6 + 0.4/5)=1 / 0.68 ≈ 1.47 です。
  76. RAIDの特徴(RAID10)
    問題:RAID10の説明として最も適切なのは。
    A. パリティで1台故障に耐える B. ミラー+ストライプで高速・冗長、容量効率は約50%
    C. ストライプのみで最速 D. 2台同時故障に必ず耐える
    正解:B
    解説:RAID10は性能と信頼性の両立。ただしミラー分だけ容量効率は低下します。
  77. TLBの役割
    問題:TLB(Translation Lookaside Buffer)の主目的は。
    A. 命令の先読み B. ページ表引きをキャッシュしてアドレス変換を高速化
    C. ディスクI/Oのバッファ D. 分岐予測
    正解:B
    解説:TLBは仮想→物理変換結果を保持し、メモリアクセスを高速化します。
  78. ページフォールト
    問題:仮想記憶で主記憶にないページを参照したときに発生するのは。
    A. キャッシュミス B. ページフォールト C. セグメンテーション違反 D. TLBヒット
    正解:B
    解説:OSが二次記憶から該当ページを読み込み、必要なら置換を行います。
  79. スレッドとプロセス
    問題:スレッドの特徴として正しいのは。
    A. 互いに独立のアドレス空間を持つ B. 同一プロセス内でアドレス空間を共有する
    C. 常に別CPUで実行される D. 共有資源を持たない
    正解:B
    解説:スレッドは軽量で、同一プロセス資源(メモリ等)を共有します。
  80. コンテキストスイッチ
    問題:コンテキストスイッチで必ず保存・復元されるものは。
    A. ディスクキャッシュ B. CPUレジスタ群 C. GPU状態 D. ページファイル
    正解:B
    解説:次に再開できるよう、レジスタやプログラムカウンタを保存します。
  81. Copy-on-Write(COW)
    問題:COWの説明として適切なのは。
    A. フォーク直後に必ず全ページを複製する
    B. 共有ページへ書込み時に初めて複製する
    C. 読み取り時に複製する D. 常に共有しない
    正解:B
    解説:読み取りは共有、書込み時だけ複製して無駄を減らします。
  82. スケジューリング
    問題:SRTF(最短残余時間優先)は何のプリエンプティブ版か。
    A. 先着順 B. ラウンドロビン C. SJF(最短作業優先) D. 優先度
    正解:C
    解説:SRTFは残り時間が最短のタスクを常に選ぶ方式です。
  83. デッドロックの必要条件
    問題:必要条件に「含まれない」ものは。
    A. 相互排他 B. 待ち保持 C. 循環待ち D. 資源の奪い取りが可能
    正解:D
    解説:必要条件は「奪い取り不可(非剥奪)」です。奪い取り可能は条件に含まれません。
  84. ルータの層
    問題:OSIでルータが主に扱うのは。
    A. 物理層 B. データリンク層 C. ネットワーク層 D. トランスポート層
    正解:C
    解説:IPパケットを経路選択し転送します。
  85. VLAN
    問題:VLANタグ付けの標準規格は。
    A. IEEE 802.3 B. IEEE 802.11 C. IEEE 802.1Q D. IEEE 802.1X
    正解:C
    解説:802.1QがタグVLANの規格です。
  86. NAPT
    問題:多くの端末を1つのグローバルIPで同時接続させる方式は。
    A. 静的NAT B. NAPT(ポートアドレス変換) C. リバースNAT D. ダブルNAT
    正解:B
    解説:ポート番号も変換して多重化します。
  87. プライベートアドレス
    問題:次のうちプライベートIPアドレスは。
    A. 11.0.0.1 B. 172.31.5.2 C. 100.64.0.1 D. 169.254.10.10
    正解:B
    解説:10/8、172.16/12、192.168/16 がプライベート。CはCGNAT帯、Dはリンクローカルです。
  88. TTLの役割
    問題:IPヘッダのTTLの主目的は。
    A. 再送制御 B. 輻輳制御 C. ループ防止 D. 暗号化
    正解:C
    解説:ホップごとに減少し0で破棄、無限ループを防ぎます。
  89. TCPハンドシェイク
    問題:3ウェイハンドシェイクの順序は。
    A. ACK→SYN→FIN B. SYN→ACK→SYN-ACK C. SYN→SYN-ACK→ACK D. SYN-ACK→SYN→ACK
    正解:C
    解説:SYN、SYN+ACK、ACKの順です。
  90. 接続終了
    問題:通常のTCP接続終了に使われるフラグは。
    A. RST B. FIN C. PSH D. URG
    正解:B
    解説:正常終了はFIN。RSTは異常時の即時切断です。
  91. HTTPの冪等性
    問題:一般に「冪等でない」メソッドは。
    A. GET B. PUT C. DELETE D. POST
    正解:D
    解説:GET/PUT/DELETEは冪等(設計上)。POSTは繰り返すと副作用が増え得ます。
  92. 逆引きDNS
    問題:IP→ホスト名の対応に使うレコードは。
    A. A B. AAAA C. PTR D. NS
    正解:C
    解説:PTRが逆引き、A/AAAAは正引きです。
  93. メール送信(サブミッション)
    問題:認証付きメール送信の標準ポートは。
    A. 25 B. 53 C. 110 D. 587
    正解:D
    解説:サブミッションポートは587です(暗号化の利用が推奨)。
  94. サーバ証明書
    問題:TLSのサーバ証明書の主な役割は。
    A. 通信を圧縮する B. サーバの正当性を検証可能にする
    C. DNSを高速化する D. MACアドレスを隠す
    正解:B
    解説:信頼されたCAが署名した証明書で相手を確認します。
  95. セキュリティ三要素
    問題:「改ざんされていないこと」に対応するのは。
    A. 機密性 B. 完全性 C. 可用性 D. 責任追跡性
    正解:B
    解説:完全性は内容が正しく保たれていることです。
  96. 暗号方式
    問題:AESはどの分類か。
    A. 公開鍵暗号 B. 共通鍵暗号 C. ハッシュ関数 D. 電子署名
    正解:B
    解説:AESは高速な共通鍵ブロック暗号です。
  97. RSAの特性
    問題:RSAで鍵長を伸ばすと一般にどうなるか。
    A. 安全性は下がる B. 演算コストが上がる C. 速度は必ず上がる D. 署名だけ遅くなる
    正解:B
    解説:鍵が長いほど計算負荷が大きくなります(安全性は高まりやすい)。
  98. HMAC
    問題:HMACの主目的は。
    A. 圧縮 B. 乱数生成 C. 改ざん検出と送信者認証 D. 鍵配送
    正解:C
    解説:共有鍵付きハッシュでメッセージの真正性と完全性を確認します。
  99. ソルトの意味
    問題:パスワードハッシュにソルトを付与する主目的は。
    A. 復号を容易にする B. 衝突を完全に防ぐ C. 同じパスでもハッシュ一致を防ぐ D. 保存サイズ削減
    正解:C
    解説:レインボーテーブル対策としてユーザごとに異なるソルトを使います。
  100. ソーシャルエンジニアリング
    問題:ショルダーハッキングの説明は。
    A. 電話で嘘の身分を名乗る B. 背後から入力を覗き見る
    C. 誘惑メールで釣る D. 置き忘れUSBで感染させる
    正解:B
    解説:物理的に肩越しに観察する手口です。
  101. WPSの弱点
    問題:無線LANのWPS(PIN方式)の問題として知られるのは。
    A. AESが使えない B. 総当たり攻撃に弱い
    C. 5GHzで動作しない D. SSIDが漏れる
    正解:B
    解説:PINの探索空間が小さく、攻撃に弱いとされます。
  102. SQLインジェクション対策
    問題:最も有効な基本対策は。
    A. 文字列連結の最適化 B. プレースホルダ(バインド変数)の使用
    C. SELECT権限の撤廃 D. ビューの多用
    正解:B
    解説:値とSQL構文を分離し、意図しない構文化を防ぎます。
  103. CSRF対策
    問題:一般的な対策として適切なのは。
    A. 入力値をエスケープ B. 同一サイト属性のトークン検証
    C. 画像に透かし D. 圧縮転送
    正解:B
    解説:予測困難なトークンをフォームに含め、正当な送信であることを確認します。
  104. 入力検証
    問題:クライアント側バリデーションを実装している場合の原則は。
    A. サーバ側は不要 B. サーバ側も必須
    C. DB側に任せる D. どれでも同じ
    正解:B
    解説:クライアント検証は回避可能なため、信頼境界内(サーバ)で再検証が必要です。
  105. 分離レベルとファントム
    問題:ファントムリードを防ぐ分離レベルは。
    A. Read Uncommitted B. Read Committed C. Repeatable Read D. Serializable
    正解:D
    解説:最高水準のSerializableで新規行の出現も抑止できます。
  106. ハッシュ索引
    問題:ハッシュ索引の特性として正しいのは。
    A. 範囲検索に強い B. 等値検索に強いが範囲は不向き
    C. 常に順序を保持する D. 複合キーで使えない
    正解:B
    解説:ハッシュは値→位置の直接変換が得意、順序性は持ちません。
  107. クラスタ化索引
    問題:クラスタ化索引の説明として正しいのは。
    A. 物理行順は無関係 B. 索引順に物理的に並ぶ
    C. 常に複数作れる D. 参照系に不向き
    正解:B
    解説:テーブルの実体が索引順で格納されます(多くのDBで1つのみ)。
  108. 第1正規形
    問題:第1正規形に違反する例は。
    A. 非キー→キーの関数従属 B. 繰り返し属性(電話番号1,2,…)を1列に並べる
    C. 伝達的従属 D. 複合主キー
    正解:B
    解説:1NFでは繰り返し群を別表に分解し、列は原子的にします。
  109. COUNTの挙動
    問題:COUNT(col) が数えないのは。
    A. 0 B. 負数 C. NULL D. 空文字
    正解:C
    解説:COUNT(col)はNULLを除外、COUNT(*)は全行を数えます。
  110. 多対多の表設計
    問題:正しい設計は。
    A. 片方の表に配列で保持 B. 中間(関連)テーブルで結ぶ
    C. 片方の主キーを書込み D. どちらにも持たない
    正解:B
    解説:多対多は中間表で正規化します。
  111. 集合演算
    問題:重複を除去する和集合は。
    A. UNION ALL B. UNION C. INTERSECT D. EXCEPT
    正解:B
    解説:UNIONは重複排除、UNION ALLは重複許容です。
  112. ヒープの計算量
    問題:二分ヒープで「最小要素の取り出し」の計算量は。
    A. O(1) B. O(log n) C. O(n) D. O(n log n)
    正解:B
    解説:根を取り出して末尾を上から下へ調整するため対数時間です。
  113. ハフマン符号
    問題:ハフマン符号の性質は。
    A. 可逆でない B. 接頭語(プレフィックス)を持たない
    C. 接頭語を持たない=任意の符号は他の接頭語にならない D. 常に同じ長さ
    正解:C
    解説:プレフィックスフリーなので逐次デコードが可能です。
  114. ダイクストラ法
    問題:適用前提として正しいのは。
    A. 負の重みがあってよい B. 無向グラフにしか使えない
    C. 辺重みは非負 D. 木にしか使えない
    正解:C
    解説:負辺があると正しく動作しません(ベルマン–フォードを検討)。
  115. 最短経路(無加重)
    問題:無向・無加重グラフで最短経路を求める基本手法は。
    A. DFS B. BFS C. クラスター分析 D. A*
    正解:B
    解説:各辺の重みが等しい前提ならBFSで層ごとに最短が得られます。
  116. XORの性質
    問題:A⊕B⊕B の結果は。
    A. 0 B. A C. B D. A⊕B
    正解:B
    解説:同じ値を2回XORすると打ち消し合い、Aが残ります。
  117. 吸収律
    問題:ブール代数で A ∨ (A ∧ B) を簡単化すると。
    A. A B. B C. A ∧ B D. A ∨ B
    正解:A
    解説:吸収律により A に簡約されます。
  118. 組合せ
    問題:5人から2人を選ぶ組合せ 5C2 は。
    A. 5 B. 10 C. 20 D. 25
    正解:B
    解説:5×4/2=10 です。
  119. 確率(少なくとも1回成功)
    問題:成功確率pの独立試行をn回。少なくとも1回成功の確率は。
    A. p^n B. 1−p^n C. 1−(1−p)^n D. n×p
    正解:C
    解説:失敗だけの確率 (1−p)^n を1から引きます。
  120. 期待値(サイコロ)
    問題:公平な6面サイコロの1回の出目の期待値は。
    A. 3 B. 3.5 C. 4 D. 4.5
    正解:B
    解説:(1+2+3+4+5+6)/6=3.5 です。