Loading...

(本文授權轉載自ALPHA Camp的畢業生Danny的部落格)

ALPHA Camp畢業生Danny分享他在2020從AC學成後,拿到了5個工程師offer的非本科轉職經驗,紀錄他找到工程師工作的面試準備與遇到的問題。並給予AC學生走在轉職這條路上的建議。

前言

總算到找工作這個階段了,坦白說我可以更早更早就開始的,但之前只有在19年底與蝦皮安排一次面試(倒在第三關的大門口)這兩周才比較積極的出擊面試,過程很順利的拿到了幾個offer,這邊做一些有關面試的準備以及過程的紀錄。

求職平台

我主要選用的有以下的求職平台。

  • 104人力銀行(將履歷更新後,自傳的部分我只留下中/英的summary。基本上在104我並沒有主動投遞職缺,而是被動的接受公司邀約,那種100%沒有仔細看過履歷、是制式格式的信件一概不回應)
  • Cakeresume,同時也是編輯履歷選用的平台,等一下會有個區塊講一些有關cakeresume的小技巧。
  • Yourator,台灣很知名的新創職缺平台,缺點是職缺相對104少了很多,且多半回應較慢。

面試準備

  • 作品集整理

我自己是放了一個協作專案、一個前端專案以及一個後端專案,協作專案我會具體的講述我使用了什麼技術、負責那些部分以及一些過程中的文件記錄。個人專案的話則是列出所使用的技術,以及這份練習專案的著重練習重點為何。

  • 履歷修訂

範本其實已經有相當多了,我這邊就講一個小細節。由於我是使用cakeresume,在很多區塊的部分可以直接用它現成的元件就可以做出質感還不錯的履歷。不過有些排版的細節可能就不是你所想要的,此時你可以透過編輯原始html的方式自訂排版(點選下圖紅筆的部分),並利用inline style去做一些客製化。

  • 面試題目練習

基本的JS、HTML、CSS的面試問題可以透過AC的launch pad以及網路上的面試題目去做準備,另外則是針對你專案中有使用的技術去做更全面的了解,可能當下你只是會用但並不清楚底層的運作原理,這時候要你說明就容易出包。
刷題的部分則可以藉由leetcode去培養一些手感,光是easy & medium的問題就可以難倒很多人,有時候我會針對leetcode的題目去做一些演算法的研究,算是加深自己的基底。

提升自己的職涯成長曲線,讓AC成為你的職涯加速器

面試紀錄

1.Oholly 沅禾旅股份有限公司:前端工程師(2/17)

一家正在草創期的新創公司,正在募集團隊成員,透過cakeresume與我連繫。預計在4個月內推出MVP上市。當時面試時是直接與他們CEO & CTO進行面談,先了解他們未來的規劃以及目前的進展後便開始了約一小時半的面談,其中包含了以下的問題。

  • 過去專案的介紹並說明你在專案中具體的貢獻
  • 開發時遇到什麼樣的困難,又是怎麼解決的
  • 說明你專案用到的技術
  • 簡述一下你們的專案開發流程,若進度與預期不符合時你們怎麼調整的
  • 你是怎麼自學所需的技術的?過程中有碰到什麼樣的困難嗎?
  • 試著形容一下你理想中的工作情境,什麼樣的團隊會讓你想加入

基本上是針對畢業專案進行提問,畢竟我在履歷上主打的作品也是這個,過程中也有一些比較零碎的邏輯問題讓我思考,並向我進一步的說明他們的產品以及他們所想找的人才所需的技術。

面試結果:現場offer get

2.凡谷興業股份有限公司(中佑集團的子公司之一):後端工程師(2/19)

台中的一家博弈公司,鍥而不捨地透過104多次與我連繫,最終我決定去看一下他們想說什麼。整個面試過程約兩小時,分別是性向測驗、人資面談,最終是與兩位技術主管面試,其中包含了以下的問題(只取技術面的問題)。

  • 介紹一下你專案使用的技術,開發時有碰到什麼樣的問題嗎?
  • 解釋何謂RESTful API,假設今天使用者要編輯個人檔案,那路由大概會是怎麼樣子?
  • 你專案中有用到JWT ,解釋一下何謂JWT,它與傳統的cookie & session差在哪邊?
  • 說明你對關聯性資料庫與非關聯性資料庫的熟悉程度
  • 呈上題,你是利用什麼樣的套件去產生SQL語法,這樣做有什麼優點?
  • 解釋一下SQL語法中join
  • 呈上題,那請問你說的left join & inner join 與 outer join有什麼差別
  • 假設我今天要從某個情境取出三層關聯的資料,試著說明產出的SQL語法會長什麼樣子

