[agoda] 泰國曼谷軟體工程師面試流程分享

門禁森嚴需要多次換證,內部不能拍照的總部門口

今年 (2017) 三月左右,Booking.com 在台灣有舉辦一些交流活動,參加活動完後讓我對線上訂房產業與技術產生了些興趣,雖然有收到 Booking.com recruiter 從 LinkedIn 上寄來的面試邀請,但內心可能還存在著一些創業魂及對東南亞的興趣而暫時婉拒了這個機會,因為在工作的選擇上,我總是偏愛還沒成為產業龍頭並且還有龐大成長空間的公司,所以剛好看到同屬 Priceline 集團、網站風格卻還像新創公司的 agoda 在招募 Full Stack Engineer 的廣告時,儘管職缺上提到的 C# 我從來沒用過 (註1),還是不管三七二十一就在線上提交了申請。

在面試流程開始介紹前,先大略提一下我個人的背景,也會把與面試相關的日期標註在後面,希望這篇文章可以幫助到一些想去泰國曼谷工作的朋友在事前做一些準備。

約十年前我從某國立大學數學系畢業,應屆在某國立資工所待一個學期、修了十五個學分後決定肄業當兵去。退伍自己跑去歐洲玩幾個月後回來分別在某半官方資訊法人、防毒軟體公司、NAS 公司、以及號稱東南亞臉書的 Social Network 工作過。工作職涯初期主要都是以 Backend 為主,近期則主要以 React.js 和 Vanilla JS 維生,不久前蠻常在 Stack Overflow 上打混,有一些像籃球裁判、外語導遊等跟軟體工程師不相關的證照。在面試前泰國只去過曼谷和普吉島各一次,英文等級指考時是高標,但單字能力逐年迅速遞減;泰文跟很多人一樣只會「沙挖滴卡普」,其他什麼都不會。大致上是這樣,如果想知道其他工作過的細節,歡迎加我的 LinkedIn 交個朋友。

在線上投履歷大約一兩個禮拜後就接到了 HR 的面試邀請通知 (MAR 22nd),在約三封電子郵件的往來確認後,確定了第一次線上 Skype 面試時間 (MAR 29th)。面試完第一輪約一小時的面試後,下午很快就收到了第二輪的面試邀約,因為剛好碰上清明連假和要幫忙我姊的婚禮 (APR 1st),我約在清明節 (APR 5th) 下午挑戰我的第二輪面試。第二輪面試也是約略一個小時,最後以一個系統架構設計的問題結束。約莫三小時後就收到了 on-site 面試的邀請,效率高到讓人有點不可思議,只是那時候我還有其他的事情要處理,跟人資討論好幾次後,才決定在過了潑水節的後一週 (APR 20th) 出發,後來想想,如果沒被錄取又沒參加到潑水節好像就真的有點可惜了。至於在面試的日程安排上,通常 agoda 會讓應試者在抵達泰國後的隔天再讓應試者休息一天,也就是到了泰國後的第三天才會進行面試,但是由於我到的日子是星期四,第三天會是沒人在的星期六,所以只好隔天就硬著頭皮參加連環面試大挑戰了。

這邊插播一下關於申請泰國簽證的注意事項,泰國近期 (MAR 2017) 對台灣仍然沒有免簽,雖然免旅遊簽證手續費,但是自己去排隊辦旅遊簽證的過程簡直是場折磨,要不是因為出國的日期太趕,我一定會選擇花台幣兩三百元請人代辦,兩三百真的很划算,當你看到那擠滿辦事處的排隊人潮,不但會悔恨自己為什麼沒有請代辦,連想滑手機滑到沒電都還得怕跳號過頭而滑得不安心,更別說送件跟取件總共還要浪費兩次。那在申請表單上要選擇辦什麼種類的簽證呢?因為我想我總共六天待在泰國,只有一天下午在 agoda 聊天,其他時間都在觀光旅遊也沒有工作,所以最後選擇申請旅遊簽證應該沒錯。

基本上 agoda 會提供三到四天的免費住宿給應試者 (註2),可以依個人需求與 HR 討論去回程機票日期,只要自己負擔額外的飯店費用,就可以在面試結束後多待泰國玩一下了。從機場到飯店的交通也不用擔心,agoda 會安排專屬轎車 (limousine) 從機場接送到飯店,住的飯店通常會離市中心的總部很近,大約走十分鐘左右就可以抵達,搭車從機場到飯店雖然蠻舒服的,地處市中心也相當熱鬧,不過缺點就是塞車會塞到天荒地老讓人想下車用走的。由於我隔天就要面試,所以在面試的前一天晚上我有自己先走一遍試算路程時間兼探路,不然正式面試前還得找路搞得自己滿身大汗就有點狼狽了,面試最不缺的就是緊張,事前能多做一些準備總是好的。

