書類は通った。次は面接。
ここで落ちる未経験の方には、はっきりした共通点があります。
ポートフォリオについて聞かれたときに、答えられないことです。
偉そうに書いていますが、僕がまさにそれで落ちました。その話から始めます。
僕が実際に聞かれて、答えられなかった質問
当時のポートフォリオは、自問自答クイズアプリでした。
彼女が管理栄養士を目指していて、間違えた問題だけを集めた問題集をスマホで作れたらいいな、というところから作ったものです。
面接で何が起きたかを、順番に書きます。
1. コードは軽く見られただけだった
これは意外かもしれません。
コードを1行ずつ読まれることはありませんでした。ざっと目を通される程度です。
きれいなコードを書くことに時間をかけすぎる人がいますが、そこで勝負は決まっていません。
2. 相手側のサイトでテストを出された
その場で技術テストを受けました。
会社によってはこういう形式があります。ポートフォリオだけ準備していると面食らいます。
3. 「このボタンを押したら、どうなっているんですか?」
これが本命の質問でした。
あとから振り返ると、あれは画面読み込みのぐるぐる(ローディング)について聞かれていました。
非同期でデータを取りに行っている部分です。そこが説明のポイントでした。
でも僕は答えられませんでした。
「ルートからコントローラーで…」という話しかできなかったんです。
作ったのは自分です。動いてもいました。
それでも「押したときに何が起きているか」を言葉にできなかった。
ここから学んだことは2つです。
- 面接官はコードを全部読まない。その代わり、動きについて質問してくる
- 聞かれるのは「画面で何が起きているか」。ファイル名の話ではない
面接官が見ている3つのこと
- 本当に自分で作ったか
- なぜそうしたか説明できるか(=考えて作ったか)
- 詰まったときにどう動くか
すべての質問は、この3つのどれかを確認するためのものです。
言い換えると、見られているのは技術力ではなく過程です。
未経験の技術力なんて、どんなに頑張っても大したものにはなりません。それは相手も分かっています。
【企画について】質問1〜4
質問1:どんなアプリですか?(1分で説明してください)
回答のコツ:技術ではなく「誰の何を解決するか」から話す。
○「資格の勉強をしている人が、間違えた問題だけを集めて復習できるアプリです。
身近に管理栄養士を目指している人がいて、紙の問題集だと間違えた問題を探すのに時間がかかっていました。それをスマホで完結できるようにしました。」
✕「Laravelで作ったクイズアプリです。登録・編集・削除機能と認証機能があります。」
質問2:なぜこのアプリを作ろうと思ったのですか?
自分の経験や、身近な人の困りごとから話せると強いです。
ここが「教材のコピーではない」証明になります。
質問3:どんな人に使ってほしいですか?
ターゲットが決まっていると、機能を選んだ理由も説明できます。
質問4:実際に使ってもらいましたか?
使ってもらっていると強いです。「使ってもらって、こう言われたので直しました」まで話せると、それだけで印象が変わります。
【技術について】質問5〜8
質問5:なぜLaravelを選んだのですか?
正直に答えて構いません。「未経験可の求人で多かったから」でも問題ありません。
大事なのは自分で選んだ理由があることです。
質問6:このテーブル設計にした理由は?
ここは絶対にAIに任せてはいけない部分です。
自分で決めていないと、この質問で終わります。
質問7:他に検討した方法はありますか?
「他の方法も考えたけど、こういう理由でこちらにした」と言えると、考えて作ったことが伝わります。
質問8:セキュリティで気をつけた点は?
- パスワードはハッシュ化している
- 他人のデータが見えないように確認している
.envはGitHubに上げていない
この3つが言えれば十分です。
【動きについて】質問9〜11(ここが本番)
質問9:このボタンを押したら、どうなっているんですか?
僕が答えられなかった質問です。ここが一番聞かれます。
答え方は、画面の動きから順番に話します。
○「このボタンを押すと、画面を切り替えずにサーバーへ登録の要求を送っています。
送っている間は読み込み中の表示を出して、返ってきたら、その部分の表示だけを書き換えています。
ページ全体を読み込み直すと、勉強のテンポが止まると思ったのでこの形にしました。」
ファイル名から話さないでください。画面で何が起きているかを話します。
質問10:一番大変だったところはどこですか?
ここで「特にないです」と言うと終わります。
詰まらずに作れる未経験なんていないので、詰まった話をするほうが自然です。
質問11:詰まったとき、どうやって調べましたか?
この質問が一番大事だと思っています。入社後に一人で進めるかどうかが、ここで見られます。
○「まずエラー文を最後まで読んで、どのファイルの何行目かを確認しました。
そのあと、処理の流れに沿って一つずつ確認していきました。値がそもそも届いているのか、保存まで来ているのか、という順番です。
結果、送信先の書き方が間違っていることが分かりました。」
「検索したら出てきました」で終わらせないでください。切り分けた過程を話します。
【その他】質問12〜15
質問12:AIは使いましたか?
正直に「使いました」と答えてください。隠すほうがリスクです。
○「使いました。ただ、テーブル設計と全体の構成は自分で決めています。
AIに書いてもらった部分も、分かるまで質問して、自分の言葉で説明できる状態にしました。」
「どこを自分で決めて、どこを任せたか」が言えれば、むしろ評価されます。
質問13:開発期間はどれくらいですか?
1カ月前後が自然です。長すぎると「その間ずっと止まっていたのでは」と思われることもあります。
質問14:改善したい点はありますか?
○「スマホでの操作性です。実際に使ってもらって、ボタンが押しにくいと言われました。
あとは、問題数が増えたときの表示速度が気になっています。」
自分の作品の弱点を言えるのは、客観的に見られている証拠になります。
質問15:入社後、どんなことを学びたいですか?
チーム開発の進め方、レビューを受けながら書く経験、あたりが自然です。
正直に「一人でやってきたので、レビューを受けたいです」で構いません。
答えられないと落ちる質問トップ3
| 順位 | 質問 | 落ちる理由 |
|---|---|---|
| 1位 | このボタンを押したらどうなっているか | 自分で作っていないと判断される |
| 2位 | 詰まったとき、どう調べたか | 入社後に一人で進めない人だと思われる |
| 3位 | なぜこの設計にしたか | 考えずに作ったと判断される |
1位は、僕が落ちた質問です。ここだけは必ず準備してください。
事前準備:ボタン3つ分を声に出す
面接の前に、これだけはやってください。
作品の中でよく使うボタンを3つ選んで、押してから画面が変わるまでを声に出して説明します。
- ボタンを押すと、どこに情報が飛ぶのか
- そこで何を判断して、何を保存または取得しているのか
- 結果が画面のどこに、どう返ってくるのか
詰まったところが、そのまま面接で落ちる場所です。
僕はこれをやらずに面接へ行きました。やっていれば結果は違ったと思います。
開発中から記録を残しておく
作りながら、この5つを書き残しておくと面接がラクになります。
- 何を実装したか
- なぜその方法にしたか
- どこで詰まったか
- どう調べたか
- どう解決したか
これがそのまま面接の回答になります。あとから思い出そうとしても、まず出てきません。
よくある質問
Q. 技術テストが出ることもありますか?
A. あります。僕のときは相手側のサイトでテストを受けました。ポートフォリオの準備だけでなく、基礎の復習もしておいてください。
Q. 答えられない質問が来たらどうすればいいですか?
A. 分からないことは正直に言って構いません。ただ「調べて、こう考えました」まで言えると印象が変わります。
Q. 緊張して話せません。
A. 一度、誰かに向けて説明する練習をしてください。声に出すと、分かっていない部分がはっきりします。
まとめ
- コードは軽く見られるだけ。その代わり動きについて聞かれる
- 一番聞かれるのは「このボタンを押したらどうなっているか」
- 見られているのは技術力ではなく過程
- AIは使ったと正直に言う。「どこを自分で決めたか」を添える
- 面接前に、ボタン3つ分の動きを声に出して説明してみる
僕は自分で作ったアプリなのに、動きを説明できずに落ちました。
技術が足りなかったのではなく、自分の作品を分かっていなかっただけです。
ここは準備すれば防げます。
次に読む記事
ポートフォリオの無料添削をしています。「このボタンを押したらどうなっているか」を一緒に確認できます。LINEから送ってください。