今やエンジニアの面接において、コーディングテストは避けて通れない壁となっています。
しかし採用選考を受けた経験があまりないと、どのような問題が出題されるのか、どのように対応すればよいのか、不安を感じることもあるでしょう。
そこで今回は、コーディングテストの概要や事前にできる対策について解説します。
エンジニアの面接で実施されるコーディングテストとは
コーディングテストとは、エンジニアの採用面接でプログラミングスキルなどが問われる問題を課す選考のことです(「コーディング試験」「技術面接」などと呼ばれる場合もあります)。
企業は応募者の
- プログラミングやアルゴリズムの基礎知識
- 論理的思考力
- プログラミングにおける考え方
- コードの書き方
などを見るためにコーディングテストを実施しています。
また、コーディングテストの実施形式は
- ホワイトボードなどに直接コードを書く
- ペーパーテスト
- オンラインで問題を解く
などがあります。
オンライン上の試験ならまだしも、ホワイトボードや紙の上にコードを書くのは慣れていなくて戸惑うかもしれません。
しかし多くの場合、企業はコードの細かい正確さよりも考え方や解き方を重視しています。
どのような解き方で解いたのか、何を考えてこのコードを書いたのかといった説明をあとから求められることもあるため、自分の考えを整理しながら解き進めていくとよいでしょう。
プログラミング問題を解く以外の技術面接
エンジニア求人の面接では、上記のようなコーディングテスト形式だけでなく
- このようなサービスを開発していてこのような不具合が起きたら、どこに問題があると考えるか
- どのような順番でどこから調べていくか、どのような対応を実施するか
- 前職で技術的なトラブルに遭った経験はあるか、その際はどのような対応をしたか
といった質問をされることもあります。
こうした質問には、明確な正解があるわけではありませんので、冷静に「実際の業務ならば自分はどうするか」を説明しましょう。
企業は、応募者に対して質問した内容と同様の経験があるか、少ない情報から完璧な対応ができるかではなく
- 基本的な開発や調査の手順、システムの構造などを理解しているか
- どのようなことを考えたり重視したりしながら開発しているのか
を知りたくて、こうした質問をしています。
どのようなエンジニアでも、すべての分野の経験や知識があるわけではありません。落ち着いてこれまでの経験や自分なりの考え、知識を整理して話しましょう。
今すぐ始められるコーディングテスト対策
ふだんからプログラミング問題を解く練習ができていれば、採用選考でコーディングテストが実施されても落ち着いて対応できるでしょう。
paizaのスキルチェック問題では、S・A・B・C・Dのレベルごとに多くのプログラミング問題を公開しています。
問題は何度でも挑戦できて制限時間もあるため、限られた時間の中でコードを書く練習も可能です。
また、paizaラーニングの「アルゴリズム入門編」(全編無料)では、FizzBuzz、フィボナッチ数やハノイの塔といった、技術面接でよく出るプログラミング問題のアルゴリズムを解説しています。
まとめ
プログラミング問題に慣れていない人が、いきなりコーディングテストに挑戦するのは大変かもしれません。
しかし今までエンジニアとして働いてきた人や、プログラミングの勉強をしてきた人であれば、難しい問題ばかりでまったく歯が立たない……といったことはほとんどないでしょう。
まずはプログラミング問題にいくつか挑戦して、問題を解くことに慣れておくのがよいかと思います。
paizaのスキルチェック問題について詳しくはこちら
(文:谷口智香)
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら