【找工作經驗談】前端工程師


【前端工程師】網路世代演變快,只能不斷追隨科技腳步不斷精進自己。現在越來越多人使用科技產品,導致各產業在網站建置規劃時,相較以往的要求越來越仔細,網站結構要好,視覺設計要符合使用者動線,只要網站不OK,第一個倒楣的就是『前端工程師』

你沒有被嚇跑!?還是嚮往『前端工程師』嗎?

到底什麼都要會的『前端工程師』,面試到底都在問什麼呢?


 

2018 前端工程師面試心得

這是我在 2018 年 Q1 的求職面試心得,不算實習的話,就是第一次正式求職。記錄下來作爲人生里程碑,也分享給大家參考。(撰於 2018-03-15)

 

背景

森林系畢業,沒參與過任何資工必修課,是個大四才起步的自學傻子,啟蒙語言是 R。大四時協助教授建置 Linux server 並擔任 server admin。畢業前進入業界擔任 iOS 開發實習生,並在畢業後轉正職,2017 年 Q3 才開始全職開發前端工程。正職工作經驗約 1.5 年。

我的優勢是學習力旺盛、有 native app 開發經驗、熟悉且熱愛 Linux 和 command-line、熟悉電子書市場與相關技術、善於溝通傾聽而不堅持己見、喜愛分享所學所見。

我的劣勢是對 UI 較不在行、CS 知識不夠紮實、臨場反應不佳易緊張、沒有跑過真正的 TDD 和嚴謹的軟體開發流程。

希望我的背景能給同樣境遇的朋友一些參照。

 

求職需求

由於前東家是上櫃公司,規模不小,制度完善,但也稍缺彈性,所以求職希望以新創公司為主。

以下依優先順序排列,薪資等基本需求不列入:

  • 新創團隊或具有新創氛圍
  • 技術討論風氣盛。
  • 有能力相仿或更強的 co-worker,不必自幹。
  • 工作流程明確。
  • 重視軟體品質(CI/CD、單元測試)。
  • 同事年齡相近。
  • 對社會有正面意義。



**Appier 沛星互動**

職缺:前端工程師

應徵方式:主動在 Appier 官網投遞履歷 + 內部推薦

談到 Appier,應該無人不曉,被譽爲下個台機電,未來的新創獨角獸,全球百大 AI 企業。目前主要產品是 AI 廣告與跨螢追蹤等。客戶多是大型跨國企業。Appier 可謂近來最火熱的公司之一。

動機

很早就知道有前端缺,礙於自信不足,沒有嘗試,因緣際會下,朋友說有缺可以幫忙內推,加上很喜歡 JSDC 2017 兩位 Appier 講者給的 RxJS 與 FP 的演說,就主動循正常管道投遞履歷(原以為履歷直接交給朋友就行)。


 

第一階段面試

履歷過關後,便是第一次 on-site 面試,地點是在臺北信義區的總部內。我承認我是土包子,看到門禁設備像捷運一樣要領磁扣過閘門,開始懷疑走錯地方了。

 

工程師

這次面試共有三組人馬,第一組是兩位前端 leader,與前面兩間公司不同,很直接就切入技術層面,先是問選擇 Redux-Observable 實作 Hahow 小專案的理由(不是 Appier 面試嗎,怎麼問起 Hahow 來了呢?),蠻欣慰地是他們很用心看 GitHub 和作品集。接下來繼續追問 Observable 的概念,不知道哪根筋不對,我居然拿出筆電 demo 簡單的 Observable 實作。面試官就說:「既然拿出筆電了,那我們來從頭實作一個 Promise 吧!我跟你同時寫。」實作 promise 談何容易,雖然面試官不斷提點我方向,可惜最後只有半成品,還好實作方向正確。

 

這硬仗過後,便是口頭觀念問答:

原型鍊的觀念

解釋 CORS

爲什麼送 request 伺服器沒收到 cookies(因爲沒有加 withCredentials)

何謂 third-party cookies

感覺起來都是 tracking 或廣告常遇到的 issue,除了 CORS 最近實作 static file server 剛好有接觸,其他答得勉勉強強,不過面試官們很和善,也很願意聊技術,據說連 Reason 都進 production 了,果真玩很大!


 

PM

這關大概算是 PM 面試,一位漂亮的 PM 姐姐和 PCMan(沒錯,就是 PCMan),PM 姐姐講話條理分明,也很親切,主要詢問個人特質和溝通技巧,遇到難以溝通的情況會怎麼應對;輪到 PCMan 就毫不留情開了白板演算法,選擇一種語言寫實際程式碼。「API 忘記了就儘管問沒關係」PCMan 如是說。我當下居然沒選 JavaScript 而選擇許久沒碰的 Python,導致作答花了不少時間(應該要選 Rust 的)。題目雖不難,但 PCMan 會依循你的程式碼脈絡深入探討你怎麼分析複雜度,例如我提到了 amortized analysis,PCMan 就順著追問平攤的算法與定義,甚至最後討論到 Python built-in function 實作上與 for-loop 解法的 memory allocation 比較,果然功力深不可測。

既然遇到 PCMan,我就順便問了一些 side project 遇到的疑惑,雖然沒有直接替我解惑,卻提點不少方向,讓我順利修正一些 issue,很高興能看見傳說中的人物。

 


人資

