PR

【新卒向け】コーディングテスト対策|試験内容・評価基準・短期対策まとめ

コーディングテストのイメージ図 大学生向け
記事内に広告が含まれています。
スポンサーリンク

新卒エンジニアの就職活動において,「コーディングテストがある」という理由だけで応募を諦めていませんか?

 本記事では,実際に新卒就活で複数のコーディングテストを受験した経験をもとに,試験内容の傾向や評価の考え方,よくある制約,そして短期間でできる現実的な対策について解説します.
「完璧に解けないと落ちるのでは?」と不安に感じている方こそ,ぜひ参考にしてください. 

 また,本記事で紹介する内容は一般的な内容や特定の事例になります.全ての受験先企業やサービスに当てはまるものではありませんので,あらかじめご了承ください.

スポンサーリンク
スポンサーリンク

コーディングテストとは?

 コーディングテストとは,その名の通りプログラミングに関する知識・技術を評価するテストになります.最近では,SaaS企業をはじめとして新卒採用の選考フローにもコーディングテストを取り入れる企業が増えてきています.実施企業数・割合としてはそれほど多くはないものの,進路の幅を広げるという観点からは,コーディングテストに対する苦手意識は払拭出来ている方が望ましいと言えます.

コーディングテストの主な出題形式  監視はある?

 当然,実施企業によって出題内容や形式,試験時間が異なるのは大前提として,私の経験則や見聞きした情報をご紹介したいと思います.

・実施形式:専用のWebサービスを利用した試験(監視なし),
      面接官の前で行うライブコーディング

・試験時間:1時間前後であることが多い

・問題形式(一例):四肢択一問題(小問集合) アルゴリズム(コーディング)問題

 企業によって幅はありますが,私が実際に受験したり見聞きしたりする中では,上記の試験形式が多かったです.

評価・合格基準

 基本的にどこの企業も評価・合格基準については明確にしていない上,コーディングテストをどの程度重視するのかはその企業の採用方針によりますので,一概に基準を示すことはできませんが,「新卒就活生は入社後に育てる」という価値観の企業が多く,受験時点で完璧(極端に高い正答率)を求められている訳ではなさそうだなと感じることも多かったです.

実際に正答率が低くても通過するケースはある?

しば
しば

私自身,小問集合7割(肌感覚),アルゴリズムの大問で1/2の正答率で選考を通過できたこともあります.
実際に,コーディングテスト+面接後のフィードバック面談では,「プログラミング面でやや課題はあるものの,その点については入社後の研修やOJTを通して成長いただければと思います. 人柄の方を重視して内定をお出しします. 」といった趣旨のコメントをいただきました.

 コーディングテストで不合格になる理由は,必ずしも正答率だけではありません.もちろん正答率が重要なファクターであることは否めませんが,企業によっては正答率だけでなく,実行時間やアルゴリズムの創意工夫,思考プロセスや可読性まで含めて評価していることもあります.
また,繰り返しにはなりますが,新卒採用では人柄重視の文化が根強く,面接結果と総合して判断というケースも多々あります.

コーディングテスト受験上の制約

 受験時の監視の有無にかかわらず,資料参照禁止の制約がかかるパターンが非常に多いです.特に多いパターンは以下の通りです.

・代理受験,第三者による助言等の禁止(本人のスキル評価なので当然)

・Web検索等は許可するが,生成AIの利用禁止
・Web検索を含めて,全ての資料参照禁止

解答に使用できる言語

 C言語,Python,PHP,Java,JavaScript,TypeScriptなどメジャーなプログラミング言語であれば,ほとんど問題ない印象です.
問題指定型(解答に用いるプログラミング言語は自由に選べる)もあれば,問題選択型(自分で好きな大問を選ぶことができ,大問毎に使用できるプログラミング言語も異なる)もあります.
この点は企業次第です.

スポンサーリンク

コーディングテストで不正がNGな理由|監視や検知の可能性

 言うまでもありませんが,不正はNGです.このご時世ですから,不正を検知する方法などいくらでもあります.不正行為への抑止として,不正検知の手段をご紹介します.

システムによる検知(参考)|タブ切替・ペーストはログに残る可能性

 実際の試験サービスに実装されているか否かは不明ですが,JavaScriptを用いてクライアントサイドの処理を実装すれば,受験者のブラウザ上での挙動をある程度取得することができます
JavaScriptによって理論上取得され得る挙動の主な代表例は以下の通りです.

