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