AI資格ドリル
資格を選ぶ↓

DS検定 第7章 プログラミング・セキュリティ・AI運用 予想問題(2/2)

40問〜第58問を掲載しています。答えを開き、誤答選択肢との違いまで確認してください。 この章の第1問から読む場合は第7章 プログラミング・セキュリティ・AI運用のページへ戻ります。

情報源と編集区分

公式範囲を確認し、問題文・選択肢・解説は当サイトが作成。本試験問題の複写ではありません。 一次情報確認日: 2026-07-12。

試験概要(公式)
40 ・ AIシステム運用

機械学習モデルの構築・選定・調整を自動化する技術はどれか。

  • AutoML
  • MLOps
  • AIOps
  • AIモデルの劣化
答えと解説を見る
AutoML正解
解説

正解は「AutoML」である。AutoMLは、機械学習モデルの構築・選定・調整を自動化する技術を指す。MLOpsはモデルの開発から運用までを継続的に管理する取り組みであり、モデル構築だけに限定されない。AIOpsはAIを活用してITシステム運用を効率化する取り組み、AIモデルの劣化は運用中にモデルの予測精度などが低下する現象である。設問はモデルを作る段階での自動化を問うており、作成後の監視・再学習や、IT運用の効率化を表す概念ではない。対象がモデル構築の自動化であることから、AutoMLを選ぶ。

https://github.com/The-Japan-DataScientist-Society/skills-checklist (2026-07-12公式スキルチェックリストver.6照合)

41 ・ ITセキュリティ

分析基盤で、閲覧のみの担当者と設定変更もできる管理者に、利用できる情報や機能の範囲を別々に割り当てたい。設定すべきものはどれか。

  • アクセスレベル
  • ハッシュ関数
  • 公開鍵暗号化方式
  • 電子署名
答えと解説を見る
アクセスレベル正解
解説

正解は「アクセスレベル」である。アクセスレベルは、利用者や役割ごとに情報や機能へアクセスできる範囲・権限の段階を割り当てる考え方である。設問では閲覧担当者と管理者で許可する操作を分けるため、役割に応じたアクセスレベルを設定する。ハッシュ関数は入力から一定の値を得る仕組み、公開鍵暗号化方式は公開鍵と秘密鍵を対にして内容を保護する方式、電子署名は作成者と改変の有無を確認する仕組みである。誰がどこまで操作できるかを問う場面と、データ自体を保護・確認する場面を区別する。

https://github.com/The-Japan-DataScientist-Society/skills-checklist (2026-07-12公式スキルチェックリストver.6照合)

42 ・ ITセキュリティ

受け取った電子文書について、誰が作成したかと、作成後に内容が改変されていないかを確認したい。使う仕組みはどれか。

  • 電子署名
  • 暗号化
  • アクセスレベル
  • アクセストークン
答えと解説を見る
電子署名正解
解説

正解は「電子署名」である。電子署名は、電子データの作成者と、作成後に内容が改変されていないことの確認に用いる仕組みである。設問では文書の内容を読めない形にするのではなく、作成者と改変の有無という二点を確かめたいので電子署名を選ぶ。暗号化は情報を容易に読めない形へ変換して内容を保護する操作、アクセスレベルは利用者ごとの権限範囲、アクセストークンは認可された範囲で資源へアクセスするための情報である。機密性の確保か、作成者・完全性の確認かを分けて判断する。

https://github.com/The-Japan-DataScientist-Society/skills-checklist (2026-07-12公式スキルチェックリストver.6照合)

43 ・ ITセキュリティ

利用者のパスワードそのものを外部アプリへ渡さず、本人が許可した範囲だけ、そのアプリから別サービスの情報へアクセスさせたい。使う認可の仕組みはどれか。

  • OAuth
  • 公開鍵暗号化方式
  • 電子署名
  • ハッシュ関数
答えと解説を見る
OAuth正解
解説

正解は「OAuth」である。OAuthは、利用者のパスワードそのものを他のサービスへ渡さず、許可した範囲のアクセス権限を委譲するための認可の仕組みである。設問では外部アプリに別サービスの情報を利用させる一方、本人のパスワードは共有しないためOAuthが当てはまる。公開鍵暗号化方式は鍵の対で内容を保護する方式、電子署名は作成者と改変の有無の確認、ハッシュ関数は入力から一定の値を得る仕組みである。本人確認そのものではなく、別アプリへ限定した権限を渡す認可を問うている。

