HackerRankは不正を検知するか?
文責 Aaron Cao · 更新

検知する。HackerRankはすべての提出物についてコード類似度を採点し、タブ切り替え、ペーストイベント、フルスクリーン終了を記録する。企業はウェブカメラによる監視を追加することもできる。出力結果はリクルーターが読むレポートであるため、フラグは自動的な不合格ではなく精査を招くものであり、監視していない応募については何も検知できない。
HackerRankは実際に何を検知しているか?
アセスメントのリンクを前にして、何が記録されるのか推測しているとしたら、それは準備として最悪の方法だ。そこで本セクションではHackerRankが収集するシグナルを一覧にする。全部で四つあり、最後の一つだけが任意である。
- コード類似度採点。各提出物は過去の膨大な提出物や公開コードと比較され、類似度スコアが付けられる。
- フォーカスとタブの追跡。テストのタブから離れたりフルスクリーンを終了したりするたびにカウントされ、時刻が記録される。
- コピー&ペーストの記録。エディタへのペーストイベントは記録され、リクルーターのレポートに表示される。
- ウェブカメラ監視。企業が有効にすると、テストは定期的に画像スナップショットを取得する。
これらはどれも判定そのものではない。あくまでレポートへの入力情報であり、レポートは人の手に渡る。
盗用チェックはどう機能するか?
類似度エンジンは候補者が見くびりがちな部分だ。今日同じテストを受けている他の受験者のコードとだけ比較しているのではなく、過去の膨大な提出物や公開ソースとも照合してスコアを付ける。多くの他の候補者も貼り付けたことのある解答を貼り付けることは、そのスコアを押し上げる最も速い方法だ。
あるバックエンドエンジニアが中程度の難易度の問題を解く際、どこかで生成された完全な解答を貼り付けた。同じ設問に対して非常に多くの候補者がほぼ同一の出力を提出していたため、類似度スコアが跳ね上がり、リクルーターは本来なら優れた結果の横に盗用フラグを見ることになった。コードは正しく動作した。それでもそのフラグは、候補者がその場で答えなければならない質問を招いた。
面接ツール全体のトレードオフをプラットフォームごとにまとめたものは、検知可能性のトピックハブにある。
検知できないものは何か?
シグナルを知ることと同じくらい、境界を知ることも重要だ。HackerRankの標準的な監視はブラウザのテスト環境の内部で動作する。企業が特に画面録画やライブでの人による監視を有効にしない限り、あなたのマシン上の他のアプリケーション、二台目のモニター、机の上のスマートフォン、カメラの外にいる人物を見ることはできない。
また、それが報告するのは確実な事実ではなくシグナルだ。設問を読み直すための一度のタブ切り替えは、それ単体では何も証明しない。レポートは回数を示すだけで、そこに意味を与えるのは人間である。だからこそ企業は、フラグだけを信じるのではなく、自動化されたテストの上にライブの会話やウェブカメラを重ねるのだ。
通話で行われるライブのコーディングラウンドは異なるルールに従っており、面接タイプのハブが形式ごとに詳しく整理している。
SubcueAIはどこに当てはまり、どこには当てはまらないか?
適用範囲について率直であることは、セールストークよりも役に立つ。SubcueAIが支援するのはライブの口頭面接だ。macOSおよびWindows向けのデスクトップアプリは面接の音声を聞き取り、フローティングのローカルオーバーレイに提案を表示する。ブラウザ拡張機能のサイドパネルは、会議タブの音声をキャプチャすることでChromiumブラウザ上でも同じことを行う。会議に参加するボットは存在せず、会議ページにコンテンツスクリプトが注入されることもない。
HackerRankのアセスメントは、ブラウザ内でタイピングして行うコーディングテストだ。SubcueAIはそこにコードを入力したり貼り付けたりするようには作られておらず、生成されたコードを貼り付ければ、まさに前述の類似度フラグやペーストフラグが発生してしまう。SubcueAIの創業者であるAaron Caoは、アシスタントを会議やテストのソフトウェアに注入するのではなく、その外側に留めた。注入されたブラウザツールはテスト環境が記録できる痕跡を残すからだ。
実際に役立つのは口頭でのラウンド、つまり行動面接、画面共有によるデザインディスカッション、あるいは考えを話しながら進めるコーディングコールだ。そこでも制限は変わらず、録画されたセッションや監視付きのセッションは対象外のままである。口頭部分を練習するために模擬面接がある。