軟體工程師面試心得分享(上)

Rainie
職場學習筆記
Published in
May 5, 2018

好不容易進入職場滿三個月,當初找工作時多虧許多熱心的網友分享自身的面試經驗,讓我從中獲得不少寶貴的資訊。開始工作後,也希望能把自己的經驗回饋給跟我一樣有求職需求的人,順便記錄一下當初找工作時的一些面試心得,說不定以後轉職(?)可以再度派上用場。

我將面試心得拆分成三個階段(1)面試前(2)面試時(3)面試後,找工作的過程就是不停的循環這三個階段,累積面試的實戰經驗。每個階段需要注意與準備的事情不太一樣,下面與大家分享當初面試時每個階段的準備心得。需特別提醒的是我並不會提到太多面試時碰到的考題,而是希望給予一個參考的方向,讓大家不至於手足無措。

[面試前準備]

正所謂萬事起頭難,面試前的準備是三個階段裡面最惱人的部分。我們必須把自己這一張白紙點綴成精美的畫,甚至是推銷出去讓公司買單,對於完全沒有工作經驗的我們來說是非常困難的,以下提供我自己的經驗給大家。

  • 事前將英文考高,替你省下許多測驗時間

大部分的公司面試前都會有一關英文測驗,花費時間約一個小時,且必須達到一定的分數才能通過。在面試前我花了一個月左右把多益分數從五百多拉到八百分,雖然不到金色證書的程度,但也替我省去好幾間公司的英文測驗,對於想找外商公司的人,盡可能把英文考高也能讓你比別人更具優勢。

以我個人的看法,撇除面試需求,我還滿推薦大家繼續進修英文的。以我們公司為例,內部系統或是一些比較正式的Email都是使用全英文書寫。除此之外,進入職場後你可能得跟外國客戶做溝通,甚至是準備一個全英文的presentation,具備良好的英文能力可以幫助你在職場上如虎添翼。

  • 重新複習資工基礎知識,回答問題不卡卡

對於剛畢業沒有任何業界經驗的求職者,面試官不太可能問到太艱深的問題或是拿業界現在碰到的問題來問。既使問了,我覺得面試官應該也只是想了解你是否具備足夠解決問題的邏輯能力及你的臨場反應。大部分的面試官還是著重在資工底子夠不夠深厚、觀念夠不夠扎實、對於程式的了解程度有多高。底下整理出面試時我有被問過的考題類型:

演算法 - 排序演算法、搜尋演算法、DP、分析時間複雜度指標 - 雙重指標、函式指標物件導向 - 多形、多載、封裝、繼承、virtual、friend、父類別、子類別的建構子與解構子呼叫順序資料結構 - 鏈結串列、堆疊、樹作業系統 - 死結與同步、process跟thread的差別其他 - debug的方式、程式語言的特性

上面列的都是比較General的考題,實際上的面試還是會根據你應徵的職缺而有本質上的差異。以我來說,我曾經面試過機器學習的職缺,面試時就被主考官問倒傳遞演算法的精隨、激活函數的特性、或是CNN的作法等等domain knowledge的問題,所以還是提醒大家要根據面試職缺調整自己的守備範圍。

  • 上網做題目把手感練順,面對程式測驗不緊張

不論是筆試的程式測驗或是最近越來越盛行的白板考,都是主考官可以在短時間內了解面試者程式能力與思考邏輯的方法,Leetcode提供一個可以線上寫程式的服務平台,題目簡潔介面乾淨,登入後馬上能開始做題。當初為了快速刷題,分類我選擇 Top interview questions 難易度 Easy 的題庫,每天大約做3題,隨著時間慢慢增加難度與題數。Leetcode的題目包含許多資料結構及演算法,寫的過程可以重新複習一些基本觀念。類似的網站還有Codility,題目相比Leetcode來得冗長許多,好處是Codility除了題庫外還有專門的課程教你解題方法,想順便練習英文能力的人可以考慮使用Codility。

  • 經營自己,展現個人優勢

