HackerRank面接はどうすれば突破できるか?

文責 Aaron Cao · 更新

HackerRank面接はどうすれば突破できるか?
決め手は三つあります。サンプルケースだけでなく隠しテストケースに合格すること、タイマー内に終わらせること、そしてプロクタリングのウィンドウ内にとどまり続けることです。HackerRank自体のエディタで練習しておけば、環境そのものが不意打ちになることはありません。

決め手は三つあります。サンプルケースだけでなく隠しテストケースに合格すること、タイマー内に終わらせること、そしてプロクタリングのウィンドウ内にとどまり続けることです。HackerRank自体のエディタで練習しておけば、環境そのものが不意打ちになることはありません。

HackerRankは実際に何を採点しているのか?

採用担当者が目にするスコアは、合格か不合格かだけではありません。HackerRankのアセスメントは同時にいくつかの項目を報告しており、どれが独立して動くのかを知ることで、タイマーの使い方が変わってきます。

  • 合格したテストケースの数。各問題は、目に見えるサンプルケースと、それより大きな隠しセットの両方に対して実行されます。空の入力、単一要素、重複、最大サイズといったものは、この隠しセットの中に潜んでいます。失点の大半はアルゴリズムの誤りではなく、エッジケースによるものです。
  • 部分点。採点は通常テストケースごとに行われるため、正しいが遅い解法でも実質的な得点になります。提出されなかった完璧な解法は、一点にもなりません。
  • 時間とメモリの制限。問題側でこれらが設定されている場合、非効率な解法はすべてのサンプルには合格していても、大きな隠しケースではタイムアウトします。
  • プロクタリングレポート。タブの切り替え、フォーカスの喪失、貼り付けイベント、そして有効になっている場合はWebカメラのスナップショットが、採用担当者が読めるようあなたの提出物に添付されます。

他の採用プラットフォームが各段階で何を試験しているかについては、採用プラットフォームのハブにまとめています。

アセスメントラウンドにはどう備えるべきか?

アルゴリズムはすでに理解しているのに前回も失点した、というのは練習が無駄だったように感じられるものです。このセクションでは、スキルではなく環境に関する部分を扱います。取り戻せる点数の大半はここにあり、しかも取り戻すコストは低いのです。

  • HackerRankのエディタで練習する。それはあなたのIDEではありません。頼りにしている自動補完もデバッガもなく、あなたのキーバインドも消えています。本番の前に、いくつかの問題をそのエディタの中で最後まで解いておきましょう。
  • 入力スタブの読み方を学ぶ。問題によっては解析済みの関数シグネチャが渡されることもあれば、自分で標準入力から読み取る必要があることもあります。スタブを読み違えることは、ロジックが正しくてもすべてのテストケースで失敗する典型的な原因です。
  • 最も印象的に見える言語ではなく、最も早くデバッグできる言語を選ぶ。合格基準はテストに通ることです。
  • まずブルートフォースを書いて提出し、それから最適化する。タイマーが切れる前に部分点を確保しておくことは、最も価値の高い習慣です。
  • 境界値を手で確認する。空の入力、要素一つ、すべて同一、最大サイズ。

プラットフォームチームのスクリーニングに備えていたバックエンドエンジニアを例に考えてみましょう。彼は根底にある問題自体はすでに解いたことがありましたが、テストの最初の時間帯を入力パースのスタブと格闘して費やし、三つではなく一つの解法しか提出できませんでした。彼のアルゴリズムの知識は、まったく制約になっていませんでした。

CodePairのライブラウンドでは何が変わるのか?

CodePairは通話上に人間がいる共有エディタであり、そのためテストというよりはコードの成果物を伴う対話になります。採点は人による判断であり、沈黙は印象を悪くします。

  • 問題を自分の言葉で言い直し、何も書き始める前に制約条件を確認しましょう。
  • まずアプローチを声に出して説明します。却下した案とその理由も含めてです。面接官は推論過程を評価しており、却下した案はその証拠になります。
  • 話しながら入力します。長い沈黙は、このラウンドについて面接官が挙げる最もよくある不満です。
  • 自分のテストケースを説明します。促されずにエッジケースを一つずつ確認することは、非同期ラウンドの隠しテストが測っているのと同じ配慮を示すことになります。
  • 最適化する前に確認します。面接官が求めているのは、最適な解法ではなく、動く版と計算量の議論であることが多いのです。

その説明を声に出して練習するのが模擬面接モードの目的です。ここでの失敗はアルゴリズムではなく言葉によるものだからです。

AI面接アシスタントはどこに当てはまり、どこには当てはまらないのか?

この点について率直であることは、マーケティング的な答えよりも重要です。

  • プロクタリング付きのHackerRankアセスメントは対象範囲外です。プロクタリングはタブの切り替え、フォーカスの喪失、貼り付けイベント、Webカメラのフレームを記録します。画面共有、画面録画、プロクタリング環境、会社管理のマシンは、いかなるアシスタントも適切ではないケースであり、SubcueAIもそうではないと主張することはありません。
  • 準備の段階では当てはまります。事前に声に出して模擬ラウンドを行うことで、CodePairラウンドが評価する説明の習慣が身につきます。
  • コーディングラウンドの前後にある行動面接やシステム設計の対話は、通常のミーティングソフト上で行われる通常の面接であり、それこそがSubcueAIが対応している場面です。

プラットフォームが何を見ることができ、何を見ることができないかについては、検知可能性のハブで詳しく解説しています。

よくある質問

すべてのテストケースに合格しないと不合格になりますか?

通常はなりません。採点は一般にテストケースごとに行われるため、部分的な解法でも部分点が得られ、採用担当者は合否ではなくスコアを目にします。動作するブルートフォースの解法を提出することは、最適化にこだわって問題を空のままにしておくよりも、ほとんどの場合優れています。

タブを切り替えて何かを調べてもよいですか?

プロクタリングはそれを記録します。それが問題になるかどうかは雇用主のポリシー次第であり、それはテストの開始時に明示されます。ドキュメントの参照を明示的に許可しているテストもあります。フォーカスの変化はすべて記録され、あなたの提出物に添付されると考えておきましょう。

どの言語を選ぶべきですか?

職種が特定の言語を指定していない限り、時間的プレッシャーの中で最も速く書けてデバッグできる言語を選んでください。得点はテストケースに合格することから得られ、言語そのものには点数は与えられません。

CodePairは持ち帰り式のアセスメントとどう違いますか?

CodePairは面接官が見ているライブの共有エディタです。結果を決める隠しテストケースは存在せず、人があなたの推論、質問、そしてヒントへの対応の仕方を評価します。声に出して考えることは、最終的なコードと同じくらい重要です。

HackerRankのテスト中にAIアシスタントを使ってもよいですか?

プロクタリング付きのテスト中はいけません。プロクタリングはタブの切り替え、貼り付けイベント、カメラのフレームを記録しており、テストが禁止している外部の助けを使うことは、盗用のフラグが立つリスクを伴います。代わりにテスト前の練習ラウンドを利用してください。

関連する質問

← 詳しく見る: 採用プラットフォームと選考プロセス