這篇拖了好久才終於要開始打…。去年十月其實考慮繼續攻讀博士班的,主因是系上想要新成立一個人機互動實驗室,所以滿有興趣留下來幫忙的。加上中研院也有提供研發替代役的名額,並且鼓勵攻讀博士班。想說趁這個機會唸博班順便把兵役解決挺不錯的,而且薪水也有三萬多。比新聞常說的 22k 多出了不少,感覺應該可以養活自己了。本來意志滿堅定的,儘管有許多人都建議我博班出國唸比較好,我也不怎麼想改變主意。然而,在與一位中研院的老師與一位在成大的業界講師聊過後,都建議我儘管要唸博班也要去試著找工作。除了了解業界目前所需要的技術外,也去了解如果選擇了博士班,自己會失去什麼?於是,我就踏上了面試的旅程…。

我一共投了以下幾天公司:

  • 香港商雅虎 Yahoo! Taiwan
  • 群暉科技 Synology
  • 美商謀智 Mozilla Taiwan
  • 聯發科技 MediaTek

另外有是接收到主管邀約:

  • 群聯電子 Phison

因為本來沒什麼想要找研替,所以沒有特別用心去寫 104 上面的資料,就填了些必須要填的資料,連自傳獎狀都沒有放…。除了聯發科與群聯之外的公司都是透過 104 應徵,聯發科則是用聯發科的招聘系統,至於群聯就是收到面試邀約的信件。

最後只有 Yahoo 沒被通知面試外,其他都有機會參與面試,所以一共是四間,以下就是各間公司的面試心得(依照面試順序):

群暉科技 Synology

因為很喜歡群暉的產品,群暉的 NAS 感覺真的很棒啊!加上之前他們有工程師來 seminar 演講,給人的感覺就是工程師都超強,然後薪水福利也很不錯,所以一直是我嚮往的公司之一。(買 NAS 還有員工價><)

而同校的同學們去群暉面試都說被慘電,沒有一個人有被錄取。每個人都說面試很硬很難很有挑戰性,就目前我知道的來講,我只知道有三個交大朋友有錄取。這麼有挑戰性的面試,更讓我有興趣去挑戰看看!於是我就在某個下午的兩點鐘投出了履歷。不得不說群暉的人資效率極高感覺很勤勞,當天下午三點就接到面試電話,也很快的把面試時間給敲定了。

面試前一天晚上,請了一位業界學長幫我撰寫推薦信。其實我覺得這就是一個面試了,先是履歷表被慘電,因為本身沒什麼專長與作品,似乎也令學長很困擾不知道該寫些什麼。折騰了三、四個小時,基本上履歷表整個被大改,最後也終於獲得推薦信一封。

面試當天大概提早了半小時到的群暉,不過好像太早到讓他們有點困擾。可能怕我覺得等太久,所以不時的會來跟我說:「再等一下噢!」經過半個多小時的心裡折騰與緊張,終於要開始面試了!

首先,第一位面試官進來了。一開始就是自我介紹,接下來就開始第一個問題了。第一個問題就是資料結構,要我設計一個資料結構並於白板上實作。該資料結構必須要使得求一陣列區間和與更新陣列中某一數值的總時間複雜度為 log2N。腦海中第一個浮現的就是 segment tree 了,另外就是 binary indexed tree。Binary indexed tree 是一個容易實作的資料結構,不過當下我真的忘了原理,整個實作不出來,所以就選擇了 segment tree 了。第一次在白板上寫程式老實說還滿困難的。加上面試的緊張讓思緒有點混亂,不過還好最後還是有實做出來!在寫白板題的過程中,面試官也一邊詢問其他問題,多數都是 C++ 的問題,例如:inherit、overriding、overloading、virtual function 與 template 等等。還有一些其他的問題,不過也忘了還有什麼了,大概一小時左右面試官就離開了,並請我繼續稍坐一下。

