面接体験談

Oracle OCI SDE I(IC-2)面接体験談:シアトル、2020年

OracleSDE I(IC-2)、Oracle Cloud Infrastructure(OCI)·ワシントン州シアトル·面接時期: 2020年1月オファー獲得

更新日: 2026年7月17日

Amazon Cloud Support Associateとして約1年のフルタイム経験を持つ候補者は、大学時代の友人からOracleがシアトルでSDEを採用していると聞き、Oracle Cloud Infrastructure(OCI)への紹介を受けた。友人は採用マネージャーのLinkedInの連絡先を伝え、候補者が履歴書を添えて連絡したところ、マネージャーが電話面接を設定した。

その後の選考は、電話面接1回と、コーディング・軽めのランチでの会話・圧縮されたシステム設計・OCIの掲げる価値観に基づく別枠の行動面接を組み合わせた5回のオンサイト面接で構成されていた。出題内容は、頻度カウントとヒープを使う問題、グラフのBFSによる距離計算の問題から、二分探索木のイテレータ、電話番号予約の設計問題、集中ログ管理に関する短いシステム設計のお題、重複部分文字列を見つける難しい文字列問題まで多岐にわたった。

選考プロセス

  1. リファラルと電話面接

    友人からLinkedInで採用マネージャーを紹介されたことがきっかけとなり、履歴書を提出し、1問のコーディング問題を中心とした電話面接につながった。

  2. オンサイト - コーディングラウンド

    4回のオンサイト面接ではグラフ探索、木構造のデータ構造、ランダム選択の設計問題、難しい文字列問題が出題され、面接官はおおむねまず初期解を求め、その後より効率的な解法を求めた。

  3. オンサイト - ランチとシステム設計

    マネージャーとのランチでの会話には短いコーディング演習が含まれ、後のラウンドには集中ログサービスに関する約15分のシステム設計の議論が組み込まれていた。

  4. 行動面接

    別枠の会話ではOCIの掲げる価値観に加え、候補者の大学院時代のプロジェクトに関する追加質問も扱われた。

  5. 結果

    採用マネージャーは同じ週のうちに連絡し、オファーを提示した。

電話面接

コーディング - ヒープを使った頻度カウント

  • 異なる種類のログメッセージを含むテキストファイルが与えられたとき、最も頻度の高いK件のメッセージを返す。

候補者はまずN件全てのメッセージを保持する最大ヒープを提案し、その後、全メッセージを挿入するより省スペースな、サイズKに制限した最小ヒープへと解答を改良した。

オンサイト ラウンド1

コーディング - グラフ探索 / BFS

  • 0とD(Dはデータベースを表す)からなる行列において、各0から最も近いDまでの最短距離を求める。

最初はすべてのセルから隣接セルを確認する総当たりのスキャンで、計算量はおよそO(n^4)だった。その後候補者はDのセルを起点とするマルチソースBFSへと移行し、ラウンド終盤で動作させることができた。

オンサイト ラウンド2

コーディング - 木構造 / イテレータ設計

  • 二分探索木のイテレータを実装する。

候補者はまず中順(in-order)走査の結果を全て配列に格納し、その後、より省スペースな、再帰を制御するイテレータをより優れたアプローチとして論じた。

オンサイト ラウンド3(マネージャーとのランチ)

軽めのコーディングの会話

  • 与えられた時刻における、時計の短針と長針の間の角度を計算する。

候補者は面接の直前に、これと似た時計の角度問題を復習していた。

オンサイト ラウンド4

データ構造設計とシステム設計

  • 未予約の電話番号プールを設計し、利用可能な番号を取得するgetRandom()メソッドと、顧客に番号を割り当てるreserve()メソッドを実装する。主な制約は時間計算量である。
  • 約100台のサーバーからログを収集する集中ログシステムを、高速なログ検索に最適化して設計する。

システム設計部分は約15分に限られており、候補者は公開されているシステム設計の参考資料にある一般的な概念を軸に解答を組み立てた。

オンサイト ラウンド5

コーディング - 文字列

  • 文字列が与えられたとき、最長の繰り返し(重複)部分文字列を見つける。

難問とされており、候補者は総当たりのアプローチにしか到達できず、会話ではトライ木とRabin-Karpアルゴリズムにも触れられた。

行動面接 / 価値観に関する会話

行動面接

  • OCIの掲げる価値観(Amazonのリーダーシップ・プリンシプルに似ていると説明された)を示す具体例を共有する。
  • 候補者の修士課程でのプロジェクトに関する追加質問。

学びのポイント

  • 的確なリファラルは採用マネージャーへの直接のパイプを開いてくれる。履歴書に添えた短く要点を押さえたメッセージだけで、電話面接の設定には十分だった。
  • サイズを制限した最小ヒープを使うなど、よくあるパターンの省スペース版を練習しておくことは、基本パターンを知っていること自体と同じくらい重要になり得る。
  • システム設計の持ち時間が短い場合、細部をすべて網羅することよりも、解答を組み立てるための一般的なフレームワークを持っていることの方が重要になる。
  • 価値観との整合性を示すエピソードを事前に準備しておいたことで、特にバーレイザー的な面接官がより深い追加質問をしてくる場面でも、行動面接を乗り切りやすくなった。
  • すべてのラウンドで完全に最適化された解答が必要というわけではない。総当たりのアプローチとより良い解法への方向性を説明するだけでも、少なくとも1つのラウンドでは十分好感触だった。

出典

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

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