問題基本上集中在後端,原本照他們的流程會需要再安排一次技術的二面,不過他們似乎決定當天就跑完整個流程,也因此時間拉長了一些。技術問題結束後主要就是向我說明一些公司福利、薪資期待與試用期需要達成的項目等。

面試結果:現場offer get

3. Amazing Talker:Jr.前端工程師(2/21、2/25、2/27、3/3)

新北的一家新創,做語言學習的媒合服務,人資透過cakeresume與我連繫(搶在我主動投遞之前XD),過程稍微比較長,一共分為3關,第4關比較像是敲定最後細節,以下我依序說明。

第一關:HR Max(2/21)

基本介紹完後問了以下的問題,主要是一些針對人格特質的了解

  • 開發專案過程中有碰到什麼樣的困難?
  • 為什麼會對我們公司特別有興趣?
  • 你說你的目標是全端工程師,那可以說說你的未來學習計畫嗎?
  • 你在學習時是怎麼去篩選學習資源的?
  • 你有提到有在AC當過助教,當了多長的時間?過程有沒有什麼可以與我分享的?

以上是30分鐘的線上面談,結束後我在隔天收到第二關的邀請。

第二關:CTO Peter(2/25)

一樣會有個基本的介紹,接著同時有技術與一些針對人格特質的問題,以下只擷取與技術相關的

  • 說明一下你們專案是如何進行協作的? 過程中碰到了什麼樣的困難?你做了什麼讓團隊協作更加順利?
  • 你們是如何進行code review的,說說你怎麼讓其他人更快的了解你的code?
  • 請你看一下以下的兩段code,你認為這兩段code寫得怎麼樣?若你來選,你覺得哪一段寫得比較好,為什麼? (此題主要針對低耦合的概念)
  • 說明一下何謂閉包(closure),它是基於javascript的什麼原理達成的? 除了你剛剛說的function return function之外還有什麼辦法能製造閉包? 基於你的回答,所以閉包到底是什麼?
  • 試著說說你對clean code的了解,要怎麼樣才算寫出clean code?
  • 你剛說的execution context、scope這樣的底層概念你是在哪邊學的? 為什麼你會去接觸這樣的知識?
  • 你剛剛介紹時有提到說你打算成為一位全端工程師,具體說一下你要怎麼規劃你學習的roadmap
  • 你說的那些學習資源,你是根據什麼條件去作篩選的? 又是怎麼決定要學這些東西的?

有關於closure那段我當時邏輯有點混亂,其實答案沒有這麼複雜。這是我的缺點之一,我在表達時有時候會出現邏輯發散的情況,雖然嘴巴動得很快但實際上繞了大圈子。接著就是針對團隊一些情境的詢問,向我說明一下他們團隊平常的工作情況、溝通方式等,確認這些是我能接受、且是我想要的。

以上是60分鐘的線上面談,結束前向我確認意願後,直接幫我安排與CEO的面試。

第三關:CEO Abner(2/27)

與Abner的談話就更像加深彼此的了解,過程中他也不避諱地回答了我許多的問題,比起面試更像是一種深度交流。提問會像是抽絲剝繭般越來越深。從為什麼想加入AT一直追問到人生的願景,其中我們花了很大量的時間在了解為什麼彼此會對教育領域有興趣、我們觀察到的問題是什麼,為了解決這樣的問題需要哪方面的資源或嘗試?

他也與我談了對於未來的一些規劃,以及他們成員有哪些自己想實現的目標之類的。可以很明顯的感受到他們要找的並不是員工,而是能一起努力拚很嚴峻目標的夥伴,但同時他也希望員工保有自己的理想,若有機會實踐他也是直接勸說員工直接去追求。是個…眼界遠比我來得寬廣的人,面談後我是由衷的感到佩服。

以上是60分鐘的線上面談,同樣再次確認我意願後,希望我在最終決定前到他們公司實際走一趟。
於是就在3/3號再次與Max、Abner & Peter現場面談完後敲定所有細節。

