コーディングテストで落ちるのはなぜ?評価ポイントと対策方法を徹底解説

  • はてブ

この記事でわかること

  • コーディングテストの試験内容や難易度
  • コーディングテストの評価ポイント
  • コーディングテストの対策方法
編集者プロフィール
ウィルオブテック編集部

エンジニア転職に関するお役立ち情報を発信

コーディングテストは、採用ポジションや企業によって実施内容は異なるものです。ただ全体的な出題傾向を掴むことはできるので、選考前に基礎知識を身に付ける必要があります。

ここでは、コーディングテストに落ちる理由や対策方法を紹介します。

コーディングテストで自分のスキルを可視化しませんか?

「転職したいけど自分の実力がわからない」方も多いのではないでしょうか?そこでおすすめなのが、コーディングテストの受験です。累計350社以上の企業が導入しており、国内コーディングテストの先駆け的存在である「Track Test」を無料で受験できます!ぜひお気軽にトライしてみてください。

コーディングテストを無料で受験する

コーディングテスト(プログラミングテスト)とは?

ITエンジニアとして転職活動をする際に、採用選考のひとつとして「コーディングテスト」が実施されるケースが増えています。コーディングテストはプログラミングテスト、コーディング面接などとも呼ばれており、技術力の高い人材を見極めるために実施されます。

応募者の経歴や保有資格を確認すれば、ある程度のスキルは計れます。しかし、経歴が優秀な人材が実際に活躍できるかを書面だけで判断するのは困難です。

そのため、コーディングテストは、履歴書や職務経歴書だけでは計りきれない、応募者のコーディングスキル・技術知識・経験値などを確認するのに有効な手段として確立しつつあります。

コーディングテストの試験方法

コーディングテストはITエンジニアの技術力を計るために実施されており、応募者が問題をどのように解くのか思考プロセスを確認しています。企業によって試験の実施方法は異なりますが、電話・対面・メール・オンラインなどが主な実施方法です。

紙やホワイトボード上でコーディングする場合も、エディタ・IDEでコーディングする場合も、基本的にやるべきことは変わりません。出題された問題を解いて、自分の思考プロセスを上手く説明できるようにすることが大切です。

技術的な問題のほか、解く際にかかった時間、第三者に見やすいコードか否か、実装者の意図を汲み取れるかどうかといった点が重要視される点です。

また、プログラムの処理内容や修正した理由を言語化できるか、仕様をきちんと理解できるだけの経験を積んでいるかどうかも、試験を通過するには大事な要素です。経験者の場合は複数ある選択肢に気が付けるか、仕様を決める際に適切な質問や議論を行えるかどうかも問われます。

難易度は大きく分けて4段階

コーディングテストは、独学で勉強を始めたばかりの人でも解けるレベルのものから、処理量が多くて一握りのエンジニアしか解けないような高レベルの試験まであります。

試験は大まかにレベル1~4まで4段階にランク付けできます。企業が過去の試験を公開しているなら、問題を確認しておくことで、テストの難易度を事前に判断することが可能です。

【レベル1】
標準入出力や簡単なfor文・if文を含む処理に加え、プログラムを書ける最低限のスキルがあるかを確かめられるFizzBuzz問題などが出題されます。単純な問題を正しく理解でき、仕様通りに実装できるレベルです。プログラミングの入門書などで紹介されるレベルを解ければ問題ありません。AtCoder(競技プログラミング)では、茶色・Dランクレベルに相当します。

【レベル2】
for文・if文や2次配列元の操作、キューや再帰を使った実装など、動的計画方法や数学的に工夫が必要な問題が出題されます。計算量が多くなければ、複雑な処理の実装にも対応できるレベルです。AtCoderでは緑色、Cランクレベルに相当します。

【レベル3】
アルゴリズムの勉強をしたことがないと手が付けられない問題が出題されます。再帰関数、全探索や動的計画法などのテクニックの使い分けが必要です。データ構造やグラフアルゴリズムを扱えると、AtCoderでは水色、Bランクレベルに相当します。

【レベル4】
高度なアルゴリズムやデータ構造の知識が必要です。複雑な計算量を与えられ、制限時間を考えながら問題解決を図ります。処理量が増えても適切に考察できる力が求められます。ハイレベルなエンジニアが挑む問題で、AtCoderでは青色、Aランクレベルです。

コーディングテストの主な流れ

コーディングテストを実施する場合は、電話・メール・オンライン・対面などいずれかの方法で課題が出されます。

