Meta新卒バックエンド面接体験記:7月の早期選考で内定獲得
Metaバックエンド早期選考新卒面接の完全記録。早期選考プロセス、基礎+アルゴリズム、プロジェクト+シナリオ設計、総合面接を詳解。出題問題と早期選考攻略法付き
背景紹介
まず私の状況を:211大学のソフトウェア工学専攻、2026年新卒です。秋採用ではLINEの早期選考を利用し、7月に内定をいただきました。通常の秋採用より2ヶ月早いです。正直、早期選考は隠れた宝——競争が少なく、プロセスが早い——強くお勧めします。
タイムライン:7月1日に早期選考で応募 → 7月4日に筆記試験 → 7月8日に一次面接 → 7月11日に二次面接 → 7月15日に三次面接 → 7月18日にHR面接 → 7月20日内定。応募から内定までわずか20日。7月末には入社準備を楽しく進めていましたが、周りの同級生はまだ筆記試験の通知を不安に待っていました。
面接プロセスの振り返り
早期選考プロセスの説明
LINEの早期選考は通常6月末から7月初めにオープンし、通常の秋採用より約1ヶ月早いです。メリット:1)多くの人が始まったことを知らないため競争が比較的少ない;2)面接官がまだ忙しくないため比較的丁寧;3)通過しなくても通常選考への応募に影響しない。つまり早期選考は基本的にゼロリスク——必ず応募すべきです。
早期選考のプロセスは通常とほぼ同じ:筆記試験 → 一次面接 → 二次面接 → 三次面接 → HR面接。唯一の違いは筆記試験の難易度がやや低い可能性がありますが、面接の基準は同じです。
筆記試験(7月4日)
LINEの筆記試験は5問で、難易度は1易2中2難でした。私は3問を完全に解き、4問目は70%、5問目は全く手がつかりませんでした。早期選考の足切りは3問で安定して面接に進め、2問でもチャンスがあります。筆記試験では2問目のエッジケースの処理に時間を取られ、後の問題に時間が足りなくなりそうでした。全ての問題を先に読み、簡単なものから始めることをお勧めします。
一次面接:基礎+アルゴリズム(7月8日、約60分)
一次面接の面接官はとても親切なエンジニアで、自己紹介の後、基礎とアルゴリズムの質問に入りました。
1. TCPの3ウェイハンドシェイクと4ウェイ切断のプロセスは?なぜ3で2ではない?
3ウェイハンドシェイクのシーケンス図を描き、SYN、SYN+ACK、ACKのプロセスを説明しました。なぜ2回ではないか——2回のハンドシェイクではクライアントの受信能力を確認できず、期限切れの接続要求がサーバーによって新しい要求と誤認される可能性があるからです。4ウェイ切断が必要な理由は、サーバーのACKとFINをまとめて送信できないからです——サーバーにはまだ送信すべきデータがある可能性があります。
2. プロセスとスレッドの違いは?プロセス間通信の方法は?
プロセスはリソース割り当ての基本単位、スレッドはCPUスケジューリングの基本単位であることを説明しました。プロセス間通信として6つの方法を列挙:パイプ、メッセージキュー、共有メモリ、セマフォ、シグナル、ソケット。共有メモリが最速のIPC方式であることを強調——カーネル空間とユーザー空間間のデータコピーが不要だからです。
3. Redisのデータ型は?Redisはなぜ速い?
5つの基本型を列挙:String、List、Set、ZSet、Hash。特殊型としてBitmap、HyperLogLog、GEOも言及。Redisが速い理由:純粋なメモリ操作、シングルスレッドによるコンテキストスイッチ回避、I/O多重化、効率的なデータ構造。面接官はRedisの永続化について掘り下げ、RDBとAOFの違いと適用シナリオを説明しました。
4. アルゴリズム問題:二分木のレベル順トラバーサル
標準的なBFSレベル順トラバーサルを書きました。面接官は各レベルのノードを別々のサブ配列として出力するよう求め、キューのサイズチェックを追加してレベルごとに出力しました。この問題は難しくありませんが、エッジケース——空の木の処理——に注意が必要です。
5. アルゴリズム問題:最長の重複なし部分文字列
スライディングウィンドウ+HashMapの古典的な解法を使用し、時間計算量O(n)。面接官はスライディングウィンドウのアプローチの説明を求め、左右ポインタの移動ルールとウィンドウ収縮の条件を説明しました。この問題は以前に練習していたので、スムーズに書けました。
二次面接:プロジェクト+シナリオ問題(7月11日、約65分)
二次面接の面接官はシニアバックエンドエンジニアで、主にプロジェクトに焦点を当てました。
1. 最も満足しているプロジェクトを説明してください
フードデリバリーの注文システムのプロジェクトを説明し、技術アーキテクチャ、コア機能、パフォーマンス最適化をカバー。面接官はいくつかの点を掘り下げました:
——「注文のタイムアウトキャンセルはどう実装した?」遅延キュー(RabbitMQのデッドレターキュー)+ スケジュールタスクのフォールバック方式を説明。
——「遅延メッセージが失われたらどうする?」スケジュールタスクが5分ごとに未支払いのタイムアウト注文をスキャンするフォールバックがあり、メッセージが失われても注文をキャンセルできることを説明。
——「高並行性で在庫の売り過ぎをどう防ぐ?」Redisの在庫事前控除 + データベースの楽観的ロックの二重保護を説明。
2. シナリオ問題:URL短縮サービスを設計してください
長いURLから短いURLへのマッピングアルゴリズムから始め——オートインクリメントID + Base62エンコーディングとMD5 + 切り取りの2つの方式を比較し、それぞれの長所短所を議論。次にストレージ(MySQL + Redisキャッシュ)、リダイレクト方式(301 vs 302)、高可用性(シャーディング + 読み書き分離)を説明。面接官は短いURLが悪意のある大量リクエストを受けた場合どうするか聞き、レート制限 + ブルームフィルターによる不正利用防止を提案しました。
3. どんなデザインパターンを知っていますか?プロジェクトで使ったものは?
Strategy(支払い方法選択)、Observer(注文ステータス変更通知)、Factory(異なるタイプのメッセージ作成)の3つを説明。面接官はStrategyパターンの実装を手書きするよう求め、シンプルな支払いストラテジーコンテキストクラスを書きました。
4. MySQLのスロークエリをどう最適化する?
EXPLAINで実行計画を分析し、type、key、rows、Extraフィールドに注目することを説明。最適化手法:適切なインデックスの追加、SELECT *の回避、インデックス列での関数操作の回避、小さなテーブルで大きなテーブルを駆動、カバリングインデックスでテーブルルックアップを回避。面接官は複合インデックスの最左プレフィックスルールについて掘り下げ、例を挙げて説明しました。
三次面接:総合面接(7月15日、約50分)
三次面接の面接官は部門責任者で、よりマクロな質問をしました。
1. マイクロサービスアーキテクチャについての理解は?長所と短所は?
マイクロサービスの核心的な考え方はサービスの分割と独立したデプロイであることを説明。長所:柔軟な技術スタック、障害隔離、独立したスケーリング;短所:分散の複雑さ(ネットワーク遅延、データ整合性、運用コスト)。面接官はサービス登録・発見の原理を掘り下げ、Nacosのレジストリメカニズムを説明しました。
2. 技術的負債をどう見る?
技術的負債は金融の負債のようなもの——適度な技術的負債は正常だが、重要なのは意識的に管理すること。プロジェクトの例を共有:納期に追われてハードコード設定を使い、後に設定センターにリファクタリングした。面接官はこの実務的な態度を評価しているようでした。
3. 最近何の新しい技術を学んでいる?
Go言語とKubernetesを学んでいると答え——クラウドネイティブが未来のトレンドだと思うから。面接官はGoとJavaの違いを聞き、並行モデル(goroutine vs thread)、メモリ管理、コンパイル速度の観点から比較しました。
4. 何か質問はありますか?
「LINEのバックエンド技術スタックの発展方向」について聞きました。面接官はSpring CloudからService Meshへの進化計画を詳しく説明し、LINEの技術ビジョンへの理解が深まりました。
HR面接(7月18日、約20分)
HR面接は簡潔で——LINEを選んだ理由、他の内定の有無、希望給与、早期インターンが可能かを聞かれました。LINEのエンジニアリング文化とビジネスシナリオを最も重視していると答えました。HRは早期選考の候補者がチーム選択の優先権を持つと言ってくれ、とても嬉しかったです。
出題問題まとめ
1. TCP 3ウェイハンドシェイクと4ウェイ切断
2. プロセスとスレッドの違い、プロセス間通信
3. Redisデータ型と永続化
4. 二分木のレベル順トラバーサル
5. 最長の重複なし部分文字列
6. 注文タイムアウトキャンセルソリューション
7. 在庫売り過ぎ防止
8. URL短縮サービス設計
9. デザインパターンの適用と手書き
10. MySQLスロークエリ最適化
11. マイクロサービスアーキテクチャの理解
12. 技術的負債の管理
アドバイス
1. 早期選考には必ず応募しよう!早期選考は新卒採用の隠れたメリット——競争が少なく、プロセスが早く、通常選考に影響しない。複数の同級生が早期選考を知らず、7月のゴールデンウィンドウを逃し、9月の通常選考ではより激しい競争に直面しました。
2. プロジェクトは「なぜ」を語れ、「何を」ではない。面接官が関心があるのはどんな機能を作ったかではなく、なぜその技術アプローチを選んだか、他の選択肢を検討したか、最終的なトレードオフは何かです。
3. シナリオ設計問題にはレイヤーが必要。全体アーキテクチャから始め、次にコアモジュール、最後にエッジケースと最適化を議論する。すぐに詳細に入らないで——面接官は大局観がないと感じます。
4. アルゴリズム問題は正確さを優先。面接は競技ではありません。1問正確に書く方が、2問の半完成品より良い。一次面接では2問ともゆっくり書いたが正確で、面接官は「コードがきれい」と言ってくれました。
5. 早期選考の内定は給与交渉に使える。7月にLINEの内定を得た後、他社の面接で自信を持ち、給与交渉でも強い立場にいられました。
FAQ
Q: 早期選考と通常選考の違いは?
A: 早期選考は通常1ヶ月早くオープンし、プロセスと基準はほぼ同じです。最大の違いは、多くの人が始まったことを知らないため競争が比較的少ないこと。また、早期選考で落ちても通常選考への応募に影響しないため、ゼロリスクです。
Q: 早期選考の内定は通常より待遇が悪い?
A: いいえ。早期選考と通常選考の給与基準は同じで、早期選考の候補者はチーム選択の優先権もあります。早期選考で内定を得た同級生の給与は通常選考より低くありませんでした。
Q: LINEのバックエンド面接の重点は?
A: 一次面接は基礎(ネットワーク、OS、Redis)+アルゴリズム重視;二次面接はプロジェクト+シナリオ設計;三次面接は総合(アーキテクチャ理解、技術ビジョン)。基礎とプロジェクトの両方をしっかり準備することをお勧めします。
Q: 7月に内定をもらうのは早すぎる?
A: いいえ——むしろ余裕ができます。7月に内定を得た後、卒業論文に集中したり、より良い機会の面接を続けたりできます。多くの同級生は9月になって最初の内定を得て、その頃にはすでに不安になっていました。
Q: 早期選考にリファラルは必要?
A: お勧めします。リファラルは履歴書の処理を速め、リファラル者が進捗を追跡してくれます。私は求人フォーラムでLINE社員を見つけてリファラルをお願いし、応募翌日に筆記試験通知を受け取りました。