個人背景
首先,理所當然地先來做背景介紹,非本科,原本是做食品研發,今年一月開始接觸前端,先在 Udemy 買了基本的 CSS 跟 HTML 的課程,學了大概一個月後,覺得蠻有興趣,所以就繼續尋找相關的資源。
後來,剛好看到了高雄火箭隊的報名資訊,去面試然後很幸運地被選上為第四梯的成員,也就開始了為期半年的線下前端培訓之旅 (4 月初到 9 月底) 期間學了基礎的切版、JavaScript 跟 Vue。
火箭隊的部分,一梯主要分為前、後端各四位,這是第四梯的情況,之後可能會有改變。培訓內容,主要是依照各階段的目標去完成。教練會給予關鍵字,資源大部分都是自己去網路上尋找,完成之後再給教練看,教練會再給予建議以及方向,最後前後端會合作一個比較完整的專題,包括主題發想、泳道圖繪製、wireframe 繪製、資料庫結構討論、專案甘特圖等,而教練就是作為 PM 的角色去督促我們的進度。
整體而言,我很喜歡在火箭隊學習的時間,因為在那個環境內的大家都有著同樣的目標,可以互相交流及幫忙,時間很自由,所有的事情都必須自己安排,並增強自己的自學能力。
履歷製作及面試過程
履歷
履歷的部分是使用 CakeResume 的網站撰寫,但其實現在 104 的新版履歷也可以達到差不多的效果,但我還是都寫了,因為兩者都有自己的職缺可以投遞。履歷的部分,寫完之後有跟教練討論過並進行了修改,因為是非本科,而且之前的工作也完全沒有相關,所以教練建議寫幾篇關於程式的文章,所以就出現了 Kai 的前端之路,目前也只有
簡單的兩篇文章,寫文章真的難…。
職缺網站
我使用的網站有以下幾個,104 人力銀行、CakeResume 及 Yourator 還有一個是 meet.jobs,其中 104 網站的職缺最多,其餘的職缺較少,且大部分為比較年輕的公司,比較少傳產的部分,比較特別的是 meet.jobs 因為他會給獎金,但我沒使用過,實際上怎麼運作的可能需要自行研究。
投遞的履歷大概總共有 100 份左右,其中被讀取的有 80–90%,邀請面試的有 8 間,而主動邀請的有 3 間,所以回覆率大概在 10%。主要選擇的公司條件為使用 Vue,不要是傳產,公司簡介看起來很年輕(?,薪水的部分我都開 42–45k,面試題目會全部放在最後。
一、艾西斯科技 (博弈公司)
職位名稱:Junior Front-End Developer
因為疫情期間,所以採用遠端面試,面試人員有同組的兩位前端,以及一名像是人資的人,整體時間約花費 1.5 hr。
公司主要業務為接別人做好的遊戲 API,去渲染畫面。集團在菲律賓,客戶為大陸。依專案分組,每組會有各自的 UI/UX 設計師、PM、後端、前端、安卓、IOS。
除了基本的技術問題,會依照你展示的作品去提問,另外交談中講到有興趣的部分,也會繼續深入問下去,所以說出來的東西自己要很有把握,否則很容易被問倒,就跟我一樣XD。
第一次面試,整體很沒把握,很多基本的東西都沒回答出來。整體面試過程沒有很嚴肅但也不太像聊天,也有可能是我太緊張,面試時間約 2 小時。
二、愛酷智能科技股份有限公司
職稱:前端工程師
公司環境很棒,有自由的空間讓員工自由移動工作,團隊成員都很年輕。
面試的為同組的後端及別組的前端。公司中大部分都是後端,語言為 php 並用 laravel 框架,處理的為外部的案子。而公司要開始製作自己的商品,所以想要請前端來做前後端分離。
錄取的話,會跟兩個後端合作,做公司自有產品,沒有 codereview 也沒有 senior 帶,但可以問另一組的前端,會用到 Vuex 然後要懂一些 php 的東西。好處是,產品的技術可以自己決定要用什麼,很有挑戰性。
除了面試題目外,有問到跟後端合作的經驗、git 的使用經驗及開發中遇到的問題以及怎麼解決等,整體面試過程很輕鬆,很像在聊天,問題大部分都有回答出來,面試時間約 1 小時。
三、創方舟實境科技股份有限公司
職稱:前端工程師(Vue) Software Engineer — Frontend
公司環境是住家,除了每周一固定要開會以外,其他時間都可以遠端工作,有事情要討論也可以到公司用場地討論,整體氛圍很輕鬆,會聽到同事們在互相討論或聊天。
面試前會希望做一個小作業,題目為實作一個小型專案並使用下列技術:
- Bootstrap Vue
- customize SCSS variable
- Tree-shaking
- Vue-class-component or composition-api
- 主題與參考資料不限
主要是考驗學習新東西的速度多快,實作時間為一周。
團隊組成為 1 個資深前端,預期要找 2–3 個 junior 會有定期 codereview,技術部分,會用到 Vuex、BootstrapVue、TypeScript 之後會希望從 Vue2 改成 Vue3。
公司產品的部分,目前是和國外第二大的家具公司合作,主要業務為後台的管理系統,之後前台頁面的部分會使用到 AR 實境擴增的技術。
先考 30 分鐘的考題,而後會有團隊主管、資深前端、後端三人進行面試,主要問一些溝通方面的問題,技術方面前端有看 GitHub 上的 code 所以會問一些寫法的問題。
面試過程很輕鬆,會問一些履歷上的部分,像是為什麼要轉職,在火箭隊是怎麼學習的,還有怎麼跟後端合作,如果後端或設計師提出的設計跟前端不合該怎麼回應,面試時間約 1.5 小時。
四、迎棧科技股份有限公司
職稱:前端工程師(Front-End Engineer)
職缺主要是把原本委外的前端部分拿回來自己做,原本架構是使用 php 包前後端,所以需要懂 php,未來是想改成 Vue 跟 php 前後端分離的方式。另外有提到,因為專案可能會有點急,所以讓你學習的時間不會太長,可能會需要加班,自己下班後也需要自己學一點東西。
公司很大有兩層樓,座位有隔板隔住,幾乎沒有交談的聲音,開門是用臉孔辨識。
面試的部分,有另一個團隊的前端來幫忙面試,並問一些 Vue 的問題,另外主管跟人資也會問一些履歷上跟作品的問題,不過依照主管問的問題跟介紹時候的感覺,公司是需要一個有豐富經驗,最好還懂 php 的前端,所以看完我的履歷,就沒什麼興趣,態度也有點隨便,但除了主管外,前端跟人資都算蠻用心在問問題,也有適當給予回饋,面試時間約 1.5 小時。
五、露天市集國際資訊股份有限公司
職稱:露天市集-前端工程師(應用軟體部)
職缺是要將購物頁面的部分,原本為 php 的部分改寫成 Vue.js 的部分,做好前後端分離,基本上會用到 Vuex, Nuxt,後端用 php 並搭配露天自己的框架。
一開始面試的是同組的後端跟人資,後端問了一些合作的經驗、git 的使用還有一些簡單的 Vue 問題,人資主要是問人格特質方面,之後寫 30 分鐘的考卷,題目蠻簡單的,基礎的 hoisting 問題,並解釋底層的運作方式,VO、AO、Execution Contexts、Scope Chain ,用 prototype 的方式寫出一個函式等。
之後用人主管跟另一個前端一起進來面試,討論一下剛剛寫的考卷,有什麼問題跟問一些更深的觀念,之後就討論作品的部分,主管有先看過 code 所以就沒有進行展示,而是直接提問,有問到火箭隊的運作模式跟為什麼想要轉職,也有問最近有沒有看新技術等,面試時間約 2 小時。
整體面試過程很愉快,交談的過程很順利,很像在聊天一樣,
六、透視數據有限公司
職稱:前端工程師 (Vue.js)
職缺主要是因為近期公司獲得投資,因此資金比較寬裕,想要擴增團隊以及增加公司產品,公司產品有三個。技術棧的部分,前端使用 Vue2, Vuex, Nuxt,後端是寫 Node.js 搭配 Koa 框架,產品都與數據有關,所以也會用到爬蟲,數據分析,SEO 等。
預期的團隊組合會是四個前端、兩個後端、一個 QA、一個設計師、兩個 PM、兩個研發,目前整體團隊是一起做產品,都是由 PM 派發任務給工程師解決。
公司看過履歷後,會寄一份線上問卷給你,上面的問題會包含團隊協作、技術學習相關的,像是過往遇到的團隊問題,然後怎麼解決,最近新學到的技術新知是那些,有沒有參加相關的技術年會等,比較注重在人格特質上。
問卷通過後,會再約面試,面試的部分會有 60 分鐘的時間給你寫一個小專案,主要是利用公司的公開 API 去串接,然後做出功能,詳情可見 PicSee 如何面試工程師。
做完之後,會有前端的主管進來看,看 code 以及對於架構的一些想法,但專題是用 Vue Cli 所以在架構的部分回答不太出來是怎樣的架構… 這部分回答的很差,後來主管看我回答不出來其他東西,就改成看作品然後問問題,整體面試過程很輕鬆,除了我回答不出來東西的那部分,整體面試時間 2.5 小時左右。
公司整體氛圍很好,我自己很喜歡,有種火箭隊的即視感(?,團隊成員都很年輕,面試時也有聽到其他人在討論技術然後聊天等。
七、好險網科技股份有限公司
職稱:Front-end Engineer
是剛成立沒多久的新創公司,主要作的會是跟保險相關的網站,會在連結中埋分析用的數據,統計數據資料分析需要哪種保險服務,並和保險公司合作,藉此找到潛在客群。
之前公司產品是用 php 包前後端,所以需要前端來將架構改成前後端分離,預計找兩個前端,一個 senior 一個 junior,但會需要先學 php 因為除了重構之外,還需要維護現在的專案,有專門的 QA 再做測試。
公司一進去也是很安靜,也都用隔版隔起來,同事沒有在交流的感覺。
面試直接是用人主管來面,會先展示作品,然後開始問問題,題目主要是看程式邏輯跟一些基本概念,感覺起來主管不是寫前端的,所以沒有問太多跟 Vue 有關的問題。途中主管有說,其實團隊很年輕,一般的有時候也會很吵,算是蠻不錯的團隊,面試時間約 2 小時。
八、QNAP_威聯通科技股份有限公司
職稱:61120-網頁前端工程師
這間是很大的公司,有三層樓,主要是做 NAS 的服務,前端的部分主要是做介面設計,團隊中沒有固定使用的技術,有用 React、Vue 也有純 JS 的,後端語言也是。做的工作上手之後可能會持續做重複的工作,主要是會需要自己寫通用的套件給客戶或是公司內部使用。
面試過程先是 1.5 小時的邏輯跟程式測驗、用人主管面試、白板題測驗、人資提問,整體大概 4 小時,面完直接虛脫…,第一次寫白板題,不意外地沒解出來,但有把想法跟負責的工程師說,原本想說會一起討論然後引導我解出來,結果問了我的想法之後說,我懂了,然後就走了(?。
九、奕特資訊有限公司
職稱:前端工程師(Vue)
這間是從原本的大公司部門分出來的,所以團隊已經很完整,主要業務是接外部的專案,有博弈也有非博弈,都是用在畫面呈現的方面,另外也有獨立的專案部門,專門接小型專案跟內部專案,主要用來培訓新人的部分。
團隊很完整,每個團隊基本上一個 PM、兩個後端、兩個前端、一個 UI/UX、一個 QA,會用到 Vuex, Nuxt, Unit test, CI/CD 等技術。
這間公司的人資很讓我印象深刻(?,到公司樓下接面試者,而且問問題很像朋友在聊天,不會像是機器人在問問題的感覺。面試流程會是人資先進行人格測驗,之後寫 30 分鐘考卷,之後進行作品展示以及用人主管提問,大概 3 小時
其中主管提問的時候有兩個主管(一男一女)一起進來,整體很輕鬆,其中女主管會先介紹公司團隊,以及團隊的運作模式等,男主管先討論一下考卷的部分,後來問了網頁優化的問題,但幾乎沒有碰過,所以答的不是很好。
後來女主管問我面試了幾家公司,目前有沒有 offer,還有選公司的標準是怎樣。這時候我說我希望管理比較扁平式,女主管就問男主管說我們公司應該算扁平化吧,男主管就說扁到不行,女主管就突然說,其實我是這家公司的負責人,我有時候會無聊來一起面試新人,接著就問了說我們公司在你目前的排名是多少,然後想來的意願如何,面試時間大約 3 小時。
總結
整體面試下來,覺得體驗都還不錯,沒有遇到特別奇葩的公司跟主管,基本上所有公司都會用到 Vuex 跟 Nuxt,所以就算不知道實際上怎麼運作,至少要知道 Vuex 中的三個角色,還有 SPA 跟 SSR 的差別,這樣在被問的時候還能有說出口的東西。
然後可以的話,JavaScript 底層的原理要認識會比較好,推薦 Huli 的文章,我知道你懂hoisting,可是你了解到多深?、淺談 JavaScript 頭號難題 this:絕對不完整,但保證好懂、所有的函式都是閉包:談 JS 中的作用域與 Closure,其他問題的話,可以參考我遇到的面試題目。
面試題目:
- CSS 置中的方式
- box-model 是什麼,請畫出並說明
- flex 常使用的屬性有哪些
- position 有哪些屬性可以使用
- relative、absolute、fixed 定位的基準點在哪
- 請解釋 this 是什麼及使用場景
- inline 和 block 的差異
- var let const 的差異
- foreach、map 的用法
- ES6 之後的資料型別有幾種
- 什麼是閉包
- 什麼是物件導向
- Hoisting 的原理
- Vue 的生命週期
- Vuex 的三個角色
- SSR 跟 SPA 的差異
- computed 跟 watch 的差異
- watch 是否可以監聽物件中的值,可以的話要怎麼辦到
- props emit eventbus 的用法
- git flow
- rebase 的使用方法
- git fetch 跟 pull 的差異