コーディング形式のレポート
各機能の説明コーディング形式試験の評価指標と機能詳細
コーディング形式の試験では、候補者が提出したコードは自動で定量的に評価されます。 本記事では、評価レポートにおける各主要指標の見方や、各種機能(行動検知、プレイバック、スキル面接など)について解説します。
各主要指標の見方
評価レポートには、「スコア」「正解率」「パフォーマンス」「可読性」の各指標が表示されます。
スコア
「総合得点」を表します。 各指標に対して以下の重み付けを行った平均値です。
- 正解率: 0.7
- パフォーマンス: 0.2
- 可読性: 0.1
正解率
「コードの正しさ」を示す指標です。 事前に用意されている複数のテストケースのうち、提出コードがどのくらい期待通りに動作しているかを割合で示します。
- テスト内容: 通常の入力から、問題内の制約を超えない程度の異常値入力などを含みます。
- 確認方法: 候補者の受験環境でもテストケースを実行して確認可能です(ただし、採点時のみ使用される非公開テストケースが存在する場合があります)。
パフォーマンス
「コードの実行速度」を示す指標です。 サイズの大きい入力に対して、候補者のコードの実行速度(実線)と最適解の実行速度(破線)を比較します。
- 算出方法: 実行速度が最適解の 3σ (標準偏差)以内に収まっているテストケースの割合を算出します。
- 比較機能: 問題によっては「愚直解」や「準最適解」とのグラフ比較が可能です。
- 注意点: 正解率が 0 の場合、パフォーマンスの値も 0 となります(正しくないコードの速度評価を除外するため)。
可読性
「コードの可読性」を表す指標です。 候補者のコードの「循環的複雑度」を計算し、 0% 〜 100% で評価します。
- 評価基準: 複数ある模範解答の最小値と「最大値 × 1.5 」した値を比較基準とします。
- 傾向: コードが複雑になるほど循環的複雑度が上がり、スコアは低くなります。
相対評価と解答詳細
相対評価
同じ問題を解いた候補者との相対的な位置(順位や偏差)を比較します。 詳細については、別途「相対評価について」のページをご覧ください。
解答詳細
候補者の取り組みに関する詳細データを確認できます。 各項目の横にあるアイコンにカーソルを合わせると、全解答者(他社候補者含む)の平均値と比較できます。
- 選択言語: 提出時に選択されていたプログラミング言語。
- 経過時間: 候補者が問題を開いていた時間。
- 実行回数: 提出までにテスト実行を行った回数。
- 使用したヒント: 提出までに使用したヒントの数。
- 予測計算量: システム内で予測されたアルゴリズムの計算量。
- パフォーマンス: パフォーマンス算出時の平均実行速度。
- メモリ: パフォーマンス算出時の平均メモリ使用量。
行動検知機能
受験中の候補者の行動履歴を記録・分析する機能です。
- 離脱回数: タブ切り替えや別アプリの操作により、回答画面から離れた回数。
- ペースト回数: エディタ内でコードがペーストされた回数。
- ペースト検知: ペーストされた箇所を赤くハイライト表示します。
- IPアドレス検知: 回答者のIPアドレスと検知回数を表示します。
- 類似コード: Web上のコードと類似している場合、件数と該当コードをハイライト表示します(アルゴリズムとクラスの問題のみ対象)。
提出コードの確認
提出コード
候補者が「提出する」ボタンを押した最終的なコードです。 複数回提出された場合は、選択されている提出物が表示されます。
説明文
受験中に候補者が入力できる自然文のメモです。 問題への取り組み内容や、思考プロセスなどが記入されている場合に表示されます。
プレイバック機能
提出コードだけでなく、コーディングの途中経過(思考の過程)を動画のように再生できる機能です。 「プレイバック」ボタンから利用できます。
基本操作
- 再生コントロール: 画面下部のタイムバーで再生・停止、イベントごとのスキップが可能。
- 外部ツール利用履歴: 画面右側でWeb検索やChatGPTの使用履歴を確認可能(テスト作成時に許可した場合)。
- 表示切替: タイムバーの歯車マークで、Web検索 / ChatGPTの表示・非表示を切り替え可能。
プレイバック詳細情報
拡大ボタンなどを押すと、より詳細な分析画面が表示されます。
- イベント経緯: 左側に各イベントの発生経過時間が表示され、クリックするとその時点のエディタ状態を確認できます。
- 数値データ: エディタ上部のボタンから以下の集計情報を確認できます。
| 項目 | 内容 |
|---|---|
| 時間割合 | コーディング、Web検索、ChatGPT、ページ離脱の各操作時間 |
| 活動履歴 | 経過時間ごとに「どの操作を何回行ったか」を表示 |
| コードの実行時間 | コード実行イベントの発生タイミング(プログラム処理時間ではありません) |
| 検索クエリ | Web検索時の検索ワード |
| ページ離脱時間 | 離脱した時点の経過時間と継続時間 |
| ヒントの使用頻度 | ヒントを使用した時点の経過時間 |
重要
各イベントの利用・実行時間は、「該当イベント発生時刻」から「次のイベント開始時刻」までの間を指します。これには候補者の思考時間も含まれます。
スキル面接機能
エンジニア採用に特化した面接支援機能です。 提出されたコードや設計内容に基づき、面接をスムーズに進めるためのツールを提供します。
主な機能
- 質問の自動生成 提出コードや設計書を解析し、面接で深掘りすべき質問を自動生成します。事前の質問準備工数を削減できます。
- ライブコーディング 面接中に提出物を参照しながら、その場でコードを書いてもらうライブコーディングが実施できます。
- シームレスな面接体験 提出結果と面接を接続することで、一貫性のある評価が可能になります。