見出し画像

Agodaのフルスタックエンジニアポジションの面接を受けた話

こんにちは、サカモトです。AgodaのFull-Stack Engineerの面接を受けたので面接ストーリーを書いていきます。おそらく日本語の情報が殆どない企業なので貴重な情報だと信じています!おそらく刺さる人には刺さる!東南アジアでエンジニアをやりたい方 or 外資のファーストキャリアとして入りたい方に向けて書いてます。

ちなみにAgodaは知る人ぞ知る有名なホテル予約サイトです。私も海外旅行でよく使っているサービスですね。珍しい事に開発拠点はバンコクにあります。あまりバンコクってエンジニアのイメージないですよね。levels.fyiのデータを見るとバンコクで高給のエンジニアといえばAgoda一強で、バンコクでエンジニアをやるならこちらは見逃せないと思います。

この企業の面接を受けるのにオススメの方

  • 東南アジア(バンコク)に住みたい方

  • バンコクで日本のメガベンくらいの年収をもらいたい方

  • 外資のファーストキャリアで力を付けたい方

関連記事

インタビュー構成

全部で3 Roundsあります。全ての面接はCodeSignalというプラットフォームで行われます。面接予約もGreenhouseというソフトウェアを利用することが出来るので、人事とのメールの往復回数を減らせるのは良い面接体験だったと思います。毎回面接日程設定するの疲れるよね、、、

素晴らしい事に面接を開始する前に各ステージでどのような面接が行われて、何を評価するのかが書かれているガイドのPDFを貰えるので事前に心の準備が可能なのは素晴らしいですね。各社この方針でやって下さい。

1次面接(コーディング)

先ずは簡単な自己紹介や経歴を話した後でLeetCode的な問題が出題されます。難易度はMeduimレベルでした。ガイドにはEasy - Meduiumレベルまで出されると書かれています。一応二問目も用意されていましたが、こちらは時間が余った時の場合に解く問題でした。二面目は少し実践よりのJSの問題でしたが、曖昧な擬似コードのまま面接が終わっても通過の連絡がきたので全部終わらなくても特に気にしなくて良いと思います。

2次面接(プラットフォーム)

応募するポジションに対するプラットフォーム(ドメイン)の知識を確認する面接でした。私はFull-Stack Engineerを募集していたのでWeb全般に関する知識やコーディングスキルの両方を評価されていたと思います。

1つ目の課題は、とあるシステムをフロントエンドとバックエンド両方を含めた形でシステムデザインを行います。特定のフレームワークなどの情報を出しながら、その技術選定に関して深く質問されていく事になります。面白い事にMiroがCodeSignalと連携されていて図を書くのが非常に体験良かったです。

2つ目の課題は、Reactを使ったフロントエンドのUIコーディングの問題でした。特質すべき点はあまりありませんが、残り時間が少なかった事もあり、全て出来なくても良いからやれる所までやってほしいという指示の元で実装方針を説明し、途中まで完成した所で面接は終了となりました。途中まで大丈夫かな?と不安になりましたが、最後に「上手くいったと思うから、すぐに結果を返すよ」と言われたので流石に通ったかなという印象で面接は終わりました。

3次面接(システムデザイン)

最後はシステムデザイン面接になります。こちらはとある有名なサービスと同じシステムを作るにはどのような構成にするか?というあるあるの面接課題だったと思います。以前どこかで見たことあるような内容だったので、全体のシステム設計をする事はさほど大変でもありませんでした。なお、所々ツッコミなどは貰いました。あえてその中でポイントを上げるなら次の点に気をつけながら設計すると高評価になると思います。私の反省点としてはDBとHA構成に関する深い内容をもっと正しく語るべきでした。次に活かそう。

  • どこを非同期リクエストで処理するか?

  • システムのスケールアウトは(DB/Appサーバ)?

  • SQL or NoSQL

  • 高可用性(High Availability)構成にするには?

  • どこにキャッシュを置くか?

面接対策するには?

対策の比重が大きいものから書いていくと、この順番になると思います。LeetCodeっぽいコーディングは最初の一問しか出ないので、あまり力を入れなくとも得意な分野に当たれば問題なく一次は通ると思います。しかも一次面接なのでそこで落とされれば労力を使う事なく面接を終了できます。それより面接全体を通じてWebエンジニアとしてドメイン知識の深堀りをされていくので、上手く答えられるようになっておけば各面接ステージで乗り切れると思います。

  1. Webエンジニアとしてのドメイン知識を復習

    1. Browser, HTML/CSS/JS, HTTP, DB, Message Queue, Object Storage等

  2. システムデザイン

  3. LeetCode

  4. フロントエンドのUIコーディング

対策本

システムデザイン対策には最適

Webエンジニアとしての知識をつける

宣伝: サカモトは運営開発しているInterviewCatを活用してください。Agodaのような外資のテック企業の面接対策の情報が載っています。

オファー内容

最後にオファー内容を書きます。正直バンコクという土地の物価を考えると良いオファーだと思いました。日本のメガベンレベルは期待できそうです!これでMidレベルなのでSenior/Staffだともっと高い給与を期待できると思います。自分はStaffのポジションに応募しましたが、Midにレベルダウンだったのは残念で反省すべきポイントでした。しょうがない。オファー内容は↓

ここから先は

188字 / 1画像

¥ 1,000

よろしければサポート(ワンコイン)お願い致します。今後記事執筆の励みになります。