我的 on-site 面試 (APR 21st) 有四關,每個職位的經驗可能不一樣,每關也是大約一個小時,兩關結束後會接著有一個鐘頭的休息時間,然後再繼續面試兩關。也就是如果從下午一點開始,就會一直面到下午六點才能解脫。這裡值得注意的是,面試官的名字跟當天的面試行程 HR 會在出發前跟應試者確認,收到行程表後我有偷偷 Google 人肉了一下面試官,查一下過去的專長與過往的經歷,猜測可能會問哪些問題,最後我自己感覺是還蠻有效的,至少看到面試官不會有那種第一次看到的陌生感,對我來說也比較不那麼緊張。

話說回來,我這次面試的經歷也算蠻特別的,因為第一關的面試官不知道為什麼時間到了還找不到人,所以我的第一關是在會議室跟 HR 的聊天中度過,聊天時她雖然有一直不停地跟我道歉,或許這個聊天有稍微舒緩了一下我緊張的心情,但因為不知道 HR 會不會也偷偷在這時候對應試者打分數,所以雖然表面上是閒話家常,也還不敢隨便造次就是了。而這面試過程中唯一讓我有小小抱怨的是原本以為自己可以少面一關賺到了,但是後來第一關的面試官臨時改在中間的休息時間進行面試,本來可以休息的一小時卻變成了得連續五小時不停講話和燒腦奮戰。

On-site 的面試有白板題,內容有演算法系統架構設計模式除錯經驗等等,比較值得注意的是體力真的要足夠,在面到最後一關時,有可能會有開始放空的情況產生,但是雖然有時候會放空,沒聽懂的部分還是要勇敢地再問一次,不然回答錯就糗了。所以我覺得可能在面試前買個巧克力咖啡之類的提神食品,在換下一個主考官進來前迅速補充一下,或許或多或少可以讓精神在最後一兩關的時候集中一些。

在機場準備搭飛機回台北的路上,收到了 HR 跟我說 manager 要跟我約談 feedback 的郵件 (APR 25th),心裡其實有點忐忑不安。不過還好隔天 (APR 26th) 幸運地拿到了口頭錄取通知,在經過一個多禮拜 (May 5th) 的長考後,決定前往曼谷工作。最後錄取的職位是 Senior Full Stack Engineer,工作內容著重於 Web 的 Backend 和 Frontend 的設計與架構實作,相關或其他職位的面試問題可以去 Glassdoor 做一下研究,裡面有很多前輩寫的有用資訊。為什麼會做出這樣的決定?或許我一輩子反骨慣了,想要在短短人生有更精彩豐富的體驗,常常做出別人覺得是改變蠻大的決定,雖然同時拿到了其他在台外商不錯的 offer (單純以薪資不計算生活水平之類而言是比 agoda 好),我還是決定舉家搬遷去曼谷作為我人生的下一步,至於很久沒用的 Windows,就當作另一種對自己的挑戰吧 :D

對了,agoda 有提供一些 relocate 的 package,像是第一個月會提供應試錄取者不錯的酒店式公寓讓你去找房子 (註3),還提供一個貨櫃可以讓你把家裡的東西都搬去曼谷、幫家人辦簽證等等。

下一篇文章會是申請工作准證 (Work Permit) 和工作簽證 (Visa) 的經驗分享,如果是有經驗的工作者,為了申請減免泰國的高額個人所得稅 (註4) 和工作准證,需要準備的資料會有些繁雜,提早知道可以提早申請準備資料,不然拖到後面的進度你會發現申請的時程慢到像是在測試應試者的耐心一樣。另外在決定前往泰國工作前也需要事先評估一下當地的消費、租房和孩子們的教育 (註5) 等等生活雜事,這在接受 offer 前絕對需要下一番工夫好好研究,所幸在有疑問時靠谷歌大神還有一些前輩朋友們的幫忙,讓我能夠像打怪一樣一關一關突破,所以之後有空也會針對這些相關經驗寫一篇心得來回饋分享。

如果想要了解一下考試題目,批踢踢 Soft_Job 版有兩篇寫得不錯的面試題分享,相當值得參考學習:
  1. [心得] Agoda Full Stack Developer
    https://www.ptt.cc/bbs/Soft_Job/M.1492257650.A.5BC.html
  2. [心得] agoda senior SWE (data engineering)
    https://www.ptt.cc/bbs/Soft_Job/M.1492329963.A.109.html
倘若你對 agoda 有興趣或任何問題 (註6),歡迎透過留言或是 LinkedIn 聯絡我。

後註:
  • 註1:工作以來大都是走 *unix 派的,比較常用的是 Python、NodeJS、PHP 跟 Java。
  • 註2:我這次去面試 agoda 提供的住宿飯店是 Novotel Bangkok Platinum Pratunam
  • 註3:其實我覺得住宿部分應該跟歐洲有些公司一樣,提供整個試用期 119 天的長度比較好,不然如果試用期沒過還要付違約房租有點慘慘滴。
  • 註4:泰國的個人所得稅很高,一百萬泰銖以上就要 25%,兩百萬泰銖以上就要到 30% 了。
  • 註5:曼谷因為有很多外商主管攜家帶眷進駐,所以有很多國際學校,先不講價錢這點的話是很吸引我。