🔎

面接体験や対策 Indeed Software Engineer

なぜIndeedを選ぶのか?

 
面接は2つのラウンドに分かれています(2次面接が大きなラウンドです)。
  • 第1ラウンド:Karat
  • 第2ラウンド:ループインタビュー(5ラウンド)+クロージングラウンド

Karat面接(60分)

ドメイン知識セッション(10分)とライブコーディングセッション(残りの時間)の2つのセッションに分けられます。最初のセッションでは、5つのトピックから3つを選ぶことができます。トピックは非常に広範囲だが実務経験があれば大きな問題にはならないでしょう。このラウンドで10分以上費やさないようにしてコーディングセッションで最大の時間を確保してください。回答を短く正確に伝えるのがコツです

Loop Interview x 5

都合の関係上ループインタビューを1日内に終わらせる人もいるかもしれないがそれを避けることをお勧めします。疲れるので2~3日に分けたり面接間にたっぷり休憩を入れたりするようにしてください。

ホワイトボードコーディングx2(60分x2)

合格できるように二つのラウンドで優れたパフォーマンスが必要だと考えていいと思います。コーディングさえできていればそのほかのラウンドが普通でも合格できたりします。leetcodeで練習してもいいかもしれないがIndeedのコーディング面接は典型的なleetcodeの問題とはやや異なるためコンピューターサイエンスのData Structure & Algorithm をたくさん復習した方が対策になります。
ホワイトボードコーディングなので、書いたコードが実行されないので一行一行説明して面接官の脳内でコードが実行されるように説明する必要があります。Indeedはリアルワールドの応用例を大事にしています。例えば、データのストリームを与えられた場合、どのようにメトリックスを集計しますか?また大量の生データが与えられた場合、どのように効率的に検索できるようにシステムを設計しますか?どのようにとある1つのデータ構造のメモリ効率の向上をしますか?重要なのは、データ構造とアルゴリズムの練習です。配列、ハッシュマップなどの基本的なデータ構造に加えて、キュー、ヒープ、ビットマップなどのより高度なデータ構造にも練習することをお勧めします。

レジュメディープダイブ(60分)

過去のプロジェクトで得られた経験や実績について語っていく面接です。ここで大事なのは、最も成功したプロジェクトを選ぶことです。いくつかの例は以下のとおりです。
  • リードや深く携わったマルチチームのプロジェクト:Indeedはチームを小さく保つ一方、他のチームからの協力と調整が必要な大規模なプロジェクトが多くあるのでマルチチームの活躍は重視されてます。
  • レガシーシステム移行:Indeedは長い間存在しているため、多くの大手テック企業と同様に、レガシーシステムと移行の必要性が常に存在します。
これらは私のお勧めです。すべての人が異なる経験を持っているため、異なるストーリーがあるでしょう。

アーキテクチャ(60分)

Indeedは「Twitterを設計する」スタイルのシステム設計面接を行いません。代わりに、Indeedのシステムの一部を使ってます。インスピレーションを探している場合は、https://indeed.comを見てみてください。その中で一つの機能を選んでそれを実現できるための仕組みを考えてみます。
リレーショナルと非リレーショナルデータベース、ストリームとキュー(Indeed内ではKafkaが広く使用されています)など、トレードオフについて議論することを忘れずに注意してください。システムの各部分のスケールも常に聞かれるのでread heavy, write heavyなどを意識して議論していきましょう。
詳細やエッジケースにあまり時間を費やさないでください。トレードオフとスケーリングに関する議論の方が重要であり、これらに重点を置きましょう。

コードレビュー(60分)

これは「簡単な」ラウンドだと思うかもしれませんが、簡単だと思っていた候補者が失敗したと聞いたことがあります。これはリアルワールドでもやっているのですべての企業が行うべきの面接だと思います。
数ファイルのリポジトリを見せられてバグ探しやコードレビューをしてもらうラウンドです。普段の修行が大事なので準備できるものではないです。唯一のヒントは、与えられる60分を賢く使うことです。細かいところから入っていくとあとどのぐらいカバーしないと行けないかわからないのでまずは全部のコードを読んでから一つずつ指摘していきましょう。

クロージングラウンド(30分)

これは技術的でないラウンドで、面接の反省をするためのものです。また、興味を持っているチームを伝える良いタイミングです。オファーがこのあと来た場合(おめでとうございます!)、数人のチームマネージャーとのチームマッチングミーティングがあります(数時間かかります)。

要約

それは長いプロセスになるでしょう、2〜3か月程度を考えてください。Indeedの面接の準備は
  • データ構造やアルゴリズムを復習
  • 過去のプロジェクトを語れるようにしとく
  • システムデザインの練習
をしておくと良いでしょう。

Already purchased? Sign in here.