2025年上半期の残り半分は、面接地獄を過ごしました。最初の数ラウンドでは、深い数学の証明、Transformerの内部構造、重めのLeetCodeに備えて行ったのですが、ほとんど何も出ませんでした。
聞かれた内容はずっと実務的で、最初の3ラウンドは失敗しました。間違ったことに過剰に準備してしまったからです。リクルーターは、もう注意機構(attention mechanisms)についての講義を聞きたいのではなく、あなたの判断について話を聞きたいのです。
プロジェクトを説明するたびに、質問はいつも次のようなものでした。「このケースでRAGを選ぶのはなぜ? フィインチューニングじゃダメなの?」「実際に幻覚(hallucinations)をどう評価したの?」私は早い段階で失敗していて、「PDFチャットアプリを作りました」とだけ言ってしまっていました。今は、最初にトレードオフから話します。
私は、RAGを選んだ理由は、データセットに対してフィインチューニングが高すぎたこと、速度のためにMiniLMを使ったこと、そして意味的なチャンク分割の戦略を実装して幻覚率を40%下げられたことだ、と説明します。このように自分の仕事の話し方を切り替えたことが、すべてを変えました。
もう1つ大きいのは、コストとレイテンシです。Phi-3.5-miniと、リクエストのキャッシュをかなり積極的に使うローカル/クラウドのハイブリッド構成によって、推論コストを60%削減できることを具体的に説明できたので、最も良いオファーを獲得しました。
企業は、あなたが面白がってGPUクレジットを燃やしているだけではないかを知りたいのです。ライブコーディングでは、だいたい「シンプルなリトリーバーを作って」とか「幻覚を直して」といった感じになります。私は昔、黙々とコードを書いて失敗していましたが、今はずっとナレーションしながら進めます。
もしFAISSのフラットインデックスを使っているなら、それは小さなデータセット向けだと説明しますが、データが100万ベクターに到達したら速度のためにHNSWへ切り替えるはずだ、とも言及します。彼らは完璧なコードを求めているのではなく、あなたが設計をその場で言語化しているのを聞きたいのです。
次の技術面接ラウンドでは、あなたが作ったものを説明するだけで終わらせないでください。なぜ別のやり方で作らなかったのかを説明してください。トークンのコストをモデルの精度と照らし合わせて考えたことを示すのが、趣味の人とシニアエンジニアを分けるまさにそのポイントです。
[link] [comments]