現在はオンラインでの出題が多くなっているので、求人に応募する前に確認しておくと安心です。コーディングテストの主な流れは以下の通りです。

1. 希望の開発言語を選択する

2. 面接官により試験の趣旨が説明される
例:プロダクトの開発を行っているが上手く動作しないためコードの修正や改善を行う

3. コードの確認とどのように対処をするのか、処理内容を面接官に説明する
出題されたあとは、ソースコードを確認し、試験によってはコメントなどでメモを残す時間が与えられます。面接官が応募者の分析スキルを確認するための時間です。

修正・改善が必要な箇所を整理したら、これから実施する処理内容の説明を行います。ある程度の経験がないと、要点を押さえて説明するのは至難の業です。応募者にコミュニケーションスキルが備わっているか、経験は足りているかを判断します。

4. コーディングの実施
制限時間の中で実際のコーディングを行います。

5. 完了報告
趣旨に沿ったプログラムが書けているか判断してもらうのに、修正理由と結果の報告が必要です。

もし、修正した内容が誤っている場合は、面接官から適宜アドバイスをされます。一連の作業が終了したら、フィードバックが共有され、質疑応答の時間が設けられます。

企業によっては、課題が与えられた後、コーディングのみを制限時間内に行い、本審査通過後の面談で修正理由や結果報告を求められるケースもあります。
続いて、コーディングテストで問われる内容を紹介します。

コーディングテストで問われる内容

コーディングテストでは、ITエンジニアとしての基礎知識やコミュニケーションスキル、コーディングスキルなど技術力が問われます。テストでは以下のような点が問われます。

アルゴリズムの理解度や計算量

コーディングテストでは、問題解決を通して最適なソリューションか、複数の選択肢から適切なプログラムに変換できているかなど、分析力をみています。

そのため、計算量が多い複雑な課題でも、アルゴリズムを適切に考えて自走できる力を養う必要があります。より計算量を抑えられるアルゴリズムを採用できれば、第三者から見ても実装者の意図を汲み取れるコードを書けるでしょう。

大手企業の採用試験では、アルゴリズムの学習経験がないと解けないレベルの問題も出題されるので、学習経験がない場合は書籍などを用いて勉強しておくことをおすすめします。

実際に問題解決まで至らなくとも、他の候補者と比較して思考プロセスが評価された場合、問題に直面した際に仮説を立てて修正できる人として採用される可能性があります。

プログラミング言語への理解度

プログラミング言語への理解度がどれくらいなのかを問われます。

テストの際は、普段と変わらない開発環境でコーディングテストを受けられるように、プログラミング言語は複数から選択できるケースが一般的です。

複数の言語から得意な言語を選択し、実際のコーディングをすることが課題となります。
大手企業のコーディングテストではマイナーな言語も含めて、10~20種類以上に対応しています。

なかでも人気があるのはPythonで、コードの記述量が少ない点がメリットです。

▼国内コーディングテスト導入社数No.1「Track Test」の強みとは?
国内コーディングテストの先駆け的存在であるTrack Test。下記の記事で、Track Testの強みやコーディングテストの対策方法などをTrack Testの担当者に取材しました!「コーディングテストは企業に実力をアピールできる絶好の機会」国内導入社数No.1 となる「Track Test」の強みや実際に受験したエンジニアのリアルな声とは?こちらの記事も、ぜひご覧ください。

なぜ落ちる? コーディングテストの評価ポイント

企業がどのようなポイントを重視しているのかを知っておけば、コーディングテストの通過率をアップするための対策を講じられます。

企業が評価する主なポイントは、以下の3つです。

  • 問題の認知と対処方法
  • コードの完成度・わかりやすさ
  • 技術ごとのコーディング文化

問題の認知と対処方法

コーディングテストを通じて、問題を発見できる分析スキルや、課題解決を図るための思考プロセス、チームに報告できるコミュニケーションスキルを評価されます。

というのも、プログラムに不具合が生じた際に、どこに問題があるか仮説を立てて対処する力が求められるからです。こうした課題解決の能力は、コーディングテストの中だけではなく、面談で問われる場合もあります。いずれにしても論理的に説明できる力を養うことが大切です。

コードの完成度・わかりやすさ

細かなバグがない完成度の高いコードや、分かりやすさを意識したコードを書けていれば、評価の対象となります。

実務でシステム開発を進める際に、途中で新たなメンバーが加わったり、チームメンバーのスキルが不足しているケースはよくあることです。プログラミング言語の習得度に左右されることがないように、コードは可読性を意識する必要があります

