我是如何準備軟體工程師面試

GJ
6 min readNov 17, 2019

前置作業

  • 建議平常工作要寫工作日誌,以便之後準備履歷才有內容可以描述之。之後再寫一篇文章《身為軟韌體工程師,我是如何寫工作日誌?》
  • 在各個人力網站建檔履歷,這邊我曾經使用以下:
- 104人力銀行: 主要是外商、台灣大公司或者中小企業愛用的,通常放上履歷之後,面試邀約幾乎從這邊過來。- CakeResume: 主要外商跟新創公司為主,且需要即戰力的人,建議認真理解該職缺所描述的工作技能之後,藉由推薦信系統強調自己的專業經驗是與該職缺工作技能是有關的,再去投遞履歷會比較好。- Linkedin: 主要外商為主,若有興趣去外商的話,可以準備英文履歷跟英文口說,另外獵人頭公司都是在這邊找人居多,不過素質不一,請自行評斷。
  • 若收到任何的面試邀請,發現該職缺內容不是很明白的話,請記得回信問以下這些問題,可以幫助勞方跟資方對於該職缺理解認知,如下:
- 詢問邀約的人是對於你的履歷是哪一個部分有興趣,或者是否跟招聘主管確認過? 
=> 確認是否亂槍打鳥? 曾經發生過人資找人面試卻不符合招聘主管需求。
- 該面試部門名稱是什麼?
=> 確認部門名稱與事業體(BU),可以了解大概是做什麼產品。
- 職缺名稱是什麼,需要什麼技能?
=> 確認該職缺技能是否符合你的專業經驗。
- 面試流程是什麼?
=> 確認流程是否有專業筆試? 是否需要準備英文自我介紹? 會與什麼人面試? 例如跟COO與CTO面試方式就差蠻大的。最重要的是否為招聘主管面試,因為這個會是你以後的主管,記得多多交流。
- 該部門做什麼的產品?
=> 確認該職缺所做的產品符合自己的興趣。
- 為什麼缺人?
=> 是因為有人離職了?還是業務擴編?

提早安排面試時間以免太多邀約處理不完,可以善用行事曆安排。臨時取消面試或找到工作後沒有意願進一步面試記得e-mail取消面試邀約。

  • 面試之前可以先自行準備以下:
  1. 自製的履歷列印出來,因為來面試的人可能一次會有2~3人,不一定都會準備或預覽過你的履歷。若有其他作品可以一併列印下來準備。
  2. 自行帶筆和修正液,寫個人資料表與專業筆試用會需要,有些公司的筆會斷水不好用。
  3. 自行帶水,以免口渴,因為面試時間可能很長,約2~2.5小時不等

其他面試要用的考題可以自己Google參考,網路資料很多,這邊以我自己的統整經驗分享。

面試過程(招聘者->應徵者)

常見的被詢問的問題如下:

Q1: 請自我介紹

  • 工作技能
1. C/C++, Shell script, Golang, Git
2. Focus on Linux Embedded System Programming application with Cross-Platform Development
  • 工作經驗
1. 做了什麼產品? 產品本身架構是什麼?
2. 負責產品哪個部分? 用了什麼程式語言達成工作需求?

自我介紹以工作技能工作經驗為重點,若先前工作有認真寫工作日誌的話,應該會有很多內容可以寫的。

Q2: 為什麼離職?

這邊只能說不要給一個罐頭回答,至少要有具體的答案,例如因為…所以…才會…之類的,這邊一定會被問,請務必認真回答此問題。

Q3: 如何跟同事合作? 如何解決與同事衝突? 如何與跨部門合作? 如何解決跨部門衝突?

Q4: 如何跟客戶或FAE合作? 如何解決與客戶或FAE衝突?

Q5: 過去工作經驗中,開發軟體流程為何? 定位Bug經驗是什麼? 開發軟體Bug經驗是什麼?

Q6: 英文能力如何? 是否有與國外工程師合作過?

以上這些是目前被問到機率很高的問題,如果有認真準備的話,延伸出來問題應該都可以好好回答!

面試過程(應徵者->招聘者)

面試完之後,接下來換你可以問問題,因為面試是雙向的,同時你也是在面試公司的。以下是我會問的問題如下:

Q1: 請問在工作上,做好事情的定義是什麼?(重要)

=> 可以確認公司是否有辦法把工作任務結果有基本的量化,才能保證是否有完成工作任務。
不論是對主管、PM、客戶而言,都必須要有個完成標準,以免做白工,而且也可以進一步確認公司績效考核的方式。

Q2: 請問團隊組織為何? 多少人? 如何分工? 任務是怎麼指派的? 團隊開發軟體方式?

=> 可以清楚明白你之後工作團隊的樣貌,並且可以進一步知道跟你相同職位有多少人,好處是可以互相cover。

Q3: 是否該部門每個成員工作內容會輪流一遍?

=> 確認該部門對於交接工作流程相當熟練(重要),這樣確保有人離職之後,此職位交接工作的成本有效降低。

Q4: 是否該部門以培養Project leader為目標?

=> 確認該部門對於每一個成員都能夠獨當一面,並且學的全面紮實。

Q5: 是否該部門不斷改善工作效率,提升每一個成員工作品質?

=> 確認該部門如何做到改善品質? 確保工作品質是可以不斷提升的,開發軟體也會順暢,減少浪費

Q6: 該部門是否有用slack? mattermost? gitlab? jenkins開發流程? 有部門專門負責IT事項嗎?

Q7: 該部門的團隊管理方式,例如任務指派以及產品開發流程,若開發遇到困難怎麼處理?

⇒ 釐清該部門是如何解決問題的?

Q8: 請問若我錄取了,首先我會先做什麼?(重要)

=> 可以確認公司開這麼職缺是真的有需求,也可以進一步確認有準備好讓你進來開始工作事項,而不是說等你進來再決定要做什麼,以免浪費時間。

Q9: 請問公司的下一步是什麼? (重要)

=> 可以確認該公司目前產品的方向是否有所規劃,而不是被動的牽著鼻子走,盡量能得到一些具體有說服力的答案,若聽起來感覺怪怪的請務必多詢問清楚,了解你未來公司的走向。

Q10: 請問什麼時候可以得知進入聘任流程? 核薪結果? 要花多久時間?

=> 可以確認這家公司如何進行聘任流程,也可以掌握聘任的時間,才不會等太久變成無聲卡。

面試結尾(應徵者與HR)

到最後面之後,大部分都是討論公司上班規定與薪資福利,記得要確認如下:

  1. 公司表定幾點上班? 是否彈性? 是否有加班費?
  2. 是否有汽機車停車位? 是否有微波爐可以蒸便當?
  3. 若拿到核薪結果,務必確認薪水結構是什麼,有些可能是底薪很低加上高津貼。

如果對方有詢問目前還有哪些大公司要面試,或者那些公司進入了聘任或核薪流程,就大方直接講,讓對方也感受到你這個人才急迫性。

結論

以上這是我目前面試經驗,可以用錄影的方式來回放檢視自己對於以上的問題是否能清晰順暢表達,不斷的修正一定會進步的。希望可以有效的幫助大家,謝謝 👍

GJ 2019/11/18

--

--