Atlassian SDE 2(P4)面接体験談:バンガロール、2021年
更新日: 2026年7月17日
本稿は、LeetCode Discussに公開された候補者本人の体験談をもとに、AtlassianのSoftware Development Engineer 2(P4)の面接ループをまとめたものである。候補者は2021年9月にバンガロール勤務のポジションで面接を受け、最初の連絡からオファーまで全プロセスに約1ヶ月半かかったと述べている。
ループはいくつかの技術的な質問を含むHR面談から始まり、その後、低レベル設計(LLD)、コード設計、システム設計という3つの問題解決ラウンドへと進み、最後にバリュー面接とマネジメント面接で締めくくられた。候補者は、Atlassianの各ラウンドが典型的なアルゴリズム問題よりも実践的な設計問題に重点を置いていたと述べており、最終面接からおよそ1週間後にオファーを受け取ったと説明している。
選考プロセス
全体のタイムライン
候補者によると、最初の連絡からオファー受領までの面接プロセス全体には約1ヶ月半かかったという。
HR面談
ループは40分間のHR面談から始まり、候補者の現在のプロジェクトや職務内容に加えて、候補者いわくHRの場では予想していなかったという技術的な質問も行われた。
技術設計ラウンド
続けて1時間ずつのラウンドが3回連続で行われた:低レベル設計(LLD)ラウンド、コード設計ラウンド、システム設計ラウンドである。候補者のメモによると、コーディングラウンドではIDE上で実際に動くコードとテストケースの記述が求められた。
バリュー面接とマネジメント面接
ループの締めくくりは、カルチャーフィットに焦点を当てた1時間のバリュー面接と、候補者のこれまでの経験を中心とした1時間のマネジメント面接だった。
結果
候補者は最終ラウンドからおよそ1週間後にオファーを受け取ったと報告している。
HR面談
経歴確認と台本のない技術的な質問の組み合わせ · 40分
- 候補者の現在のプロジェクト、役割、職務内容についての詳細な議論。
- LRUキャッシュではどのようなデータ構造が使われるか?
- 整数値のストリームを保存するインメモリキャッシュをどう設計するか?
- ハッシュデータ構造を使うことの主な長所と短所は何か?
- 良いコードを定義する主な要因は何か?
- マイクロサービスとは何か? 現在の役割でいくつ所有しており、どのような影響があるか?
候補者は、HR面談に技術的な質問が含まれていたことに驚いたと述べている。
ラウンド1:低レベル設計(LLD)
IDE上で動くコードとテストケースを伴う低レベル設計 · 1時間
- APIレートリミッターの低レベル設計(LLD)を行う。
候補者は基本問題を解いた後、複雑さを加えた拡張版の出題を受け、面接官のヒントを得ながらそれも解いた。
ラウンド2:コード設計
ファイルとコレクションをまたいだデータのモデリングと集計 · 1時間
- 名前・サイズ・(任意で)所属コレクションを持つファイルのリストが与えられたとき(1つのファイルが複数のコレクションに属す場合もある)、処理済みファイルの合計サイズを計算するシステムをどう設計するか?
- そのシステムを拡張して、合計サイズ上位K個のコレクションを計算するにはどうするか?
ラウンド3:システム設計
複数プロダクトを横断する大規模タグ付けシステム · 1時間
- Atlassianの異なるプロダクト(例:Jiraのissue、Confluenceのページ、Bitbucketのプルリクエスト、Trelloのボードなど)にまたがる関連ページにタグを付与するシステムをどう設計するか?
- そのシステムを1日1億件のタグリクエストを処理できるようスケールさせるにはどうするか?
候補者は、まず機能要件と非機能要件を洗い出し、次にデータストレージモデル、そして高レベルのコンポーネント設計とコンポーネント間の連携という順でこの問題に取り組んだと説明している。
ラウンド4:バリュー面接
カルチャーフィットの評価 · 1時間
- Atlassianのバリューとの適合性を評価するため、複数の行動面接の質問が用いられた。具体的な質問内容については候補者の投稿に記載はなかった。
ラウンド5:マネジメント面接
マネージャーとのこれまでの経験についての議論 · 1時間
- 候補者のこれまでの職務経験とキャリアの経歴についての踏み込んだ議論。具体的な質問は候補者の投稿には記載されていなかった。
学びのポイント
- 過去の技術的な意思決定について、担当範囲や影響も含めて詳しく説明できるよう備えておくこと。後半のラウンドだけでなくHR面談の時点ですでに問われていた。
- 低レベル設計は疑似コードだけでなく、実際に動くコードとテストケースとして書く練習をしておくこと。LLDラウンドではIDE上でのコード記述が求められた。
- グループ化・入れ子になったデータの集計手法(重複するコレクションをまたいだ合計値やtop-K結果の計算など)を復習しておくこと。コード設計問題として出題された。
- システム設計の質問では、まず機能要件と非機能要件、次にデータストレージ、そして高レベルのコンポーネント構成という順で回答を組み立て、その後にスケールの話に進むこと。
- 技術ラウンドに加えて、バリューやマネジメント面での経歴を問う非コーディングのラウンドも含まれることを想定し、それらの対話に向けて過去の仕事について明確に語れるナラティブを準備しておくこと。
出典
質問と選考プロセスの事実は、下記リンクの候補者本人の公開投稿に基づきます。本文は当サイトによる再構成です。
候補者本人による英語の公開体験談を翻訳(出典:LeetCode Discuss)