接著,第二位面試官來了。一樣開頭就是自我介紹,然後才開始問問題。一開始就是先問些技術問題,大多跟作業系統有關,這整個就是崩潰的開始了。作業系統我幾乎忘光了,一些專有名詞也不太記得。面試官又看了看履歷,發現我做過一個嵌入式系統專題,於是又問了我馬達的控制方法,不過還好我有答出來。接著來了個跟資料庫相關的問題,於是我又崩潰了。面試官可能受不了我一問三不知的程度了,決定直接出白板題讓他冷靜下來。這題白板題的題目就是對一個 linked list 進行 bubble sort。可能太久沒寫需要指標的程式,平常 linked list 幾乎都用 STL vector 代替了,所以整個有點混亂。就當我完成了我的程式碼後,面試官一直說我錯,可是我一直覺得沒有錯。最後才發現,原來我的程式碼可以正常進行排序沒錯,可是…我寫的不是 bubble sort 而是 selection sort!這讓我太崩潰了,一整個忘記 bubble sort 是像汽泡一樣會慢慢浮上來,於是面試官就離去了。

想說應該只是寫錯演算法說不定還有第三關的機會,但下一個進來的就是人資了。大概就是說今天面試辛苦了,如果有下一階段的面試下禮拜會再通知我。不過大家都知道群暉都是當天給 offer 的,而且一共是三關!加上隔了一個禮拜後也沒收到任何通知,所以很明顯的,我挑戰失敗了。

群聯電子 Phison

關於群聯電子,我很早就知道這間公司了,而且我很喜歡群聯電子的 CEO-潘健成。在大學時期常常聆聽各種演講,其中有一場就是潘健成董事長的演講。在那場演講中,潘健成董事長成了一位令我非常敬佩的人,而且是位很有個性的老闆!能收到面試邀約實在很榮幸,不過主因是該部門的主管似乎本身就有在關注程式競賽,所以才從中發現我的名字。

群聯的面試分為兩項,手寫測驗與面談。手寫測驗大致就是一些簡單的演算法題目,記得好像是從一個陣列中隨機取出 k 個數字,而且不能是某些被指定的數字,以及在 linked list 中查找某一個數字。老實說這部分還算簡單,所以很快就是等面談了。

接下來的面談,主要就是自我介紹以及聊天,不太有技術問題。該主管竟然是成大畢業的學長,不過不是資訊系的樣子,更巧的是竟然也是高雄人!聊天的內容主要也都圍繞在工作內容,或是對公司內部的規定等等。該主管更令我驚訝的是,他竟然有看過我的部落格,這實在讓我有點意外!也因此他說他認為我的技術能力不用懷疑,基本上今天就是聊聊我的意願。所以,群聯的 offer 應該算是取得了吧?!

而最後決定去 Mozilla 所以婉拒的群聯,但我衷心認為這是一間好公司!

美商謀智 Mozilla Taiwan

第三間是 Mozilla Taiwan,這也是一間我跟許多人提,但沒人知道是哪間的公司。直到我說就是開發 Firefox 的公司,大家才恍然大悟!

其實,我本來沒有 Mozilla 的面試資格的。就如果前面所說的,因為沒有特別想找研替,所以沒有特別填寫自傳等其他資料。使得我在履歷篩選的關卡上,就被人資給刷掉了!而隔壁實驗室的同學有一天跟我說他要去 Mozilla 面試,然而我卻沒收到任何通知讓我覺得很奇怪。剛好認識一個朋友在 Mozilla 實習,就請他幫忙我詢問一下是什麼原因才遲遲沒有收到面試通知。

隔兩天才知道,原來就是我沒有撰寫自傳所以就被篩選掉了。人資人很好的讓我可以馬上補(據說我朋友得擔保我的能力),於是我立馬把自傳寫好,並附上一份履歷表請我朋友呈交上去給主管。很幸運的,主管願意給我面試機會!但面試時間是-隔天早上!當晚 meeting 結束後,先去請託學長幫我寫一封推薦信。但跟上次一樣,因為沒啥專長與作品,推薦信實在不太好寫。而上次修改後的履歷太糟糕,所以整份履歷又大改了一番。加上其實面試完還要趕到嘉義參加 ACM-ICPC,所以要整理不少行李。大約快清晨五點搭乘客運北上,客運到站後也差不多早上九點了,就直接前往 Mozilla 等待面試!

