面接体験談

Bloomberg シニアソフトウェアエンジニア面接体験談:5ラウンドを経てオファー獲得

Bloombergシニアソフトウェアエンジニア·イギリス、ロンドン·面接時期: 2022年10月オファー獲得

更新日: 2026年7月17日

候補者はBloombergのロンドンオフィスのシニアソフトウェアエンジニア職に、同社の採用サイトから応募し、約1週間以内にリクルーターから連絡があった。スクリーニング面談では、レジュメに記載したプロジェクトについての議論、Bloombergへの志望動機に関する質問、そして1問のコーディング問題が組み合わされ、その後により長いオンサイト面接のループへと進んだ。

オンサイト段階は、2回のコーディング面接、チームリードとのシステム設計面談、リクルーターとの非技術的な面談、そしてハイアリングマネージャーとの最終面接から構成されていた。各技術面接は、コーディングや設計の課題に入る前に、候補者のレジュメにある特定のプロジェクトについての議論から始まり、ハイアリングマネージャー面接では、同社への入社とロンドンへの移住を希望する理由に重点が置かれた。プロセスはオファーで終わり、候補者はそれを承諾した。

選考プロセス

  1. 応募

    Bloombergの採用サイトからシニアソフトウェアエンジニア職に応募し、約1週間以内にリクルーターから連絡があった。

  2. スクリーニング

    レジュメのプロジェクトについての議論、Bloombergへの志望動機に関する質問、1問のコーディング問題を組み合わせたスクリーニング面談。

  3. オンサイト・コーディング面接

    2回のオンサイト・コーディング面接。それぞれデータ構造設計の問題の前に、レジュメのプロジェクトについての議論から始まった。

  4. システム設計面接

    チームリードとのオンサイト面談で、より深いプロジェクトの議論とデータパイプラインのスケーリング課題を中心に構成されていた。

  5. リクルーターとの面談

    チームの文化、ロンドンでの生活、採用プロセスについての、リクルーターとの非技術的なオンサイト面談。

  6. ハイアリングマネージャー面接

    Bloombergへの入社と移住の動機に焦点を当てた、ハイアリングマネージャーとの面談。チームの概要説明と、高レベルのシステム設計課題も含まれた。

  7. 結果

    候補者はオファーを受け取り、それを承諾して入社した。

スクリーニング

レジュメのプロジェクトについての議論と1問のコーディング問題を組み合わせた初回スクリーニング

  • 候補者のレジュメにあるプロジェクトの一つについての、約10分間の議論。
  • なぜBloombergに入社したいのですか?
  • ある点まで減少し、その後再び増加する数列(U字型の配列)が与えられたとき、目的の値を探索する問題。「Search in Rotated Sorted Array」問題に類似。

オンサイト・コーディング面接1

プロジェクトについての議論の後、2問のデータ構造設計問題

  • 候補者のレジュメにあるプロジェクトの一つについての、約10分間の議論。
  • 顧客のチェックインとチェックアウトを記録し、駅間の平均移動時間を計算する地下鉄システムを設計する問題。
  • 3問目については、候補者の体験談では直接書き起こされておらず、コラッツ予想に関する別の公開体験談へのリンクという形で言及されていた。

オンサイト・コーディング面接2

メンタリング経験についての議論と、定数時間のデータ構造設計問題

  • 候補者のインターン指導経験と、自身が主導したプロジェクトについての議論。
  • レジストリ内のアプリを定数時間で挿入・検索・削除できるアプリストアクラスを設計する問題。「Insert Delete GetRandom O(1)」問題に類似。

システム設計(チームリードとの面接)

プロジェクトについての深い議論と、データパイプラインのスケーリング課題

  • 候補者のレジュメにあるプロジェクトの一つについての、約20分間の深い議論。
  • Kafkaキューを通じてparquetファイルを取り込み、S3ストレージに書き込むサンプルのデータパイプラインが与えられたとき、1日あたり約100万件の小さいファイルを処理できるようにどうスケールさせるか?
  • 代わりに1日あたり数百件の非常に大きいファイルを処理する必要がある場合、設計はどう変わるか?
  • このパイプラインを処理する際、単一ノードのメモリ不足をどう防ぐか?
  • このシステムにおける単一障害点はどこにあるか?

候補者自身の記述によると、その回答は次の通りだった。小さいファイルが多いケースでは、Kafkaコンシューマーを追加して水平方向にスケールさせる。大きいファイルが少ないケースでは、コンシューマーを追加してもあまり効果がなく、メモリ不足エラーのリスクがあると指摘する。そして、Sparkのようなツールでファイルをワーカーに渡す前にシャーディングし、ノードごとのメモリ使用量を制限する。

リクルーターとの面談

文化と移住の実務についての非技術的な会話

  • 技術的な質問はなし。会話では、職場の文化、ロンドンでの生活、採用プロセスについて扱われた。

ハイアリングマネージャー

志望動機に焦点を当てた会話、チームの概要説明、高レベルのシステム設計課題

  • なぜBloombergに入社したいのですか?
  • 金融の経験を活かしたいのであれば、なぜ別の会社に入社しないのですか?
  • 海外での経験を求めているのであれば、なぜ代わりにイギリスのテクノロジー企業に応募しないのですか?
  • なぜロンドンに移住したいのですか?
  • 証券のアラートシステムについて、高レベルのアーキテクチャを描いてください。

設計課題に進む前に、ハイアリングマネージャーはチームが組織内で果たす役割と、その全体としての機能についても説明した。

学びのポイント

  • 面接ループを通じてレジュメのプロジェクトが繰り返し話題になることを想定しておくこと。システム設計やハイアリングマネージャーとの面談を含め、ほぼすべてのラウンドで特定のプロジェクトの話から始まるか、その話に戻ってきた。
  • 「なぜBloombergなのか」という質問には、明確で正直な答えを用意しておくこと。この質問は複数のラウンドで尋ねられ、ハイアリングマネージャーからは何通りかの異なる形で問われた。
  • システム設計の深掘り質問については、候補者の印象では、面接官は挙げられた技術すべてへの実務的な習熟度よりも、トレードオフを概念的に筋道立てて考えられるか(例えば、メモリ使用量を抑えるためのシャーディングなど)を重視しているようだった。
  • 複数段階にわたる面接ループのための時間を見込んでおくこと。このプロセスは、最初のスクリーニングの後、コーディング、システム設計、非技術的な面談に加え、5回の独立したオンサイト面談へと続いた。
  • 候補者は、質問のスタイルを予測するための有用な準備として、LeetCode Discuss上にある他のBloombergタグ付き面接体験談を特に挙げていた。

出典

質問と選考プロセスの事実は、下記リンクの候補者本人の公開投稿に基づきます。本文は当サイトによる再構成です。

候補者本人による英語の公開体験談を翻訳(出典: LeetCode Discuss)