コーディングテストの結果を解釈するためのガイドです。
コーディングテストは、応募者のコーディングスキルを評価するために設計された技術テストです。スコアをパーセンテージで提供することに加え、テスト中に応募者自身が実際にどのように行動したかを確認することができます。この記事では、報告書を読んで理解する方法を説明します。コーディングテストは、すべてのプランでご利用になれます。
読了時間:約4分
この記事では以下の内容をご確認いただけます。
全体的な結果
全体的な結果は、応募者の結果ページの、テストセクションに記載されています。
ここでは、応募者が達成したスコアと時間をご確認いただけます。
詳細なテストレポートを表示するには、(レポート)リンクをクリックしてください。
コーディングテストレポート
コーディングテストレポートは、ブラウザ上に新しいタブとして表示されます。
ページ上部で、このレポートを同僚にメールで送信することができます。レポートは、14日間ご覧いただけます。
|
||
テストスコア。テストスコアは、合格したバリデーションテストケースの%を表します。テストスコアは、正確性スコアとパフォーマンススコアに分類されますが、ほとんどのコーディングテストでは正確性スコアのみが表示されます。 |
||
正確性スコア。正確性スコアは、特定のインプットが、求められているアウトプットを返すかどうかを判断するすべてのバリデーションテストケースに適用されます。 |
||
質問。応募者が受け取ったコーディングに関する質問。弊社のライブラリのすべてのコーディングテストには、出題可能なコーディングに関する質問のデータベースがあります。テスト中に、データベースの中から1つのみが応募者に出題されます。質問は、通常、いくつかのコンテクストを提供し、要件を指定し、コードがどのように機能するかを示す例をいくつか提供します。 |
||
タイムライン。タイムラインを使用して最初から最後までコードを再生できます。これにより、コードがどのように組み合わされたのかを確認することができます。タイムラインでは、応募者がコードの要素をいつコピー&ペーストしたかをラベル付けします。貼り付けられた部分は、エディターで黄色で強調表示されます。 |
||
解答。このウィンドウは動的です。表示される情報は、タイムラインバーの位置に依存します。タイムラインの開始時に、このウィンドウはほとんど空の状態です。タイムラインが終了すると、応募者が解答を提出する前に、最終エントリーを確認できるようになります。 |
||
ユーザーとバリデーションの結果。ここでは、各テストケースで応募者がいかに解答したかを結果とともに確認できます。各テストケースをクリックすると、応募者のコードに基づき、期待される結果およびユーザーの結果が表示されます。バリデーションの結果は、応募者が出題に対して最終的に提出した結果であり、合格か不合格かを決定します。 |
テストケースとバリデーションケース
テストケースは、テスト中に応募者がコードの実行を選択した際に、それを参照しコードをテストする仮のシナリオです。コードを確実に機能するようにすることが、その目的です。これらのテストケースでは、コード内の所与のインプットが、求められているアウトプットを返すかどうかをチェックします。基本的に、応募者はテストケースを使用し、自分のコーディングの精度を確認します。テストケースの結果は、テストスコアには影響しません。
バリデーションケースとは、実際に解かなければならないコーディング演習であり、テストスコアを決定します。最終的なコードを送信したあと、求められている結果が得られたかどうかを、完全に検証しチェックします。バリデーションケースをパスしないと、テストに合格できません。テスト中、応募者はコードがバリデーションケースに合格しているかどうかを確認できません。
理論上は、テストケースで不合格でも、バリデーションケースで合格することが可能です。また、テストケースで合格しても、バリデーションケースで不合格になることもあり得ます。
エラーメッセージ
応募者が、テストケースまたはバリデーションケースに不合格な場合、エラーメッセージが表示されます。次のような典型的なエラーメッセージが表示されます。
- タスクがエラーで終了しました。少なくとも1つのテストケースの実行中に、例外が発生しました。この場合、いくつかのテストケースで合格していたとしても、どのバリデーションケースでも合格しなかったため、スコアは0%です。
- タスクが不明のステータスに到達しました。コードをコンパイルできませんでした。例えば、応募者が関数シグネチャに変更を加えた場合などに、このようなエラーが出ることがあります。この場合、どのテストケースにも合格せず、テストのスコアも0%です。
- タスクがタイムアウトしました。指定されたランタイム制限内に、コードを実行できませんでした。この場合、テストのスコアは0%です。
- サポートされていないオペランドの種類。これは、応募者がこのテストシナリオに使用される特定のコードライブラリでサポートされていない操作をしたことを示します。SQLiteの代わりにmySQLコマンドを使用するなどです。
よくある質問
0%の場合、開発者のパフォーマンスが悪いため、採用しないほうがよいですか?
必ずしもそうではありません。数学の先生が、あなたがどのように解にたどり着いたかを示すよう、いつも促していたことを覚えていますか?そうでなければ、部分点が付かないからです。
残念ながら、コンピュータシステムは実際に部分点を付けることができません。コードは機能するか、機能しないかで判定されます。これがコーディングレポートを共有している理由です。社内の開発者が、応募者の解答を確認し、その情報に基づいてより良い意思決定を行うことができます。
応募者は、小さなタイプミスを修正する時間がなかったことを除けば、コードは完璧だったかもしれません。それでもスコアは0%ということもあり得ます。開発者にコードを確認してもらわなければ、優秀な応募者を見逃す可能性があります。
コーディングレポートを誰と共有できますか?
レポートは、登録されているTestGorillaユーザーであるかどうかにかかわらず、誰とでも共有できます。希望者のメールアドレスを入力するだけで、報告書への直接リンクが送信されます。報告書を閲覧するのにアプリにログインする必要はありません。
面接者が開発者でない場合、またはコーディングの経験がない場合は、相応の担当者にレポートを見てもらうことをお勧めします。そのような担当者なら、応募者のパフォーマンスと提出内容について、さらなる洞察を加えることができるでしょう。
パフォーマンススコアとは何ですか?
パフォーマンススコアは、パフォーマンステストケースで構成されています。これらのテストケースでは、適切なアウトプットが必要となるだけでなく、指定された時間枠(ミリ秒単位)内にアウトプットを返す必要があります。
パフォーマンステストケースは、コードに効率的な要件がある場合にのみ使用されます。パフォーマンススコアは、該当する場合、正確性スコアの下に表示されます。