因為搭夜車時間不好估算,就提早了半小時抵達,人資知道我搭夜車上來還很貼心的給了我一杯火狐咖啡,整個揪甘心!等待所有人到齊後,就開始進行團體面試。主要就是了腦力激盪的遊戲,將面試者分為幾組並給予十分鐘(還五分鐘?!)得時間討論一個主題,並在兩分鐘(還三分鐘?!)的時間內進行 presentation,形式不拘。由於這梯次面試只有 8 人,所以就只分成了兩組。經過一番的討論廝殺後,很榮幸地由我們這組獲得勝利,並取得獎品-Firefox 悠遊卡!團體面試後,是簡單的公司參觀,裡頭有許多可愛有趣的會議室!公司整體的感覺也很寬敞,沒有什麼壓迫感。參觀完畢後,就放風一小時讓我們去覓食,再回進行單獨面試。

附近不知道要吃什麼,只好去 101 地下室吃摩斯。吃飽後回到公司就開始進行單獨面試了,因為我還要趕到嘉義參加比賽,所以就從我先開始了。單獨面試主要分成三的部分:程式測驗、人格特質以及技術能力。至於順序就不一定,因為有三關所以可以同時三個人進行面試,而我就的順序就依照我排的那樣。

首先是程式測驗,題目是要寫一組與撲克牌有關的函式:派牌、排序牌組以及合併已序牌組。其實這關滿簡單的,比較要注意的就是不要發出同樣的牌。而排序牌組就實現一個 bubble sort,這次我寫的真的是 bubble sort!合併已序牌組這分明就是要實作 merge sort 太明顯了吧!所以我很快的就寫完了,還獲得面試官的稱讚-好快!(害羞>///<)

接下來是人格特質,這部分大致就是問你一些挫折的應對,危機處理以及一些經驗,我想就照實回答就好。

最後是技術能力,這關其實也讓我有點崩潰。裡頭的題目包括了:除錯、複雜指標宣告、C++ 物件導向、作業系統等等。這關大概只有除錯跟複雜指標宣告還有部分 C++ 物件導向回答得出來。其他問題就沒那麼有把握了,不過還是儘量回答就是。

第一階段的面試就到這邊結束了,隔週的週一就收到第二階段面試的通知!並在當周再一次北上進行第二階段面試。第二階段面試主要是面談,分別與欲應徵的部門主管以及一位教授進行面談。由於我志願是多媒體工程師與系統工程師,所以就是與這兩個部門的主管進行面談。

基本上這一階段技術問題就不太多了,不過我常常被問的問題就是「你的成績是怎麼回事?」由於成績單太難看,所以這問題實在很常遇到。但其中一位主管很酷,他說他最喜歡這種學生了,至少代表我不是書呆子!此外就是自我介紹、求學歷程、研究方向以及職涯規劃。在這個階段的另一個主要目的就是部門介紹,對於該部門或是 Mozilla 有任何問題都可以在這階段提出!

整個 Mozilla 的面試就到這告一段落了,很快的就收到錄用通知。經過一番考慮後,我也決定我人生的第一份工作就在 Mozilla 了!

聯發科技 MediaTek

這間公司應該就不需要介紹了,聯發科是我面試的最後一間公司,履歷投出去很久了,過了好長一段時間才終於收到面試通知。一次就是三個部門的面試,也就是我在一天之內要參加三場面試,而且一個在竹科一個在竹北,不過聯發科很貼心的有往返的交通車!

聯發科也是大家口中面試超硬超有挑戰性的公司,所以我決定前一天晚上就先到新竹借助朋友家。實在不敢再搭夜車,擔心精神不濟而導致表現不佳。

第一個面試的部門在竹科,一早就到竹科總部等待面試。聯發科面試也需要更換門禁卡,由於我下午還有其他部門要面試,所以換到一張附有餐費的門禁卡,獲得參觀餐廳的機會!

聯發科面試之前,需要先參加一個程式能力的測驗,裡頭有選擇題也有問答題,主要都是 C 語言相關問題。認真搜尋一下,應該可以找到一些類似的題目。

寫完程式測驗後,就是與部門主管面談。自我介紹後,主管就看著我的履歷一一提出問題。問題類型滿多的,凡舉作業系統、嵌入式系統、C 語言特性、白板程式測驗(不過我要求可不可以在紙上作答…)、計算機組織、論文方向等等都有。其實滿多問題我答不出來的,像是 DMA 實作 memory copy 的可行性或是 prioriy inversion 之類的。另外跟技術面無關的就是像是是否能接受出差或加班,我個人是回答可以…。不過出差我真的滿願意的,可以出國玩誒!(應該吧?!)

考倒我後,就換主管開始介紹部門,對部門或是公司有什麼問題都可以在這個部分提出。我面試的系統程式部門,其實看名字完全不知道在幹嘛,聽完介紹才知道是做一些硬體驅動相關的部分。

在面試結束後,先到餐廳用餐。聯發科的餐廳根本就像是百貨公司的美食街,食物滿多樣化的,而且不會很貴!就在我點完餐坐下後沒多久,剛剛面試我的主管竟然坐到我對面的位置跟我聊天。吃飯時就完全都閒聊,更沒有任何技術成分了,不過我猜他還在偷偷打分數吧!

下午就搭乘交通車來到了竹北,在竹北面試兩個部門,所以一次兩個主管一起來。考題一樣非常多樣化,而且都跟竹科的不一樣,給人感覺就是他們什麼都知道!竹北這邊的面試論文內容問滿深入的,不過我論文題目才決定不久實在沒什麼內容可以講,所以有點被電爆了。在這關也被問了很多人格特質的問題,在面試前有個類似心理測驗的問卷要填寫,我猜可能我的人格有些問題,所以被問得特別多…。在被電爆後,一樣輪到主管們介紹部門。這兩個部門都叫做核心軟體,一個是做 Wi-Fi,另一個好像只要跟無線傳輸有關的有機會接觸。這部門的主管似乎不喜歡出差,對於我竟然很樂意出差感到意外!面試結束後,其中一位主管人很好的還來提醒我面試上的一些缺點要注意。

聯發科的面試就到這邊告一段落了,過了好久直到現在其實都沒有任何下一階段或是感謝函的消息。不過倒是又接到另一個部門的第一階段面試,最後因為接受 Mozilla 的 offer 後就婉拒了,而且覺得等得有點久,然後又要從第一階段開始…。

在聯發科的面試中,面試官其實都還滿令人印象深刻的。聽他們提問其實還滿令人興奮的,很多問題都是從來就沒想過的。其中有很多題目都不是問怎麼做,而是能不能做到,為什麼?!雖然有點被慘電,但其實收獲也是不少。雖然外界總是傳言聯發科很操,不過我想裡頭一定也是高手雲集,而薪資福利也很好,感覺也是個很棒的公司!


心得與建議

履歷

掙取目光

很多文章(參考[1][2])指出,僱主閱讀履歷的時間並不長,有的寫 20 秒,有些則說是 34 秒,更長的也頂多 2 分鐘。所以我們勢必要想辦法在這段短的時間內提起僱主的興趣,讓僱主願意多看幾眼!通常履歷會被看最多次,被看最久的就是第一頁,所以勢必要從第一頁下手。

誠實

以我遇到的狀況來說,大部份面試官都會根據你的履歷上的經驗來進行問答。我本身其實沒有什麼特別深入的領域,屬於什麼東西都碰一點的類型,這在面試上其實會比較吃虧。還滿多領域的專業問題我根本回答不出來,只能回答比較初淺的問題。我想這是我面試的過程並沒有很順利的原因之一,當然這也表示我面試前對自己經歷上的準備不夠充分!

連結是我研發替代役面試時所使用的履歷:履歷表-20131129

面試

熟練程式語言

我面試的每間公司都有現場寫程式的題目,所以一定要熟悉該公司會考的語言。平常太依賴 auto completion 功能的要特別注意,一些保留字或關鍵字一定要記熟!

復習基礎學科

由於沒被問到跟數學有關的題目,所以我想數學的部分應該比較還好。建議一定要複習作業系統與計算機組織,面試下來的感覺這兩個科目根本就是必考題!

面試練功

建議把有興趣的公司分個志願序,大概分成兩個志願就好。一開始先去那些被排在第二志願的公司面試,當做練功。主要就是讓自己對於面試比較不會那麼緊張,再來就是把一些應答練習得更加流利。像自我介紹這種每次都要講的內容,就可以趁這個機會好好的練順。此外,大部分面試問的問題都不會相差太多,所以也可以趁這機會知道一些題目,如果答不出來,回家後也一定要把答案找出來!接下來就可以去第一志願的公司進行面試了,相信一定會穩得多!