HireRoot

ここからはじまる、エンジニア採用

Spot機能紹介(候補者向け)

こんにちは!株式会社ハイヤールー代表葛岡(@kkosukeee)です。

※2021/05/27更新: こちらの機能はリニュアルされました! 以下の記事から流れを確認できますのでそちらをご参照ください!

blog.hireroo.io

以前Spot機能でアルゴリズム形式のコーディング試験の作り方(面接官向け)の記事を執筆しました。

本記事では候補者の方向けに機能の使い方と、大まかな進め方について説明をしたいと思います。Spot選考実施前に一読いただき、スムーズなコーディング試験を実施していただけると幸いです。

Spot選考とは?

いわゆるGAFAなどの面接における Phone Screening にあたります。基本的にオンラインで面接官の方と一緒に実施いただき、アルゴリズム形式の問題を提供されるオンラインIDEを使って解く選考形式となっています。

Phone Screeningの詳細やいわゆるGAFAの面接などに関しては別記事として執筆しましたのでそちらをご参考にして下さい。

blog.hireroo.io

大まかな流れとして、面接官の方から共有された選考を承諾する。コーディング試験の実施。コードの提出の3ステップです。 各ステップの詳細については、以下で詳しく紹介します。

f:id:KKosukeee:20210323111614p:plain
図1 Spot選考一連の流れ

機能紹介

1. 選考の承諾

まず面接官の方から共有された選考リンクをブラウザで開くことによって選考の承諾を行います。すでにサインイン済みの場合は招待画面が表示され選考の承諾が可能となっています。

サインイン実施前の場合はサインイン画面にリダイレクトされるため、まずはGithubでのサインインを行います。サインイン後に選考招待画面にリダイレクトされるので、リダイレクト先から承諾することが可能です。

f:id:KKosukeee:20210323111850p:plain
図2 選考承諾画面

承諾した選考の一覧はスケジュール画面から確認が可能です。(承諾後一覧に表示されていない場合はリフレッシュを行って下さい)

2. コーディング試験の実施

Spot選考はオンラインで実施のため開始時間が予め設定されています。実施時間に一覧から選考をクリックすることでコーディング試験が開始されます

f:id:KKosukeee:20210323112042p:plain
図3 選考スケジュール画面

提供されるオンラインIDEを使用しアルゴリズムの問題を解きます。問題は複数出題されることもあり、時間内に可能な限り問題を解きます。対応されている言語は現状5言語あり(Python, Go, JavaScript, PHP, Ruby)右上のセレクターから選択が可能となっています。ご自身の得意な言語で選考に臨んでいただけます。

書いたコードはリアルタイムで面接官側にも反映され、選択した言語や問題も全て同期されています。

f:id:KKosukeee:20210323112143g:plain
図4 オンラインIDE操作例

また単にコーディングができること以外にも、面接官の方とのコミュニケーションも非常に重要です。問題についての前提条件など問題文からだけでは分からない情報は適切なコミュニケーションを取りながらコーディング試験を行って下さい。

オンラインIDEでは実際にコードを実行することが可能です。入力をカンマ区切りで「入力」項目に入れ「RUN CODE」ボタンをクリックすることで実際のコードと与えられたを入力でコードを実行します。また期待値との比較も可能となっており、返ってきた出力は「出力」タブから確認が可能です。

f:id:KKosukeee:20210323112401g:plain
図5 コードの実行例

入力記入例

問題文の説明をしっかり読み正しい形で入力してください。例えば第一引数に string、第二引数に int 型を持つ問題の場合、以下のように入力します。

"ここにstringが入ります", 100

現在対応しているデータ型は以下です。正しく入力ができていない場合 InputInvalidError が返り値として処理されます。問題の引数のデータ型を確認し、以下の対応表を参考にし引数を入力してください。

備考
string "hello world" シングルクォートでなくダブルクォート
int 12345 特になし
float 1.2345 特になし
bool true trueもしくはfalse
array [1, 2, 3] 複数要素の場合はカンマ区切り
map {"key": "value"} 複数要素の場合はカンマ区切り
linked list [1, 2, 3] 1->2->3
binary tree [1, 2, 3] nodeが存在しない場合はnull
3. コードの提出

コードを書き終え期待した出力が返るようになれば最後にコードの提出を「SUBMIT CODE」から行います。コードの提出は一問ずつ行います。まとめて提出ではないのでご注意下さい。

提出が成功した場合には成功メッセージが、失敗の際には失敗メッセージが右下に表示されます。各問題提出できる回数は一度となっているため、予め「RUN CODE」で確認した上提出して下さい。提出済みのコードを再度提出行うと失敗メッセージが表示されます。

f:id:KKosukeee:20210323112556g:plain
図6 コードの提出例

問題を全て解き終えた後、もしくは実施時間が終了すれば右上の「セッションを終了する」ボタンが押せるようになります。これでコーディング試験は終了です。

Tips

コーディング試験の実施の項目でも軽く触れましたが、コーディング試験の評価は正しいコードを書けているか否かだけではありません。Spot選考の場合は面接官の方とオンラインで対話方式で問題を解くため、コミュニケーション能力や問題解決力も評価として見られています。

こちらに関しては、別記事でも紹介しておりますので、興味があれば読んでみてください。 黙々と問題を解くのではなく、考えていることを面接官に伝えアルゴリズムのPro/Conなどを正しく伝えることで面接官はコンピューターサイエンスの基礎知識の理解度を評価できます。

blog.hireroo.io

またエッジケースなどの網羅率も定量評価として判断されます。問題文をしっかり読み、想定されるエッジケースを面接官に確認することも大事です。面接官を一緒に問題を解くパートナーと想像しコーディング試験を進めることによって適切なコミュニケーションが取れます。

まとめ

いかがでしたか?Spot選考のUIは非常にシンプルかつ機能性が高いものとなっています。

ここで説明しきれなかった細かな部分や、使い方に困った場合は画面右下の「チャット」から気軽にお問い合わせください(何でも感じたことをフィードバックしていただけるだけでも幸いです!)

ここまで読んできただきありがとうございました。更にCX(Candidate Experience)を改善するために新機能の開発や既存機能の改善を行っていますので、今後も更なるアップデートを乞うご期待ください!