https://github.com/The-Japan-DataScientist-Society/skills-checklist (2026-07-12公式スキルチェックリストver.6照合)

44 ・ ITセキュリティ

OAuthで利用者の許可を得た後、外部アプリが認可された範囲でAPIへアクセスする際に提示する情報はどれか。

  • アクセストークン
  • 利用者のパスワード
  • 電子署名
  • 秘密鍵
答えと解説を見る
アクセストークン正解
解説

正解は「アクセストークン」である。アクセストークンは、OAuthなどで認可された範囲に従い、APIなどの資源へアクセスするために用いる情報である。設問では利用者の許可がすでに完了し、外部アプリがAPIへアクセスする段階なのでアクセストークンを提示する。利用者のパスワードを外部アプリへ渡さないことがOAuthの判断軸である。電子署名は作成者と改変の有無を確認する仕組み、秘密鍵は公開鍵と対で管理する鍵であり、認可されたAPIアクセスを示す情報ではない。認可の仕組みと、認可結果として使う情報を区別する。

https://github.com/The-Japan-DataScientist-Society/skills-checklist (2026-07-12公式スキルチェックリストver.6照合)

45 ・ AIシステム運用

プログラミング中にAIが続きのコードを補完したり、処理内容に応じたコード案を生成したりして作業効率を高める機能はどれか。

  • コーディング支援
  • モニタリング
  • MLOps
  • アクセスレベル
答えと解説を見る
コーディング支援正解
解説

正解は「コーディング支援」である。コーディング支援は、AIがコードの補完や生成案を提示し、プログラミング作業の効率化を助ける機能・仕組みである。設問はコードを書いている最中の提案を扱うためコーディング支援に当たる。モニタリングは運用開始後の予測精度やシステム状態を継続的に監視すること、MLOpsはAIモデルの開発から運用までを継続的に管理する考え方、アクセスレベルは利用者ごとの権限範囲である。開発中のコード作成支援か、運用中のモデル・システム管理かを分けて判断する。

https://github.com/The-Japan-DataScientist-Society/skills-checklist (2026-07-12公式スキルチェックリストver.6照合)

46 ・ プログラミング基礎

プログラムが整数、文字列、真偽値などの値を区別し、許される演算や扱い方を定めるための分類はどれか。

  • データ型
  • オブジェクト指向
  • スーパークラス
  • フローチャート
答えと解説を見る
データ型正解
解説

正解は「データ型」である。データ型は、整数、文字列、真偽値など、プログラムが扱う値の種類を区別する分類であり、値に対してどの演算や処理が適用できるかを判断する基礎になる。オブジェクト指向はデータと操作をオブジェクトとしてまとめる設計の考え方、スーパークラスは他のクラスが継承する基となるクラス、フローチャートは処理の流れを図で表す方法である。値そのものの種類を問う点からデータ型を選ぶ。同じ見た目の値でも、数値として計算するか文字列として扱うかで処理の意味が変わるため、種類の区別が必要になる。

https://github.com/The-Japan-DataScientist-Society/skills-checklist (2026-07-12公式スキルチェックリストver.6照合)

47 ・ プログラミング基礎

顧客という対象について、氏名や残高などのデータと、残高を更新する操作を一つのまとまりとして扱うプログラム設計の考え方はどれか。

  • データ型
  • DML
  • オブジェクト指向
  • フローチャート
答えと解説を見る
オブジェクト指向正解
解説

正解は「オブジェクト指向」である。オブジェクト指向は、データとそのデータに対する操作を一つのまとまりであるオブジェクトとして扱うプログラム設計の考え方である。設問では顧客の属性と残高更新の操作を同じ対象へまとめているため、オブジェクト指向に当たる。データ型は整数や文字列など値の種類、DMLは表のデータを検索・追加・更新・削除するSQLの区分、フローチャートは処理の順序や分岐を図で表す方法である。データだけでなく、それに関係する操作もまとめる点を確認する。

https://github.com/The-Japan-DataScientist-Society/skills-checklist (2026-07-12公式スキルチェックリストver.6照合)

48 ・ プログラミング基礎

統計解析向けのプログラミング言語Rを使い、コードの作成や実行を支援する統合開発環境はどれか。

  • Jupyter Notebook
  • RStudio
  • Gitバージョン管理
  • AutoML
答えと解説を見る
RStudio正解
解説

