2021 新鮮人軟體工程師面試心得 (三)- Sea Labs 篇

鄭益昀
6 min readDec 30, 2021

--

前言

這篇文章是我一系列求職文的其中一篇,如果還沒有看其他篇建議先按順序往下看:

  1. 2021 新鮮人軟體工程師面試心得 (一)- 面試準備與總結
  2. 2021 新鮮人軟體工程師面試心得 (二)- ASUS AICS 篇
  3. 2021 新鮮人軟體工程師面試心得 (三)- Sea Labs 篇
  4. 2021 新鮮人軟體工程師面試心得 (四)- Google 篇

Sea Labs 後端工程師

因為有認識學長在這邊工作才僥倖得知訊息並被內推,最近好像處於擴招期。這邊要注意的是 Sea 跟蝦皮他們兩邊不能同時進行面試,需要先面完一個才行。因為是 Sea 先回我,所以就先跟 Sea 進行面試了。

公司介紹

Sea 是新加坡/東南亞最大的科技公司,目前市值為 150 Billion USD,旗下有三大產業分別為 Shopee(電商), Garena(遊戲) 及 Sea Money(數位金融)。其中,蝦皮因為規模最大,所以已經切割蠻開了,連辦公室都不是在同一個地區。

Sea Labs 隸屬於母公司 Sea 的旗下,算是他們的科研機構。基本上 Sea Labs 主要在做的就是不斷研發新產品,如果產品成功的話可能有一些人就會繼續發展該產品(如蝦皮的元老成員),或也可以留在 Sea Labs 做新的產品。

相較於蝦皮有 5000+ 名工程師,Sea Labs 只有不到 100 位工程師,聽說最近擴招可能會變多,但最多也不會超過 200 人。目前最大的 Project 應該是做一個自己的 public cloud,這計畫還處於蠻初期的階段。

與蝦皮的比較

以下言論相對來說比較主觀,我也只是道聽塗說,不保證真實性。

相對於蝦皮來說,Sea Labs 應該是一個比較純粹的工程環境,因為做的產品本身還沒有營利,可以比較注重於開發與工程。蝦皮的話則因為已經是一個很大的產品,有些職位會比較需要做一些 Business logic 的工作。我覺得工作本身我會較為喜歡 Sea Labs。

因為蝦皮才是真正賺錢的產品,他們那邊薪水比較高。也因為蝦皮還在擴張且組織非常年輕,那邊的升遷機會會多很多。從職涯發展來說蝦皮可能會是比較好的選擇。

最後,如果上網看 Blind 或 Glassdoor 的評價的話,兩間公司都有同一個問題。因為創始人與創始元老都是中國人的關係,公司內部在工作之外主要還是以中文為主要交流語言。如果不會中文可能會在交友與溝通方面有點障礙。但看的懂這篇文章的人應該是不會有這個問題啦~

面試過程

流程大致如下:

  • 第一個禮拜:HR * 1
  • 第二個禮拜:Techincal * 2
  • 第三個禮拜:Team Lead * 1, VP * 1

第一關是跟 HR 面試。出乎意料的是全中文的。這關應該是五關裏面我最緊張的一關,不知道怎麼形容。這一關我聊天聊不太起來的感覺,讓我一直有蠻大的壓力。內容的話主要就是問做過的事情,遇到的挫折,為什麼想來新加坡等等。

接下來兩關 technical 都蠻酷的,基本上沒有什麼聊我過去的經驗,都是直接問我硬實力的問題。這邊兩關都是英文面試,問題主要分為 Leetcode 與知識性兩種:

Leetcode

其實考的蠻少的,我遇到的題目都是一些不用想太深入的問題,難度大概是 Medium。問題基本上沒有很多優化空間,也沒有什麼太困難的 edge case,而且只要對了之後他就直接前往下一題。儘管他考了兩題,但加起來可能不到 15 分鐘就可以解決掉了。我覺得題目不刁鑽,只要好好刷 Leetcode 就應該可以順利解決。

知識性問題

這裡應該是絕大部分人會倒的地方,因為真的很難準備。題目真的非常廣泛,包含 DB, OS, Network, Distributed System, 語言特性等等。下面是一些被問到的問題:

  • 語言特性:因為我寫的是 Python 所以問的是 Python 的問題。

Given a code snippet, What is the output?(考 Variable Scope)
What is the difference between a//b and int(a/b) given aand bare integers? (Answer

  • Database: 台大資工系的學生可能沒學過,建議還是要去補一下

Design a SQL schema for a given scenario
Compare and Contrast SQL vs noSQL
What is indexing? How can we use indexing?
What is B-Tree? What is the advantage of B-tree being n-ary instead of binary? (Answer)

  • OS: 基本上一些 SP 教過的東西

What is race condition? What is deadlock?
How do you prevent them?

  • Network:

What is the max number of TCP connections a server can have ignoring hardware limitations? (Answer)

  • System Design:

What is a load balancer? How can you balance the load effectively (consistent hashing)?
What is Caching? What is a Content Delivery Network?
How can you invalidate static resources (e.g. CSS Sheets) after updating despite a valid browser cache? (Answer)

上面這些問題有一些真的蠻困難的,有括號 Answer 的基本上是我想不出來或是被給了很多提示才想到的。不過這種面試就是會一直往下問直到榨不出更多知識,所以如果更強的人來,應該就會被問更難的問題了。

儘管面試非常困難,但我面的很開心,結束後真的會覺得學到很多。如果是對 Sea 有興趣的人建議要多練習 Leetcode 以外的技能。

第三關則是 Team Lead,沒有太特別的東西。主要就是聊聊天,了解我這個人。聊的理所當然包含以前做過的專案,團隊合作的問題,為什麼想投這個職缺等等。

最後一關是 VP,據說只要進到這關就已經錄取了。跟 AICS 一樣,很大部份是我問他答,總長一小時的面試裏面有 40 分鐘是他在講話。我其實非常喜歡這種模式,可以讓我對這間公司有更多了解。

後續流程

Sea 的時間跟 AICS 基本上是重疊的,大概在拿到 AICS 一周後我拿到 Sea 的 Offer。因為從薪資,工作內容,職涯發展上都是我蠻滿意的公司,我就準備說好了。這個時候 Google 還沒有面完,所以話還沒有說死,但其實心理已經有點打定主意要出國了。

談薪水的部份我沒什麼來回,大概就說了 AICS 開的價,然後 Sea 給了一個相當有誠意的 Competing Offer。兩家開的薪水都是我非常滿意的數字,所以一次OK,沒有來回討論。

比起蝦皮,我對Sea 的工作內容更感興趣,同公司的薪水也沒有什麼好 Compete,所以我就放棄了蝦皮的後續面試。如果比較想去蝦皮的話,網路上有蠻多蝦皮面試的經驗,可以自己找找看。

最後說個題外話,我個人推荐先面 Sea 再面蝦皮,因為蝦皮沒有人資面但 Sea 有。有認識的人先面了蝦皮,被拒絕後再去 Sea 結果第一關就被人資刷掉,推測應該是 Sea 不想收蝦皮刷掉的人。如果先面 Sea 就算被 Sea 刷掉了,蝦皮也沒有人資面來刷掉你,感覺會比較穩定。

--

--