・タブ離脱(非アクティブ化)
・復帰(再アクティブ化/フォーカス)
・クリップボードからのテキスト貼付およびその内容

上記の行為を行ったからといって,必ずしも直ちに不正行為とみなされたり,不正を疑われたりするとも限りませんが,不正を疑われるログであることには相違ありません.

参考までに,これらのイベント検知スクリプトのコードや実際に検知実験を行った画面のスクリーンショットを掲載しておきます.

window.addEventListener('blur', () => {
      state.focused = false;
      addLog('blur', 'ウィンドウのフォーカスが外れました');
      updateBadges();
    }, { passive: true });

document.addEventListener('paste', (e) => {
      const cd = e.clipboardData || window.clipboardData;
      let summary = '内容不明';
      if (cd) {
        if (cd.types && cd.types.includes('text/plain')) {
          const text = cd.getData('text/plain') ?? '';
          const trimmed = text.replace(/\s+/g, ' ').trim();
          const shown = trimmed.slice(0, 120);
          summary = `テキスト(${trimmed.length} 文字): 「${shown}${trimmed.length > 120 ? '…' : ''}」`;
        } else if (cd.files && cd.files.length) {
          summary = `ファイルをペースト(${cd.files.length} 件)`;
        } else if (cd.items && cd.items.length) {
          summary = `items: ${[...cd.items].map(i=>i.type||'unknown').join(', ')}`;
        }
      }
      addLog('paste', summary);
    });

人(面接官)による検知|監視無しテストとの整合性を見られることも

 企業によっては,一段階目で専用のWebサービスを用いた監視無しのコーディングテストを実施した後に,二段階目でライブコーディングテストを改めて実施する場合もあります.
ライブコーディングテストは,言わば口頭試問のような形式になるので,一段階目で実施した監視無しのコーディングテストと比べて極端に出来が悪ければ,不正を疑われる事態にもなりかねません.

スポンサーリンク

代表的な試験サービス

 ここでは,コーディングテストの代表的な試験サービスを2つご紹介します.また,企業から届く受験案内のURLから,試験サービスを推測することができますので,必要に応じてWeb検索等を行い,対策すると良いでしょう.

TrackJob

 コーディングテストサービスだけでなく,就活サービスやコラム等も幅広く展開されています.
また,利用には会員登録が必要になりますが,問題タイプ別・レベル別に豊富な練習問題も用意されています.
参考:https://job.tracks.run/skill-up/programmingtest-beginner-all

HireRoo

 新進気鋭のコーディングテストサービスです.こちらも会員登録により,トレーニング(練習問題)を受験することができます.
参考:https://app.hireroo.io/

スポンサーリンク

テスト対策

 「苦手意識がある」ただそれだけでコーディングテストのある企業を諦めてしまうのは非常に勿体ないです.前述の通り,コーディングテストを実施するものの,「新卒採用においては人柄重視」という企業もあり,受験直後には自信が無かったとしても選考を通過するケースもあります.

 また,コーディングテストの受験には一定期間(1~3週間程度)の猶予が設けられることが多いです.もちろん,Webアプリケーション開発の専門知識やアルゴリズム,プログラミング技術は一朝一夕にして習得できるものではありませんが,1~3週間程度もあれば,それなりにやれることもあります.

まずは試験サービスを知ろう

 まずは,企業から届いた受験案内に記載されているURLリンクを確認し,試験トップページを確認してみてください.そこで,試験サービス名が判明するはずなので,Web検索をしてみましょう.先ほど紹介したように,試験サービスによっては練習問題が公開されていることもあります.
そして,稀ではありますが,練習問題に類似した問題が実際の試験で出題されることもあります

 ぜひ,諦めずに情報収集の力でカバーして試験にトライしてみてください!!

最終手段としてのSQL?

 もし,問題のパターンを自由に選択でき,どれも同じくらい自信が無いのであれば個人的にはSQLがオススメです.アルゴリズム問題のパターン数は,実質的に無限でセンスを問われる部分も否めません.しかし,SQLはパターンにある程度の上限があるため,短い勉強時間であっても比較的対策しやすい問題であると個人的に考えています.

スポンサーリンク

最後に

 ここまで読んでいただき,ありがとうございました.一朝一夕での鍛錬が難しい試験ではありますが,事前の情報収集によりカバーできる部分があることも事実です.本記事を読んでいただいた皆様の健闘を心から祈ります.

スポンサーリンク
スポンサーリンク
大学生向け
シェアする
しばをフォローする
タイトルとURLをコピーしました