Photo by Marco Verchこんにちは。谷口です。
転職に興味のあるITエンジニアのみなさん、技術面接対策はできていますか?
エンジニアの採用選考では、多くの企業が技術面接を実施しています。
面接当日に予期せぬ試験や質問を出されて、焦って残念な結果になってしまわないために、技術面接とはどんなものなのか?普通の面接とは何が違うのか?を知っておきましょう。
選考段階でエンジニアのみなさんがきちんと実力を発揮して評価されるよう、今回はエンジニアの技術面接とその対策について解説します。
ITエンジニアの技術面接とは
「技術面接」と言われると、就活生が大学での研究内容などをプレゼンする形式の面接試験を思い浮かべる方が多いかと思います。
これに加えて、中途の転職面接でも、技術的な話を聞かれる面接や、プログラミング試験を課される選考が「技術面接」と呼ばれています。(※明確な定義があるわけではないため、企業によって技術面接の内容はまちまちです)
ただ、中途エンジニアの採用面接で、技術の話が一切出てこない…なんてことは、まともな選考をする企業であればほぼあり得ません。
ほとんどの企業で技術面接に準ずる形式の選考を実施していますから、転職を目指すエンジニアの方にとって、技術面接対策は非常に重要です。
エンジニアの採用選考でよく実施される技術面接の形式
プログラミング課題を解く試験
プログラミング課題には
- その場でホワイトボードにコードを書く形式
- ペーパーテスト形式
- Web上で解く形式
があります。
使い慣れたエディタの補完やコピペができないホワイトボードでいきなりコーディングをさせられるのは意外にハードルが高いかと思いますが、ここで見られるのは細かいコードの正しさよりも、「課題に対してどんなアルゴリズムを考え、どう解いていったか」(※この説明も求められます)。落ち着いて取り組めば大丈夫です。
こうした技術面接では、プログラミングやアルゴリズムに関する基礎知識、論理的に考える力、コードを書くときの考え方などが見られています。
paizaのスキルチェック問題などで、いくつかプログラミング問題を解いておくと、技術面接の練習にもなります。
paizaのスキルチェック問題について詳しくはこちら
質問に対して説明を求められる形式
面接で「業務でこんな状況になったらどうやって解決していきますか?」「こんな障害が起きたら、何をどういう順番で調査していきますか?」などといった質問をされる形式の技術面接もあります。
例えば、
- 自社で運営しているWebサービスにアクセスが集中してダウンしてしまったら、どこを調査しますか?
- 自分の開発チームでコードをリファクタリングをする必要が出てきたら、どんな作業から始めますか?
- 前職でどんな技術的なトラブルに当たった経験がありますか?
といった質問に対して、自分ならこうする、実際にこうやって解説した…といった説明をしていきます。
こうした技術面接では、例えば上記の質問であれば、サービスの復旧やリファクタリングの経験が求められているというよりも、課題解決力、もっと言えば開発業務における手順を理解しているか、どんな考えを持って業務に取り組んでいるか…といったことが見られています。
今すぐできる技術面接対策
プログラミング問題を解いて練習しておく
前述の通り、paizaのスキルチェック問題を解くことで、時間制限のある中でプログラミング問題を解く練習になります。
また、paizaラーニングの「アルゴリズム入門編」(全編無料)では、FizzBuzz、フィボナッチ数やハノイの塔といった、技術面接でよく出るプログラミング問題のアルゴリズムを解説しています。
キャリアの棚卸し
転職に興味がわいたら、自分のスキルや経験を棚卸しして、「自分がやってきたこと・できること(とそれを証明するエピソード)」を整理しておくとよいでしょう。
特に技術面接で聞かれやすいのは、「過去の業務でどんな課題があって、それに対してどういう取り組みをして、どんな結果が出たか」なので、これが言えるエピソードを掘り起こしておくのが重要です。
日頃から課題感を持って業務に取り組む
企業はエンジニアに対して課題の発見・解決に積極的に取り組んでくれることを求めており、その力があるかどうかを見極めるために技術面接を実施しています。
そのため、技術面接を突破するには普段からの取り組みも重要です。日頃から課題感を持って開発業務に取り組んでいない人が、面接の場だけ急に取り繕うことはできません。
今からでも遅くはないので、目の前の仕事に対して「この業務にはどんな課題があるのか?」「この仕事で人にアピールできるのはどんな点か?」といった目線を持っておくのが一番の対策になるかと思います。
まとめ
エンジニアの採用面接で技術面接が一度も入らないという企業はほとんどないと思いますので、転職を目指す方は対策をしておいたほうがよいでしょう。
といっても、今までまともに業務に取り組んできた人であれば、「すごく難しい課題を出されて全然太刀打ちできない…」なんてことはそれほどないと思います。(世界的な大企業のエンジニア職となってくると別ですが)
こういった技術面接が実施されるかもしれない…と知った上で、落ち着いて答えられるようにしておくのが重要なのだと思います。
技術面接の練習に使えるpaizaのスキルチェック問題はこちら
技術面接でよく出題されるFizzBuzz、フィボナッチ数やハノイの塔などについて学べるpaizaラーニングのアルゴリズム入門編(全編無料)はこちら
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら
そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。
詳しくはこちら