2018 / 09 Backend Engineer 後端工程師面試紀錄(Pinkoi / Gogoro / iStage / 雷亞 Rayark)

不單單只是順應自然,也要用行動體驗不同的機會

前言

剛畢業就無縫工作(全職實習),所以在拿到轉正的 offer 之後,決定好好放兩個禮拜的假,除了休息之餘,也想說可以趁這個時間以新鮮人的身份去面試有興趣的公司,有更深的認識,畢竟一輩子也只能體驗一次剛踏進社會的感覺。

本次求職只應徵後端工程師 backend engineer,Python / golang 為主

背景

介於非本科與本科中間,清華大學原科院學士班(能源 / 資工),大家對於院學士班都會有誤解,以為你是雙主修,算是某種好處吧,但該修的也都有修:程設 / 資結 / 離散 / 演算法 / OS / 計結 / 計網概 …。在學期間有兩個網頁前後端的相關實習經驗,有小型獨立專案,也有黑客松的得獎紀錄,以非本科來說算是資工方面的材料算是足夠。

公司

Pinkoi

直接投官方網站

junior backend engineer

## 電話面談

與人資電話面談,除了簡單的職缺介紹,中間聊了:

  • 求學過程
  • 實習經驗
  • 對 Pinkoi 的了解
  • 為什麼想要來 Pinkoi 工作

整個過程非常輕鬆,人資十分的好聊活潑,同時也有條不紊的回答我的問題,同時展現專業與親和力,是非常不錯的人資。

## 現場面試

一直都想來 Pinkoi 的辦公室,這次終於來了,整個辦公室很有市集的感覺,有活力、活絡和有點亂,以粉紅色 / 白色為基底做了很多延展的規劃和設計。

第一階段,與人資聊天

一樣也是聊過往的經驗,約略 10 ~ 20 分鐘。

第二階段,技術面試

當我在會議室等待面試官時,看到 Mosky 和另外一個工程師 ( Mark ) 經過會議室準備要進來的時候,我心裡想:不是吧,不是吧,這次面試我的是 Mosky ?!,啊啊啊啊啊,各種情緒整個炸開,覺得很幸福,又怕在欽佩的人面前表現不好,一下子突然變得超級緊張,從第一次實習面試之後就沒那麼緊張過了。

主要的面試內容:

different between golang concurrency and python concurrency

費波那契數列求第 n 個(遞迴 / 尾遞迴優化 / 動態規劃優化)

從 google 搜尋進入到 Pinkoi 網頁,中間發生了什麼

  • http / http2 / TCP / UDP
  • GET / POST

server

  • web server — nginx
  • static file render
  • app server — gunicorn
  • load balance

db

  • how to scale up

other

  • connection pool
  • thread & process
  • design a schema allow multiple worker to get the task and record

整個過程很大一部分集中在 infra 上,演算法和實作只佔了一小部分,這對我來說相對困難很多,以往對 infra 的經驗十分不足,也讓我重新思考我心中一個好的後端工程師需要具備什麼技能。透過這次的面試讓我找到很多可以注意加強的地方。

後續的自由提問,問了許多問題,聊的蠻深入的。

## 技術長面試

原本想說在技術面試的表現不太好,感覺沒什麼機會進到這個階段,所以收到通知的時候還是蠻意外的,開心。

這個階段主要在了解面試者,對公司的了解,對公司的興趣,對工作的熱情。

## 結果

offer get

Rayark

直接投官方網站

software engineer server

## 遠端技術面試

第一階段從遠端進行技術面試,主要的面試內容:

  • c pointer
  • recursive
  • static and dynamic declaration
  • stack memory / heap memory
  • thread & process
  • check is binary search tree or not

主要集中在 os 的基礎知識這塊,最後有一題演算法題,不算太難。

## 結果

進入現場面試,但已經收假,故婉拒。

Gogoro

透過獵頭

junior backend engineer

## 現場面談

第一階段,兩位團隊主管面談