面試結果 : offer get

4. 霈米科技有限公司:前端工程師(2/26)

一家很有意思的電商新創公司,透過104與我連繫,團隊成員在50人上下。整個面試流程約3小時,其中包含技術筆試、上機測驗、技術主管面試與CEO面試。技術問題整理如下

  • 解釋何謂box model
  • 利用js或jquery選擇指定的元素,說明為何你不使用jquery、以及對jquery的想法
  • 解釋何謂ajax
  • 說明偽元素:after :before的用法
  • let var const的差別
  • CSS各種屬性名稱測驗
  • 利用table & div呈現畫面中的表格(我利用flex完成,所以被追問了flex box的一些問題)
  • 簡述你對vue與其他兩個框架的比較
  • 說明畢業專案碰到的問題與使用的技術
  • 試著說明前後端分離的好處
  • 你之前是做軟體顧問,有哪些主要職責、又為什麼會想轉職工程師

接著就是向我說明目前公司在技術轉型碰到的問題,說明我加入之後的主要職責以及他們一些未來的規劃,其中也包含了一些技術上的交流(針對資料安全性)。最後就是與CEO約一小時的談話,主要是向我說明公司的一些發展規劃、要求我提出目前對電商平台的現況有什麼看法、以及他們在創業過程中的一些心得分享。

說實在與他們兩位的交流也是相當愉快,對於我的一些問題他們似乎也不打算有什麼隱藏,真的可以感受到滿滿的誠意。

面試結果 : 現場offer get

5. 台中某不具名博弈公司:Jr.前端工程師(2/26)

這個有點像是意外,同樣是透過104與我進行聯繫,但當時他提供的內容與面試地點讓我以為他們是教育新創,到了現場做完技術測試他才意識到我並不知道他們是做博弈的XD。面試過程僅約40分鐘,包含著技術筆試以及技術面試。

  • 解釋何謂全域變數 使用上可能會有什麼問題?
  • 解釋0.1+0.2 ===0.3 的執行結果,為什麼會造成這樣的結果,你又要如何解決
  • 在一個IIFE內有著以下的程式碼,var a = b = 3 試問最後a & b的結果為何? 又為什麼會有這樣的結果。
  • 解釋利用typeof bar判斷bar是一個object的問題在哪? 你能提出更好的解決方式嗎?
  • 說明一下你的畢業專案,你們用了什麼樣的技術、又是如何進行協作的
  • 說明你在專案中碰到的困難,你們是如何解決的?

在發現我並不知道他們公司的情況後,他還是體貼地繼續向我說明,並回答了我針對團隊成員與未來發展的一些問題,後半部比較像是一些技術選用的交流,他們碰到的情況與之前面試的其中一家公司類似,也是打算從laravel + php 轉為前後分離。

面試結果 : 現場offer get

最後其實還有一家台中的教育新創,針對兒童程式教育的部分,不過那個並不是工程師職缺,這邊就不多加以記錄。

Ambitious business man climbing stairs to success. Premium Photo

給Alpha Camp的學員的建議

身為過來人我想我是很了解在學習中的一些精神壓力與不安的,很多在AC學習的同學不免抱著一個疑問

「到底學完課程中的東西夠不夠讓你踏入職場,順利的成為一個工程師?」

首先我們都知道學習永無止盡,你永遠沒有真正準備好的那一天,不去嘗試你不會有答案。接著回到那個問題,我必須說,如果你只是想成功轉職,作為一個工程師踏入職場。如果你認真的對待每一份作業與畢業專案,那我可以肯定

AC所教的內容100%可以讓你輕易的達到這個目標

但具體來說要成為怎麼樣高度的工程師還是端看個人的努力,你的進修沒有停止的那一天,從AC畢業只會是個起點,未來還是掌握在你自己的手上!

延伸閱讀:Danny在ALPHA Camp的九個月網路開發Bootcamp心路歷程

如果向我詢問,根據個人的經驗我會有以下的求職建議,也許並不是完全正確,我自己也沒有做到很好,但確實這些行為有在求職階段幫助到我。

  • 認真對待你的畢業專案