正解は「RStudio」である。RStudioは、統計解析向けのプログラミング言語Rを使った開発を支援する統合開発環境である。設問では対象言語がRであり、コードの作成や実行をまとめて支援する環境を問うためRStudioを選ぶ。Jupyter Notebookはコード、実行結果、説明文をノートブック形式で扱う環境、Gitバージョン管理はファイルの変更履歴を管理する仕組み、AutoMLはモデルの構築や選定、調整を自動化する技術である。R向けの統合開発環境という条件が決め手になる。

https://github.com/The-Japan-DataScientist-Society/skills-checklist (2026-07-12公式スキルチェックリストver.6照合)

49 ・ プログラミング基礎

外部ライブラリの関数仕様がsummarize(values: list[float]) -> floatである。仕様に沿った呼び出しと結果の扱いはどれか。

  • 数値のリストを渡し、戻り値を1つの数値として扱う
  • 文字列を1つ渡し、戻り値を数値のリストとして扱う
  • 引数を渡さず、戻り値を必ず真偽値として扱う
  • 数値を1つだけ渡し、戻り値をファイルとして扱う
答えと解説を見る
数値のリストを渡し、戻り値を1つの数値として扱う正解
解説

正解は「数値のリストを渡し、戻り値を1つの数値として扱う」である。関数仕様の括弧内は引数valuesが浮動小数点数のリストであることを示し、矢印の右側は戻り値が1つの浮動小数点数であることを示す。したがって、複数の数値をリストにして渡し、返された値を数値として受け取る。文字列、引数なし、単独の数値はいずれも指定された引数の型と異なり、数値リスト・真偽値・ファイルとして結果を扱う説明も戻り値の型と一致しない。関数名だけで推測せず、引数と戻り値を別々に照合することが要点である。

https://raw.githubusercontent.com/The-Japan-DataScientist-Society/skills-checklist/main/data_engineering.csv (No.116、2026-08-31確認)

50 ・ プログラミング基礎

外側を1,000回、各回で内側を500回実行する二重ループがある。内側の処理は合計何回実行されるか。

  • 1,500回
  • 500,000回
  • 1,000,000回
  • 2回
答えと解説を見る
500,000回正解
解説

正解は「500,000回」である。二重ループでは、外側の各1回につき内側の処理が500回すべて実行されるため、合計回数は1,000×500=500,000回になる。1,500回は外側と内側の回数を足した値、1,000,000回は内側も1,000回だと読み違えて1,000×1,000とした値、2回はループの段数だけを数えた値である。二重ループが計算負荷の候補になるのは、処理回数が二つの反復回数の和ではなく積で増えるためである。改善を考える前に、どの処理が何回実行されるかを数えてボトルネックを特定する。

https://raw.githubusercontent.com/The-Japan-DataScientist-Society/skills-checklist/main/data_engineering.csv (No.128、2026-08-31確認)

51 ・ AIシステム運用

同じ計算を何度も繰り返すコードが遅く、潜在的な不具合も確認したい。公式チェックリストのコーディング支援に沿う使い方はどれか。

  • AIのコードレビュー・チェックで問題箇所と改善案を出し、テストで修正結果を確認する
  • AIの提案を確認せず本番へ自動反映する
  • コードを変更せず宣伝文だけを生成する
  • 実行速度を測らず学習済みモデルを毎回作り直す
答えと解説を見る
AIのコードレビュー・チェックで問題箇所と改善案を出し、テストで修正結果を確認する正解
解説

正解は「AIのコードレビュー・チェックで問題箇所と改善案を出し、テストで修正結果を確認する」である。公式チェックリストは、AIを用いたソースコードのレビュー機能やチェック機能を活用し、バグ修正や性能改善につなげることを★1つ星項目としている。本問では重複計算による遅さと潜在的不具合が対象なので、コードを分析して候補を示させ、修正後にテストで正しさと性能を確認する流れが一致する。無確認の本番反映は品質確認を欠き、宣伝文生成はコード改善ではなく、モデルの再学習もプログラム内の重複計算を直接直さない。

https://raw.githubusercontent.com/The-Japan-DataScientist-Society/skills-checklist/main/data_engineering.csv (No.127・173、2026-08-31確認)

52 ・ AIシステム運用

入力欄の境界値を検証するため、個人情報を含まない架空の入力レコードが多数必要になった。LLMのコーディング支援として適切な使い方はどれか。

  • 条件を指定してテスト用ダミーデータを生成し、合成データだと区別して検証へ使う
  • 生成値を実在顧客の事実だとみなして本番台帳へ登録する
  • 生成したダミーデータだけで本番性能を保証する
  • 境界値テストを省略し、出力を無条件で正しいとみなす
