2026年秋Amazonフロントエンドインターン面接:応募から内定までわずか2週間

新卒採用特集著者: BeautyResume チーム

Amazonフロントエンド開発新卒採用の完全な面接体験記。筆記試験、JS基礎+React、エンジニアリング+プロジェクト深掘り、HR面接を網羅し、出題問題まとめと対策アドバイス付き

背景紹介

まず私の基本情報から:985大学(中国のトップ大学)の計算機科学専攻、2026年新卒です。秋採用で楽天のフロントエンド開発ポジションに応募しました。正直なところ、周りの多くの同級生がアルゴリズム職を狙っていて、フロントエンドを選ぶ人は少なく、かなり不安でした。でも、UI構築やインタラクション制作が本当に好きなので、自分の情熱を貫きました。

タイムライン:9月1日にリファラルで応募 → 9月3日に筆記試験通知 → 9月5日に筆記試験 → 9月8日に一次面接 → 9月11日に二次面接 → 9月14日に三次面接(HR面接) → 9月15日に内定電話。応募から内定までちょうど2週間、自分でも驚くほど早かったです。

面接プロセスの振り返り

筆記試験(9月5日)

楽天の筆記試験は4問のコーディング問題で、難易度分布はおおよそ1問易、2問中、1問難でした。私は2.5問をACし、3問目は60%のテストケースしか通せませんでした。正直、予想より難しく、特に最後の動的計画法の問題は諦めました。でも同級生と話したところ、フロントエンド職は2問通れば基本的に面接に進めるので、あまり焦る必要はないようです。

一次面接:JS基礎 + React(9月8日、約60分)

一次面接の面接官は若手エンジニアで、穏やかに話してくれました。自己紹介の後、すぐに技術的な質問に入りました。

1. クロージャとは何ですか?クロージャの例を手書きできますか?

これはしっかり準備していました。カウンターの例を書き、クロージャの原理を説明しました——関数はレキシカルスコープを記憶し、そのスコープ外で実行されてもアクセスできます。面接官はクロージャのメモリリークについて掘り下げ、私はループ内のクロージャの罠と解決策を説明しました。彼は頷いてくれました。

2. イベントループの仕組み、マクロタスクとマイクロタスクの違いは?

簡単な実行フロー図を描き、コールスタック → マイクロタスクキュー → マクロタスクキューの順序で説明しました。面接官がコードスニペットを提示し出力順序を問いました。正解しましたが、少し緊張してPromise.thenとsetTimeoutの優先度を混同しそうになりました。

3. ReactのFiberアーキテクチャについて理解していますか?

以前ソースコード解析を読んでいたので、Fiberのリンクリスト構造、タイムスライシング、中断可能なレンダリングについて説明しました。面接官がReact 18の並行機能について質問し、useTransitionとuseDeferredValueに言及すると、彼は満足そうでした。

4. 手書き問題:デバウンス関数を実装してください

これは定番問題です。即時実行オプション付きのデバウンス関数を書きました。面接官はスロットル関数も書くように求め、それも書けました。両者の使用例の違いを聞かれ、検索ボックスにデバウンス、スクロールイベントにスロットルと答えました。

5. React Hooksのクロージャの罠をどう解決しますか?

useRefで最新値を保持する方法と、useEffectの依存配列の問題について説明しました。面接官はなぜ条件文内でHooksを使えないのか掘り下げ、リンクリスト保存の観点から説明しました。

二次面接:エンジニアリング + プロジェクト深掘り(9月11日、約70分)

二次面接の面接官はシニアエンジニアで、すぐにプロジェクトの説明を求めました。私が構築したローコードプラットフォームについて説明すると、深く掘り下げ始めました。

1. プロジェクトのビルドツールの最適化をしましたか?

WebpackからViteへの移行プロセスを説明し、ViteのESM事前バンドルとオンデマンドコンパイルの利点を話しました。面接官はWebpackのTree Shakingの原理を掘り下げ、ES Moduleの静的解析の観点からCommonJSがTree Shakingをサポートしない理由を説明しました。

2. コンポーネントライブラリのオンデマンド読み込みはどう実装しましたか?

Babelプラグインの自動インポート方式と、ES ModuleのsideEffects設定について説明しました。面接官はCSSのオンデマンド読み込みも聞き、CSS ModulesとCSS-in-JSのアプローチを比較しました。