基本上根據履歷問問題,聊求學經驗 / 實習經驗 / 專案經驗,內部使用 Java 開發,所以特別集中在先前作為 QA intern 使用 Java 自動化測試這一塊,但 Java 實在是不太熟,最後問了:

請寫一個 function 解出 1 + 2 + …… + n 的和

我直接傻住,簡單地寫了回傳公式解的答案,接著問遞迴版本要怎麼寫。感覺只是要確認你會不會寫程式。

在自由提問的時候,問到工作氣氛還有合作相關的問題,感覺面試官不太有自信,回答起來感覺不知道是因為不知所措還是自身不認同,讓人感覺不太穩重和可信賴。

第二階段,工程部門主管面談

主要在談為什麼想進 gogoro,對 gogoro 的暸解,對公司文化的認同。中間有聊到,相較於 python,我個人不太喜歡寫 js,剛好 gogoro 的新系統決定要用 node.js 寫,接下來就開始一連串各種 — “好的工程師用什麼語言都可以寫出好的功能” 之類的對話,基本上我都認同,但就只是個人喜好問題,有點像是被當草莓訓話的感覺,真的是蠻尷尬的。

另外一點是談到 gogoro 系統時,主管說到關於 gogoro 的系統是大的話題,我就一邊開始思考怎樣算是大的系統,是使用者多、資料多、同時在線人數高或是瞬間流量高等等,索性就問主管,對於 gogoro 來說大系統的定義是什麼,主管說:「是複雜度高,需要整合不同系統,資料流,不像是你們電商的系統簡單只要上傳商品,付錢,運送…」,對於這點我非常不以為然,另一方面也覺得身為一個工程主管,應該是可以大致了解各種系統的難點,這個部分在我心中扣分很多。

第三階段,人資面談

簡單聊公司文化福利,十分鐘結束。

## 結果

offer get

iStage

透過獵頭

backend engineer

## 現場面試

第一階段,人資填表

辦公室位於台北小巨蛋,覺得十分新奇,剛到的時候人資拿出應徵表給我填,表個上面有一堆沒必要填的個人資料,對於這種表格,我都蠻無奈的,問身高體重,問婚姻狀態,問離職原因,問每一份工作的薪水,不理解的求職者就乖乖照填,殊不知個人資料洩漏之外談判的籌碼也就這樣送給對方。

第二階段,工程主管面試

工程主管出了兩個關於 golang 的考題,基本上都有答出來,過程是在白紙上進行,十分不習慣沒有 syntax highlight,而且考題錯誤蠻多的。

第三階段,工程師面試

問了一題頗難的演算法題,給數條公車路線和站牌,問怎麼轉車可以最快到達目的地,並在白板上實作。

## 結果

無聲卡

收到邀請,但拖太久或沒有時間開始,做個紀錄:

  • shopee tw

蝦皮在台灣決定開一個小的工程團隊,收到獵頭邀請,以 python 為主,還蠻有興趣的,可惜當時人不在台灣,回來就已經找到人了。

  • appier

收到線上測驗題邀請。

  • kksteam

收到線上測驗題邀請。

  • streetvoice

收到人資回信,要求自己打電話過去跟人資約時間,覺得有點不合理,同時也收假就沒繼續下去了。

後記

其實已經基本上決定要在實習的公司留下來了,畢竟已經在裡面體驗五個月,公司精神、同事、工作氛圍、團隊合作方式和 offer 內容都很滿意,很難有機會讓我動搖,但依舊想要出去試試看,同時因為要休息的關係,幾乎沒有特別準備,也是好奇沒有特別準備的話,我能夠走到哪裡,了解自身有哪些不足的。

所以想跟各位面試官、人資和獵人說聲抱歉,沒有把最好的一面展示出來,但我相信不是浪費時間,在這個過程我從中更認識這些公司,能夠跟內部的工程師接觸,更加了解內部的文化與氛圍,並把我的感受分享出來給更多人參考,幫助大家更加了解各個公司。