跳到主要內容

【面試心得】2017 後端工程師面試以及準備經驗(旋轉/Shopline/17/Appier/蝦皮)


文/徐瑋呈

(圖片來源/面試趣製圖

約 2017/5 月底開始找工作,雖然沒有面試很多間可以做很仔細的分享,也不是什麼感人勵志的故事,但因這段期間許多網路上無私分享的文章幫助了我許多,也希望能分享自身的準備與面試經驗,有機會幫到需要的人。

個人背景與應徵目標
自身過去三、四年都在創業,因為一些私人因素與職涯規劃決定離開這個充滿自己青春與心血的地方。也花了許多時間思考下一步該往哪走,最後決定要找尋一個符合以下條件的公司:

  • 英文工作環境
  • 國際市場
  • 新創氛圍
  • 累積或處理的資料量大
  • 產品分數 20~80 快速成長階段的公司(假設 IPO 為 100 分)

過去一路從五專、插大到研究所都是資訊相關科系,求學中一直都有接案與實習增加社會歷練,不過英文倒是五專搞爛了,大學一度面臨因為英文無法畢業,近一兩年透過 engoo 與 EF English 算是有慢慢進步中,這歷程又是另外一個故事了。

畢業後就開始在新創圈,在接觸的面向廣度,以及同時做很多件事的能力有非常顯著的提升?!但一直缺少資料量大的實務經驗,以及較為深度研發的經驗,在訂下這些公司條件後也以此作為下階段職涯的學習目標。

以下按照應徵結束順序排列


Carousell
旋轉拍賣是個以二手拍賣的為主的 C2C 平台,主要市場在新加坡,台灣一樣有分公司設立,但大家目前較為熟知的應都是蝦皮。運氣很好的是,剛好開始找工作的同時,旋轉拍賣大舉在台灣徵才,也非常符合我心中設定的所有條件,算是初步的首選目標。

《第一階段》
是在台灣的辦公室進行,剛好因大舉徵才,所以面試官飛到台灣來做面試。面試我的是一位 Senior Engineering Manager 與人資,一開始不免俗先自我介紹一下,然後開始針對過去經歷作些問答,其中問到過去架構設計的部分,還拿出電腦直接展示之前畫的架構圖 XDD。後面聊到 CI/CD 所用到的種種服務、之前帶團隊最大的挑戰是什麼、怎麼帶人、之前公司的開發流程怎麼跑得、為什麼想加入等等。

最後換我問問題時,瞭解到公司內部對於 open source contribution 還有各大 conference 贊助參加等都是非常開放與支持,而且還提供遠端工作的福利,算是蠻不錯的。當天下午就收到一份回家作業。

《回家作業》
作業主要是請你用一個前端框架(建議 React.js)與後端語言(建議 Node.js)做一個 Reddit 的網站,並希望我在週五前可以給出(週一第一階段面試),才有機會當週末參與下階段面試

這邊有個小插曲是原先花了一整天念 react 但最後發現無法速成,與其交個完成品但架構不好,不如用自己擅長的語言做好架構與寫好 README。所以最後用了 Rails + Vue.js 花了幾個夜晚在他們期望的八小時內作完。

《第二階段面試》
在週五交完作業後下午就收到當週日的面試邀約,共兩個小時兩個 round 有四位面試官,比較妙的是這四位的名字都有在 email 上,所以就狠狠的在 google 以及 linkedin 上研究了一下他們的 background,猜測他們可能會問什麼問題(雖然最後都沒用 XDD)。

當天記得午後下超級大雨,開車去小樹屋會議室,還到了錯的據點,只好快速傳個 email 說會遲到趕快過去,一抵達馬上就被安排進去,一進去連自我介紹什麼都沒有,就直接白板題開始寫惹。

在兩小時(前三題第一 round,後四題第二 round)內解了七題...

  • 硬幣問題,有不同種幣別,如何用最少的數量達到一個數字?
  • 如何處理 google doc 的文件編輯同步問題?你會用哪種資料庫?relational db 跟 nosql 差異?(選了其中一個後)會有什麼問題?
  • 九宮格的迷宮問題,如何用最少成本從起點到終點?(類似 shortest path)
  • 如何設計 stack insert and pop,時間複雜度只能是 O(1)
  • 設計一個 reddit with db schema and infrastructure(聽到這題想說我不是作業做過了嗎 XDD 但這部分就比較著重在架構設計)
  • 如果很多人同時去 up/down vote 一個超級熱門的主題,你應該怎麼改架構
  • 如果同時很多人衝進來留言呢?(不用很即時的顯示其他人留的沒關係)

算是非常充實的一次經驗,面試完覺得全身被榨乾,還去旁邊的飲料店坐著發呆快半小時才恢復正常。但過程被問到許多次「為什麼」你會這樣設計?這樣做?,可以感受到即使是管理者(面試官)也需要不錯的邏輯與技術底,才有辦法問出應試者是否真的懂。

《最後一階段:與 Co-Founders 面試
大約也是隔天就收到下階段面試的邀約,就在當週禮拜四。這一面算四平八穩,因為知道是面試人格特質以及公司文化等內容,事前就先網路上找一下這方面的網路精選面試題,非常幸運(?!)的命中率有九成...我自己也嚇到,印象中記得有這幾題:

  1. 為什麼離開現在的公司?
  2. 為什麼想要加入 Carousell?
  3. 想在旋轉扮演什麼樣的角色
  4. 接下來三年有什麼目標
  5. 除了工作有什麼休閒活動
  6. 之前工作遇到最大的困難是什麼
  7. 同事都怎麼說你?他們曾經因為什麼事情討厭你?

《結果》
拿到 Offer。旋轉的人資非常有效率,從第一個週一面試、第一個週五交作業、第一個週日第二階段面試、第二個週四 co-founder、第二個週五拿到 offer。



Shopline
這間是透過以前的一位同事做履歷的投遞,而 Shopline 是個給商家做品牌購物官網的服務,算跟過往產品經驗相似,所以也有一定程度的興趣。

《第一階段》
一開始與人資聊了大約半小時關於過往經驗以及為什麼想加入 shopline,中間也交流了未來的規劃等等,整個過程蠻開心的。後續則請了工程師主管以及一位後端工程師繼續面試技術部分。

整個過程也像是聊天,交流一些過去的經驗, 像是開發流程、架構設計、CI/CD 還有他們目前的運作方式,以及主管帶人的理念等。因為這位工程師主管過往社會經驗蠻豐富的,所以在交流一些過去創業經驗與心得時還蠻好聊的,對於整體公司氛圍以及想幫助每個商家成功的理念算蠻符合我心中期待。

後續就等待與香港工程團隊以及 CEO 面談。

《結果》
因已收到 Carousell 的 Offer 故主動婉拒後續的面試。


Odigo
是一個非常有趣的共享日本行程服務,主要是透過虛擬幣以及遊戲機制的方式,鼓勵在平台上面分享自己的行程,也因這樣的行程若有幫助到人,或是獲得許多瀏覽次數等達成遊戲機制目標,自身也能不斷獲得「玩幣」,而這「玩幣」還能換取真正的錢做購物喔。

而母公司是一間日本旅遊企業,更覺得這個服務有很高的機會能夠做起來。

因為自身很喜歡日本這個國家,過去不僅常出去玩,還有過兩三個比賽題目都跟旅遊相關,所以感到非常的有興趣,也很感謝 Simon 網友大大的鼎力協助,很快的就獲得面試的機會。

《第一階段》
第一次的面談有三位一同參與,分別是 PM, CTO(大陸人), 以及一位工程師(日本人,東大畢業)。過程其實問的非常廣,從機器學習、大數據甚至到寫程式的習慣與工具都有涉及到,印象比較深刻是被問到了兩個很硬的問題:

  • 有寫過 linux kernel 嗎?
  • 是否曾經讀過 HA Proxy 的原始碼?

第一時間真的有嚇到,一來是沒想到他們的工程師底這麼厚,二來是腦中馬上浮現「東大特訓班」這個日本漫畫。後續則收到了一份回家作業,也是個需要幾天晚上才做的完的網站規模。

《結果》
主動婉拒後續的面試。其實當初要婉拒真的思考的蠻久,主要是這個題目真的超級喜歡,但在回想一開始設定的目標後,還是忍痛的婉拒。



17 直播
職位:SRE

是個主打直播社交的平台,自己也跟許多人一樣,最開始認識這間公司的契機點主要因為老闆是黃立成,最近也看到許多被投資甚至成立 17 media 要開打東南亞市場的新聞。

另外也因有以前同事先進去裡面,聽到一些像是他們要開始經營一些自產節目等等。

投 17 比較特別的是丟了 SRE 的職位,算是給自己的一個挑戰,畢竟過去沒任何直接經驗,他們的面試也很乾脆在一個早上兩個小時聊天過程中就有了決定。

《面試》
一進去是由他們的 HR 做接洽,當時是在 operation 相關部門辦公區域外的許多小餐桌上進行面談,時不時還有許多直播主進進出出,或許也是這樣沒有答的很好(愛牽拖)。

接下來與他們的 SRE 進行面談,途中考了許多 linux 的指令以及伺服器知識,像是怎麼知道那個 port 有在用?如何測試某個 ip 的某個 port 有沒有開放?504 gateway error 可能會是什麼原因,要怎麼知道問題點在哪?如何看連到某個網站的路由路線?等等。

最後則是與他們的後端 lead 做談話,這位主管過去曾在美國 google 上班過,後來因家庭因素回到台灣去 HTC 最近才到 17。整個聊天過程很開心,也趁機多問了一下美國跟台灣工作狀況,額外收穫蠻多的。

《結果》感謝信。


Appier
這是間人工智慧為主軸的廣告公司,過去因為合作伙伴關係有些接觸,加上 Appier 已是世界知曉的 AI 技術團隊,對於在數據處理以及大流量上相信有許多挑戰,還曾看過有不少外國工程師在 linkedin 上有 follow Appier,整體上印象分數很好,所以也納入選項之一。

除了工作以外,朋友一直說 Appier 對面就是健身工廠,對於一直無法穩定健身的自己,算是另外一大誘因 lol

《第一階段面試》
當時他們採取的方式是有興趣的組(團隊)會來進行面試,記得跟了三、四個 team 面試,有後台的、前台廣告追蹤的、Business Analysis、數據蒐集等幾個 team,有印象兩個演算法考題(有做些 leet code 應都能 cover 過去):

  • longest-palindromic-substring
  • coin problem

數據蒐集部分還有問到如何處理 raw data,像是 log,比如說有 user name, timestamp, json 等,如何根據他們需求處理,比較困難的部分在於 I/O 的處理,如何妥善運用空間(space complexity)換取時間(time complexity),或是時間換取空間會是其中的關鍵。

第一天面完幾個 team 後,便接續跟他們的 PM 與 Tech Lead 聊,被問到蠻多大量數據與流量處理上的架構問題,當時對於 distributed architecture 與相關的服務還沒那麼熟悉,覺得沒答特別到位。問題像是,該如何處理一分鐘數十萬的 requests、若使用 queue 該如何確保他們能夠在短時間內被處理完進行分析等等。

第一階段算蠻硬的,一連面了四個半小時左右,最後 HR 則接待等下階段通知便離開了。比較窘的是,可能擴張太快制度還沒定下來,所以跟每個 team 面談前都會先自我介紹一下,以及被問些履歷上的東西,會有種人生不斷 repeat 的錯覺。

《第二階段面試》
這也算是最後一階段面試,因為是與 CXO 們的面試,所以在他們最有辦法一同出現的時間,也就是禮拜天下午進行面談,也是很辛苦 XDD。

一開始是與 CTO 聊天,沒太多考試,主要都是聊聊過去經驗,為什麼想加入 appier 等等,也因為這聊天才知道原來 Appier 並不是他們第一個產品,雖都是做資料與 AI 相關的題目,但在這之前也失敗了三四項題目,非常的不容易。

接著與 COO 與 CEO 聊天,這部分就比較偏向人格特質跟公司文化,很喜歡 COO 的想法,我問了請問 Appier 對於員工的未來規劃與發展有什麼想法?

大方向的回答是,希望每個人都能在這發揮自己所長做出貢獻,並且能夠不斷進修自己(他們提供很多額外課程給大家進修),同時也能因為在這裡工作感到快樂並過好生活與家庭。雖然沒有太多的所謂「理想」、「夢想」,但卻是很實在。

《結果》錄取。


蝦皮(新加坡 SEA)
蝦皮最近應都被人所熟知也就不多做介紹,在與人資聊天過程當中得知原來公司今年要開始改叫 SEA(原 Garena),且公司主要多為大陸人。

比較特別是,原先本預計跟旋轉拍賣一樣都會是全英文,沒想到從頭到尾都是中文,一度腦筋還轉不過來 XDD

跟人資聊完接著就是線上考試,最一開始用任意程式語言寫一個 binary search 的架構,算是很快就過關進入連環的問答題,這邊就簡單分享幾個被考的題目:

  • 3 handshake 是什麼?
  • 4 handshake 是什麼?
  • HTTP vs WebSocket vs Socket
  • 什麼是 HTTP2
  • PostgreSQL vs MySQL
  • 各種排序演算法的時間與空間複雜度
  • Google Protobuf 是什麼?
  • TCP 該如何做流量控制
  • 有用過 Elixir (ruby syntax-like for erlang structure) 嗎
  • C thread 怎麼運作?
  • 該如何 ping 某個 protocol 或是 port?
  • telnet 如果防火牆擋住了會怎麼樣?

其實除了這些還被考了許多問題,花了超過一個小時,但可以看到面試官拿著一份看起來就是題庫的本子在找要問什麼問題。印象比較深刻是他們都沒用過 AWS 或是 GCP 之類的服務,公司的伺服器甚至整個雲端架構都是自己組建的(不愧是陸資公司),對於我這時的職涯規劃與團隊想法是蠻大的扣分,所以後續也就請 HH 討論不繼續往後面試。

《結果》沒下文。


準備資源
根據面試幾間下來,大致上可以把應徵準備分為四大塊:
演算法、商業知識、系統設計、公司文化。

《演算法/資料結構》
這部分大家都相當清楚有 Leet Code,也推薦另個好物:演算法筆記,是個從大學時期參加程式競賽陪伴到現在的好伙伴。

另外最近國內許多公司也開始效仿國外用些 online judge 的系統作第一階段的測驗與篩選,像是 HackerRank 或是 codility 都是目前常見的。

《系統設計》
這部分推薦 High Scalability 以及 HiredInTech 的 System Design,都有許多實務經驗分享,以及可能的面試題型可以參考。

《商業知識與公司文化》
這部分就沒有太多訣竅,很吃個人特質,但可以透過多練習(對練、冥想模擬等方式),以及多閱讀、多分享來進行改進。幾個跟公司文化相關的部落格可以參考:themuse.com 以及 100offer。

以上分享,希望可以給些人帶來幫助 :D

樂於分享的人總會有回報
一起貢獻自己的經歷一起面試趣



(文章授權於熱英雄手札部落格)

留言

這個網誌中的熱門文章

【面試心得】退伍後 2個月,我面試了11間公司| 2018 數位行銷新鮮人的面試

文/張簡翊珽 Eisenberg

(圖片來源/pixabay)


《前言》: 剛好最近適逢畢業季,希望能將自己面試過的公司整理出來(面試時間是3~5月),也發現我有些面試的公司在網路上心得文不多,希望能夠提供一個流水帳式的分享,當然內容還是無法完全記錄下當時面試的過程,若有希望知道更細節的部份可以私訊本人FB 。
這是篇長文,閱讀時間約15-20min,請確保有足夠的興趣&精神再往下滑,也可以直接跳躍到有興趣的公司。
不過也要先說明,文中不會提供什麼:「面試必中準備秘笈」或「感動面試官之金玉良言」這種東西...只是將自己面試的過程以及對公司的觀感記錄下來,因為我認為,每個人對面試的回答,應該是照自己的情況或能力去回答,沒有所謂標準答案,我能夠提供的只有讓你了解面試的氛圍,讓你去思考自己會如何應對。
【誰適合閱讀這篇】: 這篇分享寫給我自已,也寫給跟我條件類似的同溫層。我們不是台清交成政,也不是海歸派(甚至我自己只有大學學歷),但我們也好像小有努力,我們曾做過實習、曾跑過活動,也似乎知道自己要些什麼,但由於現階段的能力還不足以支撐我們理想中的樣子,所以雖然我們做了職場上該有的準備,但仍然迷惘。
【包含哪 11家公司呢?】:皆在北部 01. 奇幻城堡 02. MAJI 集食行樂  03. MAGIPEA 美極品  04. eLand - 意藍資訊  05. C Channel  06. HonestBee 誠實蜜蜂  07. 采億科技  08. 雲沛集團 - adHub 經緯廣告 09. MSI 微星科技  10. JUKSY 街星  11. 奧美集團 - 奧美互動行銷
這篇文章背景是我準備換第二份工作,第一份是在awoo 國際 — 擔任 AdWords 廣告投放。文中皆個人想法,盡量不帶主觀批評 (盡量啦…),但也不代表完全正確,如與真實情況不同,敬請指教。(偷偷說,文末有小彩蛋~
依照面試先後順序排列:


公司名稱:奇幻城堡 (一次面試 )
面試職稱:營運處 行銷專員
《職位內容》: 負責遊戲「大富翁天團」的行銷企劃,主要以線上推廣為主,需要有廣告投放及數據分析基礎觀念,若過去有社群經營經驗或實作部分為佳。
《面試過程》: 問題都算基本,最重要的是絕對絕對絕對要去試玩他們家的遊戲,在回答問題時,適時代入遊戲結合你提出的行銷方式。這間是我退伍後面試的第一家,其實我是拿來當練習的,但還好面試主管都還滿不錯,只要在面…

【面試心得】2018 前端工程師面試心得

文/Weihang Lo


(圖片來源/pixabay)
這是我在 2018 年 Q1 的求職面試心得,不算實習的話,就是第一次正式求職。記錄下來作爲人生里程碑,也分享給大家參考。

【背景】
森林系畢業,沒參與過任何資工必修課,是個大四才起步的自學傻子,啟蒙語言是 R。大四時協助教授建置 Linux server 並擔任 server admin。畢業前進入業界擔任 iOS 開發實習生,並在畢業後轉正職,2017 年 Q3 才開始全職開發前端工程。正職工作經驗約 1.5 年。

我的優勢是學習力旺盛、有 native app 開發經驗、熟悉且熱愛 Linux 和 command-line、熟悉電子書市場與相關技術、善於溝通傾聽而不堅持己見、喜愛分享所學所見。

我的劣勢是對 UI 較不在行、CS 知識不夠紮實、臨場反應不佳易緊張、沒有跑過真正的 TDD 和嚴謹的軟體開發流程。希望我的背景能給同樣境遇的朋友一些參照。

【求職需求】
由於前東家是上櫃公司,規模不小,制度完善,但也稍缺彈性,所以求職希望以新創公司為主。
以下依優先順序排列,薪資等基本需求不列入:
新創團隊或具有新創氛圍技術討論風氣盛。有能力相仿或更強的 co-worker,不必自幹。工作流程明確。重視軟體品質(CI/CD、單元測試)。同事年齡相近。對社會有正面意義。應徵企業列表以下是這段時間我有去應徵的企業,如果你對細節沒興趣,可以直接 end。

1. CakeResume:錄取但婉拒
2. Hahow 好學校:錄取
3. Appier 沛星互動:錄取



CakeResume

職缺:全端工程師
應徵方式:使用 CakeResume 投遞 CakeResume 的履歷


若是近年來想求職的朋友,想必對 CakeResume 不陌生,CakeResume 是線上履歷編輯平臺,利用拖拉元件的方式,快速搭建個性履歷,並提供企業刊登職缺。

《動機》
會想應徵全端工程師是因在學期間協助實驗室架設 server 與 DB,對後端頗有興趣。看到 CakeResume 全端缺便躍躍欲試,自己對新創團隊的運作方式十分好奇,加上媒體轉載許多創辦人的創業過程分享,頓時熱血沸騰,從頭打造服務百萬用戶的機會實屬難得。

《面試》
面試地點是在 AppWorks 之初創投的空間,由於我是約週一晚間面試,因此只有創辦人來面試我,一問之下,才發現公司規模比想像中更迷你。面試內容不外乎自我介…

【實用分享】為什麼去上班總是覺得超累?不是因為你做很多事,而是你的「心」很累

文/凱莉不加糖
(圖片來源/pixabay)
你上班時除了花體力、花腦力,還有一種很耗損的原因就是「情緒勞務」。

「為什麼去上班,我總覺得超累?」你累的,其實不是做了多少事,而是心很累!

美國社會學家亞莉•霍奇查爾德(Hochschild)提出了一個概念叫做「情緒勞務」(Emotional Labor),這是指你上班時除了花體力、花腦力,還有一種很耗損的原因就是「情緒勞務」。

體力、勞力之外的情緒勞務 這個名詞在最初時,霍奇查爾德《情緒管理的探索》裡是這樣定義的:「個人致力於情感的管理,以便在公眾面前,創造一個大家可以看到的臉部表情或身體勞動」。

 像是空姐要付出「熱情的情緒勞務」、醫生要付出「冷靜的情緒勞務」、櫃台人就會有「微笑的情緒勞務」,簡單說就是上班隱藏真實情緒,還得「賣笑」或「賣親切」。

之後,霍奇查爾德在《組織中的情緒》把情緒勞務的範圍擴大:「不管任何工作,只要涉及人際互動,員工都可能需要進行情緒勞務。」

我換句大白話,類比給你聽就懂了:
面對超愛不懂裝懂的無理客戶,你就要付出「微笑點頭、沒關係我改」的情緒勞務。
面對暴怒的老闆,就會有「低聲下氣、老闆英明」的情緒勞務。
面對扯後腿的同事,得拿出「內心喊幹,卻一笑而過」的情緒勞動。
面對不聽話意見又多的部屬,又要上演「忍住白眼、耐心輔導」的情緒勞務。 

這些煩人事,都是職場的日常,該怎麼紓解甚至進一步解決問題呢?


情緒勞務沒錢拿,卻與競爭力息息相關
莫名被轟炸、主管講話難聽、無理要求一大堆,不管是哪一件,都很容易讓你心情不美麗。職場有情緒難免,但要懂得自己找出口,首先,職場上要排解情緒,絕對不會是靠別人、更不是靠嘴,下面這個自毀案例,職場上很常出現:

之柔工作能力不錯,卡了個中階主管的位子,最近公司業務量大增,工作量直線上升,加上主管盯得緊,日子變得很難過,之柔開始跟其他部門的同事抱怨:

「煩死了,主管一直丟東西過來,別人的事也要我支援,憑什麼?」
「為什麼我的Team要做得比較多?能力好就活該嗎?」
「我都要累死了耶…為什麼公司還不幫我加薪?」
之柔一連問出三個為什麼,其實她想要表達的概念就是三個字:「不公平」!她沒有先把這些情緒內化,選擇直接「點火自燃」,把自己的情緒放到最大,由此可見之柔江湖走跳的時間還不夠長,不然就是智慧還沒開。

能者多勞,沒錯,這是真的!但做得多、領得多,這件事在職場上絕對不是正相關。

之柔過不去的點是,為什麼我能力好就…