答えと解説を見る
条件を指定してテスト用ダミーデータを生成し、合成データだと区別して検証へ使う正解
解説

正解は「条件を指定してテスト用ダミーデータを生成し、合成データだと区別して検証へ使う」である。公式チェックリストは、LLMを利用して開発機能のテストや分析検証用のダミーデータを生成できることを★1つ星項目としている。個人情報を含まない架空レコードを境界値テストへ使う場面はこの用途に一致する。ただし、生成値は実在顧客の事実ではないので本番台帳へ登録せず、ダミーデータだけで実環境の性能や安全性を保証することもできない。生成した目的と合成データであることを明示し、期待結果を定めたテストへ投入する。

https://raw.githubusercontent.com/The-Japan-DataScientist-Society/skills-checklist/main/data_engineering.csv (No.174、2026-08-31確認)

53 ・ プログラミング基礎

売上表に店舗A・10、店舗A・15、店舗B・7という3行がある。店舗列でGROUP BYし、店舗ごとに売上をSUMした結果として正しいものはどれか。

  • 店舗Aは25、店舗Bは7
  • 店舗Aは15、店舗Bは7
  • 店舗Aは10、店舗Bは22
  • 全店舗をまとめて32だけを返す
答えと解説を見る
店舗Aは25、店舗Bは7正解
解説

正解は「店舗Aは25、店舗Bは7」である。GROUP BYで店舗列を指定すると、同じ店舗値を持つ行がグループになる。店舗Aのグループには売上10と15があるためSUMは10+15=25、店舗Bのグループには7だけがあるためSUMは7となる。「店舗Aは15、店舗Bは7」はAの最初の10を落とし、「店舗Aは10、店舗Bは22」は15をB側へ誤って加えている。「全店舗をまとめて32だけを返す」はGROUP BYを行わず全行へSUMした場合の結果である。グループ化キーごとに行を分けてから、各グループ内で集計する順序が要点になる。

https://raw.githubusercontent.com/The-Japan-DataScientist-Society/skills-checklist/main/data_engineering.csv ・https://www.postgresql.org/docs/current/queries-table-expressions.html (2026-08-31確認)

54 ・ プログラミング基礎

SQLのCASE式をCASE WHEN score>=80 THEN 'A' WHEN score>=60 THEN 'B' ELSE 'C' ENDとした。scoreが75の行で返る値はどれか。

  • A
  • B
  • C
  • NULL
答えと解説を見る
B正解
解説

正解は「B」である。CASE式はWHEN条件を上から順に評価し、最初に真となる条件の結果を返す。score=75では最初のscore>=80は偽だが、次のscore>=60は真なのでBを返す。Aは80以上の場合、CはどのWHEN条件にも当てはまらない60未満の場合にELSEから返る。NULLは本問のCASE式にはならず、ELSE 'C'が明示されているため条件不一致時もCになる。75を各しきい値と順に比較し、真になった段階で後続の分岐へ進まないことが判断の要点である。

https://raw.githubusercontent.com/The-Japan-DataScientist-Society/skills-checklist/main/data_engineering.csv ・https://www.postgresql.org/docs/current/functions-conditional.html (2026-08-31確認)

55 ・ プログラミング基礎

SQLで、最初にCREATE TABLEで顧客表の列と型を定義し、その後INSERTで顧客の行を追加した。DDLとDMLの分類として正しいものはどれか。

  • CREATE TABLEがDDL、INSERTがDML
  • CREATE TABLEがDML、INSERTがDDL
  • 両方ともDDL
  • 両方ともDML
答えと解説を見る
CREATE TABLEがDDL、INSERTがDML正解
解説

正解は「CREATE TABLEがDDL、INSERTがDML」である。DDLはデータベースの表などの構造を定義・変更する言語区分で、CREATE TABLEは列名やデータ型を指定して新しい表を定義する。DMLは表に格納するデータを検索・追加・更新・削除する操作を扱い、INSERTは既存表へ新しい行を追加する。両者を逆にした選択肢は構造定義と行操作を取り違え、「両方ともDDL」はINSERTによる行追加を、「両方ともDML」はCREATE TABLEによる構造定義を誤分類している。SQLという共通言語内でも、操作対象が表の構造か表内の行かを分けることが判断軸である。

https://raw.githubusercontent.com/The-Japan-DataScientist-Society/skills-checklist/main/data_engineering.csv ・https://www.postgresql.org/docs/current/sql-createtable.html ・https://www.postgresql.org/docs/current/sql-insert.html (2026-08-31確認)