ただし、コーディングテストでは、思考プロセスや技術的な知識、経験やコミュニケーションスキルのほうが評価の比重が大きい傾向にあります。こだわり過ぎて時間が不足しないように、時間配分には気を付けて取り組むことが大切です。

技術ごとのコーディング文化

企業によっては、職種の領域ごとにコーディングテストの内容を変えているケースがあります。iOSエンジニアなら、iOSの技術の文化にあわせてコードを書いているか、設計部分を含めて評価されます。

ただ与えられた問題を解決するのではなく、応募するポジションにあったコードを書くことが重要です。

コーディングテストで落ちないための対策方法

コーディングテストを通過するために、今日からできる対策方法は次の2つです。上手く活用して、コーディングテストに慣れましょう。

  • 例題にチャレンジできるWebサービスの活用
  • アルゴリズム・プログラミングを書籍で学習

例題にチャレンジできるWebサービスの活用

コーディングテストの対策が無料で行えるWebサービスがいくつかあります。

独学で学習するならぜひ活用してみてください。

Track Test

国内コーディングテストの先駆け的存在である「Track Test(トラック・テスト)」は、エンジニアのスキルを可視化できるとあって注目を集めています。

50万件以上の受験データを蓄積しているため、問題ごとの平均スコアや偏差値もわかります。また、システムエンジニアやフロントエンドエンジニア、データベースエンジニアなど職種ごとにテストを受験できるのも魅力です。

▼Track Testを受験するなら
実際のコーディングテストを受験して、自身のスキルチェックを」をあわせてご覧ください。

LeetCode

外資系企業の選考で出題される問題の類似問題を学習できます。実際に企業がコーディングテストとして活用するケースもあり、本番さながらの環境でアルゴリズムを学習することが可能です。自分のレベルにあわせて出題難易度を選べます。

Codility

企業の選考に使われているコーディングテストで、無料で練習問題に挑戦できます。難易度は3段階に分かれているので、自分の学習段階にあわせて問題に取り組めます。有識者の回答例も数多くあるため、勉強の参考になります。

AtCoder

競技プログラミングで、5,000以上の過去問題が公開されています。コーディングテストは競技プログラミングと類似点が多いので、学習する価値があります。リアルタイムで開催されるオンラインコンテストなどに参加し、実力を磨くのもひとつの手です。

アルゴリズム・プログラミングを書籍で学習

アルゴリズムやプログラミングについて学ぶなら、書籍で習得する方法もあります。

世界で闘うプログラミング力を鍛える本(マイナビ出版)

世界的なIT企業で実施されるコーディング面接に合格するためのノウハウが詰まっています。

本書では実際に面接で使われたプログラミング問題が取り上げられており、探索アルゴリズムについて深く学べます

問題解決力を鍛える!アルゴリズムとデータ構造(講談社)

AtCoderの例題で問題解決力を鍛えられる、アルゴリズムとデータ構造の入門書です。

アルゴリズムの設計技法を学べるほか、データ構造を理解して計算量を改善できます。難問に取り組むための方法も紹介されているので、段階的に学びたい方におすすめです。

コーディングテストの通過率を上げるポイント

勉強の際は、常に丁寧なコーディングを意識することが大切です。細かいミスのない可読性の高いコードが書き上げられれば、テストの通過率アップにつながります。

また、コーディングにおけるエラーは技術が身につくチャンスと捉え、仮説を立てて問題箇所を絞り込むようにしましょう。なぜエラーが起きたのか、十分な理解のもと対策をすることで、より完成度の高いコーディングが可能になります。

まとめ

ITエンジニアの技術力を確かめられるコーディングテストを導入している企業は増加傾向にあります。テストの難易度は企業や採用ポジションによって異なるものの、いずれにしてもアルゴリズムへの理解度や計算量などが問われます。

コーディングテストがあると緊張してしまう方もいるかもしれません。しかし、裏を返せば、コーディングテストは自身のエンジニアスキルを可視化できるチャンスでもあります。ぜひ過度に恐れることなく、十分に対策して、選考に臨みましょう。

企業の選考前に「Track Test」を模擬受験しませんか?

「選考にコーディングテストがあって不安…」という方も多いのではないでしょうか?そこでおすすめなのが、コーディングテストの事前受験です。累計350社以上の企業が導入しており、国内コーディングテストの先駆け的存在である「Track Test」を無料で受験できます!ぜひ選考対策にお役立てください!

Track Testを無料で受験する
  • はてブ