技術面接で、深掘りに崩れないための準備
技術面接で落ちるのは「知らない」からではなく、「分かっているのに説明できない」か「2問目で止まる」からです。準備の中心は、判断を3層下まで掘ることです。
進め方
まず求人票から聞かれることを逆算する
求人票を「職務能力にもとづく面接質問」に貼り、能力ごとに、どこまでも掘れる質問を一つずつ、何を試しているか付きで出させます。できることは、根拠がある項目と、口先だけになる項目に分かれます。後者がこれからの準備リストです。
説明できるシステムを一つ用意する
職務経歴書でいちばん複雑なシステムを選び、「複雑なシステムを分解する」で境界と入出力から分解します。細部から入りません。2分で4点を話せるようにします。何を解くのか、境界はどこか、データがどう流れるか、どこが詰まるか。詰まる場所を言えないなら、運用していなかった可能性が高いです。
技術判断ごとに「なぜ」を5回掘る
選定、分割、キャッシュといった判断は、「なぜ」を五回に渡して仕組みの層まで掘らせます。メッセージキューを使う理由が1層目、同期でなくていい理由が2層目、ピークをならす以外のコストが3層目です。答えられない層が、戻って埋める項目です。
自分で説明し、誤りを指摘させる
答えを書き出すか、録音して文字にし、「私が教え、相手が突っ込む」に貼って、反対側から誤りだけを指摘させます。「負荷試験をしたと言ったが、何を目標にしたか言っていない」といった空洞をよく指摘されます。空洞は誤りより危険です。誤りは深掘りで出ますが、空洞は分かっているように聞こえます。
深掘りのリズムで一度通す
「ソクラテス式の問い」で一度に1問だけ質問させ、答えからさらに掘らせて、答えられなくなるまで続けます。ここで鍛えるのは知識ではなく、分からないときに境界を言えることです。確かなこと、検証していないこと、どう検証するか。面接官はそこをよく見ます。
使うプロンプト
よくある質問
面接質問は暗記すべきですか
暗記は1問目まではもちます。それより、頻出の質問を3層下まで掘り、「当時は情報が足りずAを選んだが、今思えばBだった」と話せるようにするほうが効きます。判断のコストを説明できる人は、全部暗記した人より、実際にやった人らしく聞こえます。
大規模サービスの経験がなくても、設計問題に備えられますか
実際に作ったシステムで構いません。小さいほうが、数字の出どころを説明できます。数百万リクエストを設計した経験は求められていません。境界を引けるか、規模を見積もれるか、詰まる場所を指せるかを見られます。実際の小さなシステムを説明しきるほうが、大きな構成図の暗記より強いです。
まったく分からない質問をされたらどうしますか
分かっている部分を先に言い、次に境界を言います。この問いに答えるにはXとYを確認する必要がある、と。そのうえで検証できる推測と、検証の方法を示します。答えをでっち上げると、2回の深掘りで露見し、それまで言ったこと全体の信頼も落ちます。