3. フロントエンド監視SDKを設計するとしたら、どうアプローチしますか?

これはオープンエンドな問題でした。データ収集(パフォーマンス指標、エラーキャプチャ、ユーザー行動)、データ報告(sendBeacon、画像ビーコン)、データ処理と可視化の次元から私の考えを説明しました。面接官は初回コンテンツペイントの正確な計算方法を掘り下げ、MutationObserver + PerformanceObserverの組み合わせアプローチを説明しました。

4. 手書き問題:Promise.allを実装してください

基本バージョンを書き、面接官はエラーハンドリングとイテレータサポートの追加を求めました。イテレータ部分で少し詰まりましたが、面接官がヒントをくれて最終的に書けました。

5. クロスオリジンの解決策は何がありますか?CORSのプリフライトリクエストとは?

CORS、JSONP、プロキシ、postMessageなどのアプローチを列挙し、CORSのシンプルリクエストとプリフライトリクエストの違い、Access-Control-Allow-Originなどのレスポンスヘッダーの役割に焦点を当てて説明しました。

三次面接:HR面接(9月14日、約30分)

HR面接は比較的リラックスしていました。主にキャリアプラン、楽天を選んだ理由、他の内定の有無、希望給与などを聞かれました。楽天のエンジニアリング文化とフロントエンドインフラレベルを最も重視していると答えると、HRの方は微笑んで「よく調べていますね」と言ってくれました。最後にいつから出勤できるか聞かれ、いつでも可能と答えました。

出題問題まとめ

1. クロージャの原理とメモリリーク

2. イベントループ、マクロタスクとマイクロタスクの実行順序

3. React Fiberアーキテクチャと並行機能

4. デバウンス・スロットル関数の手書き実装

5. React Hooksのクロージャの罠

6. Webpack Tree Shakingの原理

7. ViteとWebpackの違い

8. フロントエンド監視SDKの設計

9. Promise.allの手書き実装

10. クロスオリジン解決策とCORSプリフライトリクエスト

アドバイス

1. 基礎はしっかりと。楽天の一次面接はほぼJS基礎とフレームワークの原理でした。クロージャ、プロトタイプチェーン、イベントループを明確に説明できなければ、基本的にアウトです。「JavaScriptハイレベルプログラミング」を読み、重要な章は復唱できるようにしましょう。

2. プロジェクトは深く説明できるように。二次面接の面接官は何をしたかだけでなく、なぜそのようにしたのか、より良い方法はなかったかと掘り下げます。プロジェクトの技術選択にはすべて自分の考えが必要です。

3. 手書きコードは暗記だけではダメ。面接官はエッジケースやバリエーションを聞きます。丸暗記していると、掘り下げられた瞬間にボロが出ます。各問題の原理を理解し、応用できるようにしましょう。

4. メンタルが大切。一次面接では実際に2問あまりうまく答えられませんでしたが、面接官は合格をくれました。振り返ると、面接官が評価しているのは正解数だけでなく、思考プロセスやコミュニケーション能力も含まれています。

FAQ

Q: フロントエンド職の筆記試験は何問ACすれば面接に進めますか?

A: 同級生との会話に基づくと、2問程度ACすれば基本的に面接に進めますが、全体の競争状況にもよります。少なくとも易しい問題と中程度の問題1問を確実に解くことをお勧めします。

Q: 面接官はアルゴリズムを聞きますか?

A: はい、但しそれほど難しくはありません。私が遭遇したのは中程度の難易度で、主にリンクリスト、ツリー、動的計画法でした。LeetCode Hot 100を一通りやることをお勧めします。

Q: 大企業のインターン経験がなくても合格できますか?

A: できます。私は小さな会社のインターン経験しかありませんでしたが、プロジェクトを深く説明し、面接官に認めてもらえました。重要なのは、技術力を示すプロジェクトのハイライトがあることです。

Q: HR面接で落とされることはありますか?

A: まれにありますが、ほとんどありません。主に入社意欲と価値観が合っているかを確認されます。誠実な態度で明確にコミュニケーションできれば、基本的に問題ありません。

Q: 応募から内定までどのくらいかかりますか?

A: 私の場合は2週間で、比較的早い方です。通常のプロセスは2〜4週間です。特定の段階で止まっている場合は、リファラルにお願いしてフォローアップしてもらえます。

#ByteDance#フロントエンド開発#新卒採用#秋採用#React#JavaScript