こんにちは。谷口です。
エンジニアの採用面接では、一般的な質疑応答だけでなく、コーディングテストが実施されることがよくあります。
応募者にどれくらいの開発スキルがあるのか、面接で話すだけで推し測るのはエンジニアでも難しいでしょう。そのため、その場でプログラミング問題を解いたりするコーディングテストが実施されるわけですが、どんな問題が出題されるのか、どんな対策が必要なのかわからず不安に感じる方も多いのではないでしょうか。
今回は、
- 新卒・中途のエンジニア採用選考で実施されるコーディングテストとは何なのか
- どんな問題が出題されるのか
- 事前にどんな対策がとれるのか
について解説します。
新卒・中途のエンジニア採用選考で実施されるコーディングテストとは
エンジニアの採用選考で、プログラミングスキルなどが問われる問題を課す選考をコーディングテストと呼びます(「コーディング試験」「技術面接」などと呼ばれる場合もあります)。
企業は応募者の
- プログラミングやアルゴリズムに関する基礎知識
- 論理的に考える力
- プログラミングをするときの考え方
- コードの書き方
などを見るためにコーディングテストを実施しています。
コーディングテストの実施形式は
- ホワイトボードなどにコードを書く
- ペーパーテスト
- Web上で解く
などがあります。
Web試験ならまだしも、エディタのないホワイトボードや紙の上にコードを書くのは慣れていなくて戸惑うかもしれませんが、多くの場合、企業は細かいコードの正確さよりも考え方や解き方を重視しています。
そのため、解いたあとに「どんな解き方で、どう考えて解いたのか」の説明を求められることもよくあります。
問題を解くだけじゃない技術面接
エンジニア求人の面接では、上記のようなコーディングテスト形式だけでなく
- こんなサービスを開発していてこんな不具合が起きたら、どこに問題があると考えるか
- どういう順番でどこを調べていくか、どんな対応をとるか
- 前職で技術的なトラブルにあった経験はあるか
- そのときにどんな対応をしたか
といった質問をされることもあります。
このような質問には、明確な正解があるわけではありませんので、冷静に「業務だったらどうするか」を考えましょう。
そして
- 自分ならこの順番で原因を調べて、こんな対策をとる
- 前職で実際にこんなトラブルが起きたときはこうやって調べて、こうやって解決した
といったことを説明しましょう。
企業は、応募者に対して実際に同様の経験があるか、少ない情報から完璧な対応ができるかではなく
- 基本的な開発や調査の手順、システムの構造などを理解しているか
- 普段どんなことを考えたり重視したりしながら開発しているのか
を知りたくて、このような質問をしています。(どんなエンジニアでも、すべての分野の経験や知識があるわけではありません)
落ち着いてこれまでの経験や自分なりの考え、知識を整理して説明するようにしましょう。
今すぐ始められるコーディングテスト対策
急にプログラミング問題を出されたら戸惑うかもしれませんが、ふだんから問題を解く練習をしておけば、採用選考でコーディングテストが実施されてもあせらずにすみます。
paizaのスキルチェック問題では、S・A・B・C・Dのレベルごとにたくさんのプログラミング問題を公開しています。ブラウザ上で誰でも・何度でも挑戦できるので、コーディングテスト対策にも使えます。問題には制限時間もありますので、限られた時間の中でコードを書く練習にもなります。
また、プログラミングが動画で学べるpaizaラーニングの「アルゴリズム入門編」「スキルチェック入門編」でも、コーディングテストでよく出題されるプログラミング問題のアルゴリズムや効率のよい解き方について解説しています。
まとめ
というわけで、コーディングテストについて解説しました。
プログラミング問題に慣れていない状態で急に出題されるっと戸惑うかもしれませんが、今までエンジニアとして開発業務にあたってきた人や、プログラミングの勉強をしてきた人であれば、難しい問題ばかりでまったく歯が立たない…ということはほとんどありません(世界的な有名企業や研究職などになってくると別ですが…)。
まずはプログラミング問題にいくつか挑戦して、問題を解くことに慣れておくとよいでしょう。
paizaのスキルチェック問題について詳しくはこちら
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら
そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。
詳しくはこちら