人資姐姐這部分就比較輕鬆,是常見的人資問題,也閒聊在此工作的光景,但前面兩關耗時太多,早已超過下班時間,對姐姐挺不好意思,不敢聊太多。這邊要幫忙緩頰,我覺得不管是工程師、PM 還是 HR,每個人都非常友善,沒有鄉民口中的趾高氣昂,也許當事人才知道實情,別再任意散播啦。

第二階段面試

二面安排在週六上午,很神奇的時間,想必面試官是高階主管。

 


CTO

第一關是 CTO,風格獨特的技術人,先談談過去的經驗,而後從經驗延伸相關問題,大概如下:

爲什麼用 React,jQuery 不好嗎?

什麼是 closure?

什麼是 CORS?哪些請求需要開啟 CORS?

你說 JSONP 可以 cross origin,那怎麼實作 JSONP?

客戶說網頁跑很慢,你要怎麼檢測?

後來 CTO 似乎翻到我寫的「所謂最好的面試題」,就拿來考,我有點太緊張,一直試圖回想自己寫了什麼,搞得答題像背答案,答得不盡理想。最後我問了公司未來的產品與規劃,當然沒辦法得知新產品的內容,但依稀聽得出來 Appier 不僅在廣告下足功夫,且將邁向下個階段了。

這邊平反一下,也許 CTO 面試時會打斷面試者說話,但通常都是離題或誤解才會出手。而且用心觀察,可以發現 CTO 只是說話急促,並非盛氣凌人,當天我有告知 CTO 他的語速過快,而他也有試圖慢下來講(雖然還是很快)。我認爲每個人的言談都自成風格,若不適可以當場提出,相信大多數人會試著改善,事後發文抨擊對事情無益。

 


CEO/COO

CEO 和 COO 這一關偏向人格特質,先是問了離職原因,我說想找年齡相近的 co-worker,CEO 馬上笑笑地說自己很老要被淘汰了,我趕緊補上說因爲前同事都生小孩去了,COO 接著說我才剛生完小孩呢!這下慘了,馬上踩了兩個雷。之後不免俗地問了自認為的優缺點,對自己的期許,以及生涯規劃。我也提問了公司目前最大的困難是什麼?答案不是資金而是跨國溝通,蠻令人訝異的,但也由此得知 Appier 已經走過新創風險最高的那里路。

不論是 CTO、CEO 還是 COO,身爲公司的領導人物,卻沒有一絲高姿態,也願意親自面試工程師,尊重每位面試者,難能可貴,大家別在捕風捉影啦。

 


結果

錄取。縱使整個過程有個人特殊狀況,仍感謝 Appier 各位大大協助我排除,讓我可以很放心的面試。Appier 真的高手如雲,能在這邊工作學習絕對進步神速。

 


一些想法

原本想要分享一些面試準備方式,但發現自己沒有依循特定模式準備,LeetCode 也很偶爾刷一刷,而且四處都有大神分享如何拿到 FLAG 或 BAT offer 的文章,我就不誤人子弟了。

從 3 人剛孵化的團隊,到 30 人逐漸穩定的熱血新創,面試到近 300 個員工的未來獨角獸。每一個創業階段都經歷過,會看到起步期趕著做出 MVP 證明理念,初期商業模式與理想的拉鋸,到擴張期捨我其誰的傲氣,甚是有趣。雖然自己沒能力領導團隊,有幸身在其中參與面試也滿足了。

一連串的面試下來,我覺得最有價值的是「了解自己」,爲了面試,你必須定期整理自己的履歷,反省自己的長處與缺點,並檢視這段歲月究竟成長多少。有時候我們會汲汲營營薪資福利,但機運勉強不來,寶貴的面試經驗才是你最可靠的財富。失敗了,就過半年一年再投一次吧!

我最喜歡問面試官:「你喜歡在這裡工作嗎?」很多時候,得到的是意味深長的微笑,我依稀記得以前部門主管的一席話:「工作不是人生的目標,卻占了一半的人生,學習與之共處才能快樂工作。」工作當然有愉快也有不爽,不過,在臺灣這種低薪、高工時、職場霸凌嚴重、勞權低落的就業環境,除了想辦法讓慣老闆無所遁形外,也別忘了鼓勵那些願意照顧員工,讓員工快樂工作的優良企業。

最後,堅持初衷,擇你所愛,選了就不要後悔。

祝福各位都能找到理想中的工作!


 

面試加分TIPS:

1. 求職前列出對這份工作除薪資外的需求有哪些,渴望找到符合自己的工作。

2. 了解自己工作的優、缺點,才能在人資前做好表現,對於不熟悉的問題也能做好應對。

3. 養成更新履歷的習慣,才能將自己的經歷、作品精采呈現。

 

資深前端設計總結:

1. 前端設計相較於平面設計是屬於後來新起的職缺,目前在台灣市場中也是比較熱門的職缺,但是前端的涵蓋範圍非常廣大,較小的企業或公司往往都希望你可以全能,所以需要學習的東西可以說是學不完。

2. 保持學習的心態,新東西,新技術與日俱增,工作之餘,可以去學習這些新技術,來讓自己更有能力解決各種需求。

3. 前端也非常注重溝通方面.需要與設計師和工程師一起合作甚至討論,所以學習如何溝通與團隊合作也是一門需要學習的課程。

文章來源:1111找工作經驗談

 

你可能有興趣的文章