面試時主考官會想了解你在求學期間做過什麼專案,如果能準備一份作品集讓他們參考,不僅是你個人求學歷程最棒的成果展現更是一個引導面試問題的重要關鍵。我面試的每一間公司沒有一間是不問作品集的,尤其當面試官沒有其他問題想問的時候更會從裡面找靈感,作品集在面試時是扮演一個非常重要的角色。

面試前我做了一個簡單的作品集網頁,大致條列求學階段做過的專案與每個專案的內容、使用的語言及程式畫面截圖

Portfolio

作品集除了是一種實力的展現也能讓主考官感受到你的積極度,但須特別注意的是,放上去的作品有很大的機率會被提問,例如演算法如何實作的、最佳化的方法、挑演算法的考量、碰過什麼困難以及解決的步驟等等。

如果你完全沒複習只是把作品丟上去,當被問到比較深入的問題時會很容易卡住,主考官也只能陪你大眼瞪小眼氣氛會相當尷尬。所以請確保放上去的作品至少複習過並設想過有可能會被問什麼問題,事先演練過才能確保面試時有較佳的表現。

  • 簡潔扼要的履歷,瞬間抓住人資的目光

徵才公司(ex. 104, 1111)的履歷通常有許多限制且版面無法客製,再加上大部分的面試者也是透過這個管道投遞,在履歷海中相對沒什麼特色。

如果要讓履歷看起來相對專業且簡潔,可以另外準備一份像底下這樣的簡歷,篇幅盡量濃縮成一頁,針對想特別被關注到的技能或是經驗可以用不同顏色或是區塊凸顯出來,沒特別想法的話使用最簡單的條列式是絕對不會出錯的選擇!

寫履歷也有一些小技巧想分享給大家 :

1. 採用條列式架構,邏輯清楚且版面簡潔2. 內容客製化,盡量凸顯和職位相關的經驗、專長或優點3. 以實例佐證,避免過於浮誇的文字敘述4. 以圖片取代冗長的文字敘述

特別注意的是履歷跟作品集一樣,都是主考官會根據你的過往經驗去延伸問題的重要根據,所以請確保履歷上和作品集的內容你都十分熟悉。

  • PTT是你強大的資料庫,考題、心得通通有

針對資工職缺,PTT的Tech_JobSoft_Job版上有非常多鄉民熱情的分享他們面試的經驗也提供了大量的面試考題,每間公司的職位不同,考題與方向當然也大不相同。事先從PTT上大家分享的心得中可以得知某間公司的某個職位可能偏重哪方面領域的考題,也能了解面試官的思維與出題邏輯。除了面試考題之外,很多面試者注重的薪資福利、部門的氛圍、是否常態加班等等的資訊,也都可以從PTT上找到許多人的心得喔 !! 正所謂知己知彼百戰百勝,多看看別人的經驗分享能讓你在尚未面試前就先對這間公司有個底,也能在面試上更得心應手。

  • 多多經營社群媒體,讓你與大環境接軌

最後一項對面試來說並非是必要的項目,我自己當初面試時在這方面也沒任何經驗,只是鼓勵大家可以多多參與社群媒體,讓自己從知識擷取者成為知識分享者。這邊指的社群媒體當然不是facebook或IG這類的社交媒體,而是資工相關的Github或是stackoverflow等等的網站。如果你之前有做過side project開源在Github上,或是在stackoverflow累積一定程度的聲望值,都是面試時可以特別強調的一項技能。

Linkedin是一個龐大的國際化人脈網站,許多獵人頭會在上面找尋適合的求職者,持續保持更新你的個人履歷、持續關注你喜歡的產業趨勢,或許工作的好機會就自己來敲門了。

面試前的準備大致上就講到這邊,意外的篇幅有點長,文中推薦的網站超連結都已經放好,最近工作比較繁忙,有空的時候再繼續補完後續的文章。

--

--