56 ・ ITセキュリティ

取引先へ送る電子文書に送信者が電子署名を付け、受信者が署名を検証する。署名生成と検証に使う鍵の組合せとして正しいものはどれか。

  • 送信者の秘密鍵で署名し、対応する送信者の公開鍵で検証する
  • 受信者の公開鍵で署名し、対応する受信者の秘密鍵で検証する
  • 送信者の公開鍵で署名し、対応する送信者の秘密鍵で検証する
  • 同じアクセストークンで署名と検証の両方を行う
答えと解説を見る
送信者の秘密鍵で署名し、対応する送信者の公開鍵で検証する正解
解説

正解は「送信者の秘密鍵で署名し、対応する送信者の公開鍵で検証する」である。NIST FIPS 186-5では、署名者は秘密に保つ秘密鍵をデジタル署名の生成に使い、検証者は対応する公開鍵を署名の検証に使う。これにより、署名者の真正性と署名後にデータが不正変更されていないことを確認できる。受信者の公開鍵で暗号化し受信者の秘密鍵で復号する流れは、内容を読めない形にして機密性を守る公開鍵暗号化の手順であり、送信者の署名検証とは鍵の所有者と向きが異なる。送信者の公開鍵で署名して秘密鍵で検証する組は役割が逆で、アクセストークンは認可されたAPIアクセスに使う情報であり電子署名鍵ではない。

https://raw.githubusercontent.com/The-Japan-DataScientist-Society/skills-checklist/main/data_engineering.csv ・https://csrc.nist.gov/pubs/fips/186-5/final (2026-08-31確認)

57 ・ プログラミング基礎

ホワイトボックステストで、if score >= 60なら「合格」、elseなら「不合格」を返すコードの分岐を確認する。既存テストscore=80はif側だけを実行した。未実行のelse側を通す追加入力はどれか。

  • score=100
  • score=80
  • score=60
  • score=50
答えと解説を見る
score=50正解
解説

正解は「score=50」である。条件`score >= 60`はscoreが60以上なら真となってif側の「合格」を、60未満なら偽となってelse側の「不合格」を実行する。既存の80は真側をすでに通っているため、未実行の偽側を確認するには60未満の値が必要で、候補では50だけが該当する。100と80は明らかに60以上で、60も境界値だが比較演算子に等号が含まれるため真側へ進む。ホワイトボックステストはコード内部の分岐構造を見て、まだ実行していない経路を狙ってテストケースを設計できる。入出力仕様だけから結果を選ぶのではなく、演算子`>=`とif/elseの両方を読み、既存テストで未到達の分岐を特定することが要点である。

https://raw.githubusercontent.com/The-Japan-DataScientist-Society/skills-checklist/main/data_engineering.csv (No.114)・https://istqb.org/wp-content/uploads/2024/11/ISTQB_CTFL_Syllabus_v4.0.1.pdf (4.3.2、2026-08-31確認)

58 ・ プログラミング基礎

データ件数nに対し、外側をn回、各回で内側をn回実行する二重ループがある。nを200から400へ増やすと、内側の処理回数はどのように変わるか。

  • 40,000回から80,000回へ増え、2倍になる
  • 200回から400回へ増え、2倍になる
  • 40,000回から160,000回へ増え、4倍になる
  • 400回から800回へ増え、2倍になる
答えと解説を見る
40,000回から160,000回へ増え、4倍になる正解
解説

正解は「40,000回から160,000回へ増え、4倍になる」である。内側の処理回数は、外側の反復回数と各回の内側の反復回数の積で求める。n=200では200×200=40,000回、n=400では400×400=160,000回なので、倍率は160,000÷40,000=4倍である。40,000回から80,000回という答えは、一方のループだけが2倍になったと扱っている。200回から400回は外側だけを数え、400回と800回はそれぞれ外側と内側の回数を200+200、400+400と足した値を処理回数のように扱っており、どちらも内側処理の総数ではない。二重ループでは、両方の反復回数が同じnに従うとき、nを2倍にすると積は2×2で4倍になる。コードの段数やnの差ではなく、実行される処理の総数を新旧それぞれで計算することが判断軸である。

https://raw.githubusercontent.com/The-Japan-DataScientist-Society/skills-checklist/main/data_engineering.csv (No.128、2026-08-31確認)

執筆: ミナト編集部運営者情報を見る

章別問題ページ