コーディング形式のレポート

各機能の説明

コーディング形式試験の評価指標と機能詳細

コーディング形式の試験では、候補者が提出したコードは自動で定量的に評価されます。 本記事では、評価レポートにおける各主要指標の見方や、各種機能(行動検知、プレイバック、スキル面接など)について解説します。

各主要指標の見方

評価レポートには、「スコア」「正解率」「パフォーマンス」「可読性」の各指標が表示されます。

スコア

「総合得点」を表します。 各指標に対して以下の重み付けを行った平均値です。

  • 正解率: 0.7
  • パフォーマンス: 0.2
  • 可読性: 0.1

正解率

「コードの正しさ」を示す指標です。 事前に用意されている複数のテストケースのうち、提出コードがどのくらい期待通りに動作しているかを割合で示します。

  • テスト内容: 通常の入力から、問題内の制約を超えない程度の異常値入力などを含みます。
  • 確認方法: 候補者の受験環境でもテストケースを実行して確認可能です(ただし、採点時のみ使用される非公開テストケースが存在する場合があります)。

パフォーマンス

「コードの実行速度」を示す指標です。 サイズの大きい入力に対して、候補者のコードの実行速度(実線)と最適解の実行速度(破線)を比較します。

  • 算出方法: 実行速度が最適解の (標準偏差)以内に収まっているテストケースの割合を算出します。
  • 比較機能: 問題によっては「愚直解」や「準最適解」とのグラフ比較が可能です。
  • 注意点: 正解率が 0 の場合、パフォーマンスの値も 0 となります(正しくないコードの速度評価を除外するため)。

可読性

「コードの可読性」を表す指標です。 候補者のコードの「循環的複雑度」を計算し、 0%100% で評価します。

  • 評価基準: 複数ある模範解答の最小値と「最大値 × 1.5 」した値を比較基準とします。
  • 傾向: コードが複雑になるほど循環的複雑度が上がり、スコアは低くなります。

相対評価と解答詳細

相対評価

同じ問題を解いた候補者との相対的な位置(順位や偏差)を比較します。 詳細については、別途「相対評価について」のページをご覧ください。

解答詳細

候補者の取り組みに関する詳細データを確認できます。 各項目の横にあるアイコンにカーソルを合わせると、全解答者(他社候補者含む)の平均値と比較できます。

  • 選択言語: 提出時に選択されていたプログラミング言語。
  • 経過時間: 候補者が問題を開いていた時間。
  • 実行回数: 提出までにテスト実行を行った回数。
  • 使用したヒント: 提出までに使用したヒントの数。
  • 予測計算量: システム内で予測されたアルゴリズムの計算量。
  • パフォーマンス: パフォーマンス算出時の平均実行速度。
  • メモリ: パフォーマンス算出時の平均メモリ使用量。

行動検知機能

受験中の候補者の行動履歴を記録・分析する機能です。

  • 離脱回数: タブ切り替えや別アプリの操作により、回答画面から離れた回数。
  • ペースト回数: エディタ内でコードがペーストされた回数。
  • ペースト検知: ペーストされた箇所を赤くハイライト表示します。
  • IPアドレス検知: 回答者のIPアドレスと検知回数を表示します。
  • 類似コード: Web上のコードと類似している場合、件数と該当コードをハイライト表示します(アルゴリズムとクラスの問題のみ対象)。

提出コードの確認

提出コード

候補者が「提出する」ボタンを押した最終的なコードです。 複数回提出された場合は、選択されている提出物が表示されます。

説明文

受験中に候補者が入力できる自然文のメモです。 問題への取り組み内容や、思考プロセスなどが記入されている場合に表示されます。


プレイバック機能

提出コードだけでなく、コーディングの途中経過(思考の過程)を動画のように再生できる機能です。 「プレイバック」ボタンから利用できます。

基本操作

  • 再生コントロール: 画面下部のタイムバーで再生・停止、イベントごとのスキップが可能。
  • 外部ツール利用履歴: 画面右側でWeb検索やChatGPTの使用履歴を確認可能(テスト作成時に許可した場合)。
  • 表示切替: タイムバーの歯車マークで、Web検索 / ChatGPTの表示・非表示を切り替え可能。

プレイバック詳細情報

拡大ボタンなどを押すと、より詳細な分析画面が表示されます。

  • イベント経緯: 左側に各イベントの発生経過時間が表示され、クリックするとその時点のエディタ状態を確認できます。
  • 数値データ: エディタ上部のボタンから以下の集計情報を確認できます。
項目 内容
時間割合 コーディング、Web検索、ChatGPT、ページ離脱の各操作時間
活動履歴 経過時間ごとに「どの操作を何回行ったか」を表示
コードの実行時間 コード実行イベントの発生タイミング(プログラム処理時間ではありません)
検索クエリ Web検索時の検索ワード
ページ離脱時間 離脱した時点の経過時間と継続時間
ヒントの使用頻度 ヒントを使用した時点の経過時間

重要

各イベントの利用・実行時間は、「該当イベント発生時刻」から「次のイベント開始時刻」までの間を指します。これには候補者の思考時間も含まれます。


スキル面接機能

エンジニア採用に特化した面接支援機能です。 提出されたコードや設計内容に基づき、面接をスムーズに進めるためのツールを提供します。

主な機能

  1. 質問の自動生成 提出コードや設計書を解析し、面接で深掘りすべき質問を自動生成します。事前の質問準備工数を削減できます。
  2. ライブコーディング 面接中に提出物を参照しながら、その場でコードを書いてもらうライブコーディングが実施できます。
  3. シームレスな面接体験 提出結果と面接を接続することで、一貫性のある評価が可能になります。