這個多人協作的成品會是你履歷上的一大亮點,盡可能的認真看待它。面試中我已不只一次被提到API文件寫的很用心,其中關於你使用的技術以及協作碰到的問題也是基本問題,如果整個開發過程中你很投入,你自然會知道該怎麼回答這些問題。

Danny的畢業專案

延伸閱讀:從零打造「美食預定」電商平台,三人團隊的AC畢業專案心得

  • 盡早公開你的履歷並不斷的更新

若是一直在想要完成什麼作品後再公開履歷,以我的經驗來說你只會不斷的拖延下去。我會認為優先花費心力,打造一份當下的你做出最好的履歷後便直接公開,未來再根據職缺或是作品的更新去update你的履歷。當這樣的履歷完成後,你每次投遞履歷的成本其實就會降到非常低(你只需要做些許的客製化),且不放上去就永遠不會有被主動聯繫的機會,世上也不存在完美的履歷,去糾結要做到完美才公開履歷是相當不實際的行為。

  • 盡可能的多跑幾個面試累積自己的經驗

也許你對於該公司並不是真的這麼有興趣,但我相信面試其實是更加了解自己的好機會,有時候其實你自己也不了解到底想要什麼。藉由一些與他人的交流,我有感受到自己越來越清楚自己的目標,同時對於一些技術問題的回答也會更加的流暢。面試的經驗並不是獨立的,盡量把握每一次的面談機會,也許會在之後的面試幫助到你。

  • 把握每一次的提問機會

若是你真的想進某個公司,那我會建議你事前調查做得充足一些,包含他們過去的歷史、現今的發展現況,你所知道他們公司最近採取了什麼樣的行為都會是一些不錯的提問素材。先講述你對他們現況的了解,接著針對他們的未來發展進行提問是我很慣用的做法,若真的素材有限,那也可以針對未來的工作情境做一些提問,了解一下具體的工作內容也不會是壞事。

  • 總是在面試後寄送會後致意

這也許完全沒有幫助,僅是我個人習慣的行為。我認為理想的面試是雙方都有所收穫的交流,既然有收穫,我會習慣性的向對方道出感謝之意,以下是我寄出的其中一封感謝信,具體內容我是完全客製化

Dear 面試者:
謝謝你們兩位今天花了大量的時間與我面談
我很感激兩位毫無保留的分享,一些技術上的交流也讓我覺得有所收穫
過程中我可以明確感覺到貴公司不管是在薪資待遇或是工作環境上都會給我很不錯的彈性我會如同我在面試所說,在這兩周內盡快給你們回覆
再次感謝你們今天約3小時的付出,在此先預祝你們人才招募順利!
Best regards
Danny

結語

很幸運的,這段時間面試的公司都有伸出橄欖枝,下決定前也著實思考了一番。我個人在考量公司產品、團隊、薪資以及未來規劃後,最終選擇了接受Amazing Talker的offer。整段求職過程其實比預想中順利很多,很多事情真的不嘗試不會知道,與其躲在小圈子裡害怕,不如勇敢闖一次看看,也許你也像我一樣,在他人眼中你比自己想得更有實力!

整段學習到找工作的旅程相當漫長,很感謝家人、伴侶、朋友與AC的支持,讓我順利的走完這一段,希望這篇文章能幫助到有同樣疑惑的朋友,先預祝你們轉職順利! 若有任何疑問,歡迎來信windate3411@gmail.com與我討論,幫得上忙的地方我很樂意提供協助的😁

想要開啟你的工程師轉職之路?3分鐘小測驗找到你的全端學習入口

成為企業渴求的程式人才!

在家學會 JavaScript 網路開發

全新「全端 Web App 開發」課程,給你看得見的學習成效!
超過 90% 轉職成功,400 位來自亞洲各國的 ALPHA Camp 校友,畢業後達成轉職、創業、出國工作的夢想!

3 分鐘選課指南

給期待創新改變的你

前端x後端x全端 完整工程師技能樹

90% 學生轉職成功,職涯競爭力更上層樓
最專業的「全端 Web App 開發」課程,上班族邊工作也能同時培養第二專長!

3 分鐘選課指南

學期一|程式設計入門

零基礎也學得會的程式入門課!

開始學帶得走的技能,為自己未來的成長鋪路

學期二|掌握網頁開發

系統化學習 JavaScript

實作打好前後端基礎,成為扎實的網頁開發者