コーディングテストは、エンジニアのスキルを可視化するための選考方法として現在多くの企業で活用されています。
「初めてコーディングテストを受験するから不安…」「コーディングテストは調べながら受験してもいいの?」と考えている人もいるのではないでしょうか?
全体的な出題傾向を掴むためにも、選考前に基礎知識を身につける必要があります。
今回は、コーディングテストに落ちる主な理由や調べながらの受験が可能かどうか、また対策方法を徹底的に解説します。
「転職したいけど自分の実力がわからない」方も多いのではないでしょうか?そこでおすすめなのが、コーディングテストの受験です。累計350社以上の企業が導入しており、国内コーディングテストの先駆け的存在である「Track Test」を無料で受験できます!ぜひお気軽にトライしてみてください。
コーディングテストを無料で受験するTOPICS
コーディングテスト(プログラミングテスト)とは?
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で、コードの記述量が少ない点がメリットです。
なぜ落ちる? コーディングテストの評価ポイント
企業がどのようなポイントを重視しているのかを知っておけば、コーディングテストの通過率をアップするための対策を講じられます。
企業が評価する主なポイントは、以下の3つです。
- 問題の認知と対処方法
- コードの完成度・わかりやすさ
- 技術ごとのコーディング文化
問題の認知と対処方法
コーディングテストを通じて、問題を発見できる分析スキルや、課題解決を図るための思考プロセス、チームに報告できるコミュニケーションスキルを評価されます。
というのも、プログラムに不具合が生じた際に、どこに問題があるか仮説を立てて対処する力が求められるからです。こうした課題解決の能力は、コーディングテストの中だけではなく、面談で問われる場合もあります。いずれにしても論理的に説明できる力を養うことが大切です。
コードの完成度・わかりやすさ
細かなバグがない完成度の高いコードや、分かりやすさを意識したコードを書けていれば、評価の対象となります。
実務でシステム開発を進める際に、途中で新たなメンバーが加わったり、チームメンバーのスキルが不足しているケースはよくあることです。プログラミング言語の習得度に左右されることがないように、コードは可読性を意識する必要があります。
ただし、コーディングテストでは、思考プロセスや技術的な知識、経験やコミュニケーションスキルのほうが評価の比重が大きい傾向にあります。こだわり過ぎて時間が不足しないように、時間配分には気を付けて取り組むことが大切です。
技術ごとのコーディング文化
企業によっては、職種の領域ごとにコーディングテストの内容を変えているケースがあります。iOSエンジニアなら、iOSの技術の文化にあわせてコードを書いているか、設計部分を含めて評価されます。
ただ与えられた問題を解決するのではなく、応募するポジションにあったコードを書くことが重要です。
コーディングテストで落ちないための対策方法
コーディングテストを通過するために、今日からできる対策方法は次の2つです。上手く活用して、コーディングテストに慣れましょう。
- 例題にチャレンジできるWebサービスの活用
- アルゴリズム・プログラミングを書籍で学習
例題にチャレンジできるWebサービスの活用
コーディングテストの対策が無料で行えるWebサービスがいくつかあります。
独学で学習するならぜひ活用してみてください。
Track Test
国内コーディングテストの先駆け的存在である「Track Test(トラック・テスト)」は、エンジニアのスキルを可視化できるとあって注目を集めています。
50万件以上の受験データを蓄積しているため、問題ごとの平均スコアや偏差値もわかります。また、システムエンジニアやフロントエンドエンジニア、データベースエンジニアなど職種ごとにテストを受験できるのも魅力です。
「実際のコーディングテストを受験して、自身のスキルチェックを」をあわせてご覧ください。
LeetCode
外資系企業の選考で出題される問題の類似問題を学習できます。実際に企業がコーディングテストとして活用するケースもあり、本番さながらの環境でアルゴリズムを学習することが可能です。自分のレベルにあわせて出題難易度を選べます。
Codility
企業の選考に使われているコーディングテストで、無料で練習問題に挑戦できます。難易度は3段階に分かれているので、自分の学習段階にあわせて問題に取り組めます。有識者の回答例も数多くあるため、勉強の参考になります。
AtCoder
競技プログラミングで、5,000以上の過去問題が公開されています。コーディングテストは競技プログラミングと類似点が多いので、学習する価値があります。リアルタイムで開催されるオンラインコンテストなどに参加し、実力を磨くのもひとつの手です。
アルゴリズム・プログラミングを書籍で学習
アルゴリズムやプログラミングについて学ぶなら、書籍で習得する方法もあります。
世界で闘うプログラミング力を鍛える本(マイナビ出版)
世界的なIT企業で実施されるコーディング面接に合格するためのノウハウが詰まっています。
本書では実際に面接で使われたプログラミング問題が取り上げられており、探索アルゴリズムについて深く学べます。
問題解決力を鍛える!アルゴリズムとデータ構造(講談社)
AtCoderの例題で問題解決力を鍛えられる、アルゴリズムとデータ構造の入門書です。
アルゴリズムの設計技法を学べるほか、データ構造を理解して計算量を改善できます。難問に取り組むための方法も紹介されているので、段階的に学びたい方におすすめです。
コーディングテストは調べながら受験できる?
「コーディングテストを生成AIなどで調べながら受験してもいいの?」と気になっている方もいるでしょう。結論からいうと、企業の採用方針によって回答が大きく異なります。
仮にエンジニア未経験だとしても、プロンプトによる出力で満足のいく回答が出せるのであれば優秀な人材だと評価してくれる企業も少なくありません。
一方、「エンジニアの純粋なスキルを可視化したい」という狙いから、生成AIなどで調べながらの受験を禁止している企業もあります。特に、エンジニア未経験や経験が浅い方は、事前に企業からの案内を徹底的に確認しましょう。
なお、「Track Test」ではエンジニアのスキルをきちんとはかりたい企業に合わせて、生成AIで調べながらの受験を防止する対策機能が盛り込まれています。下記のインタビューで詳しくお話を伺っているので、ぜひ参考にしてみてください。
「コーディングテストは企業に実力をアピールできる絶好の機会」国内導入社数No.1 となる「Track Test」の強みや実際に受験したエンジニアのリアルな声とは?こちらの記事も、あわせてご覧ください。
コーディングテストの通過率を上げるポイント
勉強の際は、常に丁寧なコーディングを意識することが大切です。細かいミスのない可読性の高いコードが書き上げられれば、テストの通過率アップにつながります。
また、コーディングにおけるエラーは技術が身につくチャンスと捉え、仮説を立てて問題箇所を絞り込むようにしましょう。
なぜエラーが起きたのか、十分な理解のもと対策をすることで、より完成度の高いコーディングが可能になります。
まとめ
ITエンジニアの技術力を確かめられるコーディングテストを導入している企業は増加傾向にあります。テストの難易度は企業や採用ポジションによって異なるものの、いずれにしてもアルゴリズムへの理解度や計算量などが問われます。
コーディングテストがあると緊張してしまう方もいるかもしれません。しかし、裏を返せば、コーディングテストは自身のエンジニアスキルを可視化できるチャンスでもあります。ぜひ過度に恐れることなく、十分に対策して、選考に臨みましょう。
「選考にコーディングテストがあって不安…」という方も多いのではないでしょうか?そこでおすすめなのが、コーディングテストの事前受験です。累計350社以上の企業が導入しており、国内コーディングテストの先駆け的存在である「Track Test」を無料で受験できます!ぜひ選考対策にお役立てください!
Track Testを無料で受験する