HireRoot

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

コーディング試験を受ける手順(候補者向け)

はじめに

こんにちは! 株式会社ハイヤールーの谷合(@poster-keisuke)です。

今回コーディング試験の形式が一新され生まれ変わりました。 以前のSpot/Batchが統合され、よりシンプルになりました。

本記事では候補者の方向けに機能の使い方と、大まかなコーディング試験の進め方について説明をしたいと思います。

選考前に流れを把握する際や選考中に使い方等でお困りの際に是非お役立ていただければと思います。

ではさっそく説明していきます。

一連の流れ

コーディング試験の大まかな流れは以下の通りです。

  1. コーディング試験の承諾
  2. コーディング試験の実施・提出

それぞれ順に説明していきます。

1. コーディング試験の承諾

まず面接官の方から共有された選考URLをブラウザで開くことによって、承諾を行います。

候補者の方はGithubでログインできるようになっているため、まずはGithubでサインインを行います。

サインイン後に以下のようなコーディング試験招待画面にリダイレクトされるので、承諾を行います。(図1参照) すでにサインイン済みの場合は直接招待画面が表示され、コーディング試験の承諾が可能になっています。

f:id:poster-keisuke:20210527143514p:plain
図1 承諾時の画面

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

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

承諾したコーディング試験を一覧の中から、実施したいコーディング試験を選択をすることで、開始されます。 提供されるWebのUI(オンラインIDEなど)を使用し出題された問題を順に提出していきます。

出題される問題形式ごとに操作が異なるため、以下では各問題ごとのインターフェースの説明を行っていきます。

i. アルゴリズム形式

基礎的なコンピューターサイエンスの知識を必要とするアルゴリズムの問題が複数出題される形式です。問題によって異なりますが1問約30分ほどで解答できるような問題が多いです。

オンラインIDEから言語の選択、問題の選択、コンパイル・実行、提出が可能となっています。問題文をしっかり読み、解答となるコードを書きテストを行った上「提出して次に進む」ボタンから提出が可能です。

アルゴリズム形式にはオンライン/オフライン2つの出題方法があり、オフラインの場合は決められた期限内(図2のスケジュール画面から参照可能)に可能な限り問題を解きます。オフラインで行う場合は、期限内であれば何度でもセッションをぬけることが可能です。

オンラインの場合は、事前に共有された実施日に一覧から選択することで、面接官と同じセッションでコーディング試験を実施することができます。

f:id:poster-keisuke:20210527143741p:plain
図2 スケジュール画面

問題は一問ずつ提出する必要があり、一度提出したコードは再提出できないため事前にしっかりテストを行って下さい。全ての問題を解き終えるか制限時間に達した場合には右上のボタンからセッションを抜けることが可能です。

f:id:poster-keisuke:20210527143818g:plain
図3 コードの実行と提出

アルゴリズム形式の詳細については以下に記事にまとまっておりますので、ぜひそちらもご覧ください。

blog.hireroo.io

アルゴリズム形式の説明は以上です。

ii. 技術特化形式

アルゴリズム形式の問題と異なり、より実践に近い問題(指定されたフレームワークを使ったサーバーの実装など)を解きます。

用意された環境がすでにインストールされたオンラインIDEが提供されるため準備は不要です。オンラインIDEの画面は以下のようになっており、はじめに「インスタンスを起動する」ボタンを押しインスタンスを起動します。

f:id:poster-keisuke:20210527143957g:plain
図4 インスタンス起動

初回のインスタンス起動には少々時間(約3~5分)がかかります。起動を終えるとオンラインIDEとTerminalが繋がります。必要なファイルの作成は真ん中上部のファイルアイコンをクリックするとフォーカスされている階層にファイルが作成されます。

ファイルの削除は作成ボタンの横のゴミ箱アイコンをクリックすることで消すことができます。削除対象のファイルはフォーカスが当てられているファイルとなるのでご注意下さい。(図5参照)

f:id:poster-keisuke:20210527144048g:plain
図5 ファイル追加・削除

サーバーの起動や必要なパッケージのインストールには画面下のターミナルを使用します。Ubuntu環境がインストールされているため、 apt-get コマンドなどが実行できます。

ターミナルは複数開くことが可能です。片方でサーバーを起動し、別のターミナルで curl を localhost に対して投げることができます。

f:id:poster-keisuke:20210527144154g:plain
図6 ターミナル

問題の説明文をしっかり読み、必須事項を満たした後、「課題を提出」ボタンから提出が可能です。一度提出したコードは再提出できないため、しっかりテストをした上提出して下さい。

これで技術特化形式の説明は以上です。

iii. 選択問題形式

最後に選択問題形式です。

こちらは用意された選択肢の中から正しい答えを選ぶ問題形式です。 1問あたり1分30秒程度の制限時間が設けられており、その時間内に解答を提出してもらうような形となっております。上記2つとは異なりコーディングは不要です。

f:id:poster-keisuke:20210527144315g:plain
図7 選択問題形式の画面

20 ~ 30問のまとまりをパッケージと表現しており、1パッケージの解答にかかる時間は約30分程です。出題時は1~3パッケージまとめて出題されることもありその場合は全体で1時間30分程度で解答可能です。

また一つのパッケージの解答後に次のパッケージを開始するかどうかを決めることができるため、日中業務で忙しい方でも空いた時間にちょこちょこと解答していく事ができます。

全ての問題を提出し終えたらコーディング試験は終了です。 選択問題形式はとてもシンプルなUIのため、これで説明は以上となります。

まとめ

コーディング試験を受ける手順を説明してきました。 出題される問題形式ごとに若干の手順が異なるため、解答前に一通りこの記事を読んでいただけば流れが理解できるかと思います。

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

最後まで読んでいただきありがとうございました。 今後も候補者の方がストレスなくコーディング試験を受けられるような新機能の開発や既存機能の改善を行っていきます。

もしこうした開発に興味を持ってくださる方がいらっしゃればTwitterのDMか、以下の募集からぜひお声がけください!

www.wantedly.com

それでは!