跳到主要內容

【面試心得】2018 前端工程師面試心得


文/Weihang Lo


(圖片來源/pixabay)

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

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

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

我的劣勢是對 UI 較不在行、CS 知識不夠紮實、臨場反應不佳易緊張、沒有跑過真正的 TDD 和嚴謹的軟體開發流程。希望我的背景能給同樣境遇的朋友一些參照。

【求職需求】
由於前東家是上櫃公司,規模不小,制度完善,但也稍缺彈性,所以求職希望以新創公司為主。
以下依優先順序排列,薪資等基本需求不列入:
  • 新創團隊或具有新創氛圍
  • 技術討論風氣盛。
  • 有能力相仿或更強的 co-worker,不必自幹。
  • 工作流程明確。
  • 重視軟體品質(CI/CD、單元測試)。
  • 同事年齡相近。
  • 對社會有正面意義。
  • 應徵企業列表
以下是這段時間我有去應徵的企業,如果你對細節沒興趣,可以直接 end。

1. CakeResume:錄取但婉拒
2. Hahow 好學校:錄取
3. Appier 沛星互動:錄取



CakeResume

職缺:全端工程師
應徵方式:使用 CakeResume 投遞 CakeResume 的履歷


若是近年來想求職的朋友,想必對 CakeResume 不陌生,CakeResume 是線上履歷編輯平臺,利用拖拉元件的方式,快速搭建個性履歷,並提供企業刊登職缺。

《動機》
會想應徵全端工程師是因在學期間協助實驗室架設 server 與 DB,對後端頗有興趣。看到 CakeResume 全端缺便躍躍欲試,自己對新創團隊的運作方式十分好奇,加上媒體轉載許多創辦人的創業過程分享,頓時熱血沸騰,從頭打造服務百萬用戶的機會實屬難得。

《面試》
面試地點是在 AppWorks 之初創投的空間,由於我是約週一晚間面試,因此只有創辦人來面試我,一問之下,才發現公司規模比想像中更迷你。面試內容不外乎自我介紹、作品展示等,並沒有技術考題。
創辦人很善於傾聽,會順着你的話瞭解你的人格特質與能力,整體而言,面談十分舒服,相談甚歡。後來我們開始大談各種技術選型,因爲新創的緣故,目前是用開發較快的 Rails,比較缺乏大公司那種完整的 CI/CD 流程,我表達了工作的預期,雖然薪資與工作環境沒有符合我的需求,但感覺創辦人希望我能考慮考慮,或許是人格特質符合徵才需求吧!

《結果》
週末之前就收到回覆。美其名是錄取通知,其實比較類似邀請成爲夥伴,共同奮鬥打拚。當下其實滿兩難的,CakeResume 的理念很棒,創辦人很誠懇又熱情,甚至最後盡量將薪資拉近我的預期,但礙於我內心希望有 co-worker 共同討論成長,不希望完全自幹,所以就婉拒了,非常感謝創辦人的盛情邀約。

在面談中,創辦人有句話一直縈繞在我心中:「CakeResume 不是科技業求職平台,透過履歷編輯工具,協助相對資訊弱勢的其他族群曝光自己,展現他們的長才!」平臺上早有許多廚師、理髮師等各行各業的人使用履歷服務。如此崇高的理念,令我非常感動,也回憶起踏入軟體圈的初衷與期許。誠摯推薦大家使用分享 CakeResume 的服務!



Hahow 好學校
職缺:前端工程師
應徵方式:主動在 Hahow 官網投遞履歷



Hahow 是在華語市場頗爲知名的線上課程募資平臺,至今有幾十萬會員數與豐富多樣的線上課程。和其他平台的差異在於 Hahow 使用募資的方式,確保學生人數與課程品質,並提供同學與老師,還有同學間完善的交流與作業批改機制。

《動機》
應徵 Hahow 工程師並非偶然,早在 2017 Q3 就看到楚楚動人的徵才文,不過當時沒打算離職。爾後不久就讀到 Hahow 在他們的技術 Medium 上許多軟工與對軟體品質的分享,對於許多還在 rsync tar作部署備份的手動工程師,有如荒漠甘泉。
 一月初偶然在 Facebook 上瞥見徵才貼文,期限只剩幾刻鐘,「此時不投,更待何時」這時候你絕對會慶幸平常有整理履歷和 LinkedIn。


由於 Hahow 的面試流程較有意思,接下來以時序分段落介紹:

- 線上測驗
幾天後,收到 Hahow 的回覆,獲得第二階段線上測驗的門票,三十分鐘 3 題 JavaScript 演算法,用的是 RemoteInterview.io 平台。老實說我其實滿緊張的,LeetCode 刷得不多,又沒受過專業演算法訓練,甚至上機當天還在擔心 online editor 沒有 VIM keymap,還好平台編輯器使用 CodeMirror,沒有太奇怪的 keymap 設定,但也因此失去一些寶貴作答時間。

題目就是 LeetCode Easy 的程度,也有考到 closure 概念(有點忘了),不過實在是太緊張,有個基本到不行的 Dynamic Programming 題,寫到最後居然卡住,當時就覺得駭啊,只好繼續調 CodeMirror 的 VIM 設定放鬆心情。默默祈禱 Hahow 評分除了過測資,也會參考解題邏輯。

- 第一階段面試
幾天後,收到 on-site 面試邀約。面試官約莫 30 歲,是個略靦腆但好相處的人,一開始就介紹自己是四個 co-funder 之一,以三十人的小公司來說,不難想像面試都是 co-funder 自己來。

同樣從背景,工作經歷問起,也有技術相關的討論,這時我才知道,原來 React + RxJS 早已滲透每個人心中,新創公司不是已經導入就是正在導入,Hahow 也不例外。突然話鋒一轉,面試官開始技術面試,主要是考觀念,例如 SPA 爲什麼流行?如何在 SPA 做 SEO 等等,必須「清楚理解每種技術的優劣」,並學會「在不同情境下選用適合的技術」。


也有 JavaScript 必考題:Promise 與 callback 的比較,還好之前有認真研究 Promise。除此之外,少不了白板面試,題目是簡單的 array 題,只是腦袋突然打結,讓面試官撒泡尿才寫完。


接下來是求職者發問時間,我必問的問題之一是:「你如何得知今天該做什麼」,其實我並不在意團隊跑不跑 scrum 這種形式上的流程,只要有明確的任務管理,不會讓工程師閒着發呆,或是任意插件就很 OK 了,熱門的開發流程並不總是適合每個團隊。

由於是新創公司,我也詢問了公司目前資金與營運狀況,面試官也順便介紹了其他 co-funder 的背景,過程就像老友聊天一樣放鬆,一不小心面試就從九點聊到十二點,蠻不好意思的。

- 小專案
一面完,面試官告訴我有一個 mini project,主要是了解 coding style 和實際的能力,有辦法的話,可以嘗試使用一些 promising 的技術展現自己。其實做 mini project 的成本不低,不過我還是稍微花了心力,在週末趕完,程式碼在此,有興趣可以參考。個人認爲小專案不僅可體現實力,更是一個有條理地說明程式架構的機會,寫出讓人快速理解文件,反而比實作還燒腦啊!

幾天後,就收到回覆,Hahow 針對專案實作提了一些問題,我也簡單提供修正與改善的方法,就進入最後面試階段了。

- 第二階段面試
二面主要是看個人特質及目標與公司的契合度,面試官是兩個 co-funder,一個技術背景,另一個負責營運。同樣也是自我介紹,聊聊爲什麼想要和 Hahow 一起奮鬥,這部分與一面重複,不過有了前次經驗,這次嘗試抓住對方想聽的重點,也訓練自己在壓力下維持口條清晰。

由於前份工作也有教育相關的部分,我就開始針對 Hahow 的政策、理念和目標開始發問,再導引到自身擅長的領域。這邊就不諱言的舉個例子,Hahow 的理念固然是推廣教育,學那些學校不會教的事,但對於經濟弱勢的朋友,有些課程仍然負擔不起,有沒有解決辦法?其實這不只是 Hahow 的問題,坊間甚至整個國民教育,都有資源不均的情形,當我們揮舞著「唯有讀書高」的大旗,是否有些人根本無法心無旁騖地好好學習?

這次面試一不小心又談了兩個多小時,不過目前遇到的 3 個 co-funder 都很誠懇,也願意將許多營運面的狀況分享給我。傳說在 Hahow 的 slack 上,這些都是公開的祕密,也許所謂扁平化的管理就如斯。

《結果》
經過一番電話交涉,最終 Hahow 給了符合預期的 package,雖然過程有點冗長,仍然感謝 Hahow 如此器重我。

Hahow 非常注重學生老師互動,也有心推廣各式各樣的技能,而非獨尊程式設計。從 Hahow 的部落格 就可一窺這群文青多麼理想多麼可愛,希望看倌也能從 Hahow 豐富的課程中學到些什麼,翻轉臺灣金錢學歷至上的教育。

哦還有一點,Hahow 的男女比例很 OK。



Appier 沛星互動
職缺:前端工程師
應徵方式:主動在 Appier 官網投遞履歷 + 內部推薦



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

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

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

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

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

  1. 原型鍊的觀念
  2. 解釋 CORS
  3. 爲什麼送 request 伺服器沒收到 cookies(因爲沒有加 withCredentials)
  4. 何謂 third-party cookies

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

2. 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,很高興能看見傳說中的人物。

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

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

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

  1. 爲什麼用 React,jQuery 不好嗎?
  2. 什麼是 closure?
  3. 什麼是 CORS?哪些請求需要開啟 CORS?
  4. 你說 JSONP 可以 cross origin,那怎麼實作 JSONP?
  5. 客戶說網頁跑很慢,你要怎麼檢測?

後來 CTO 似乎翻到我寫的「所謂最好的面試題」就拿來考,我有點太緊張,一直試圖回想自己寫了什麼,搞得答題像背答案,答得不盡理想。

最後我問了公司未來的產品與規劃,當然沒辦法得知新產品的內容,但依稀聽得出來 Appier 不僅在廣告下足功夫,且將邁向下個階段了。


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

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

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

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




一些想法....

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



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

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

我最喜歡問面試官:「你喜歡在這裡工作嗎?」很多時候,得到的是意味深長的微笑,我依稀記得以前部門主管的一席話:「工作不是人生的目標,卻占了一半的人生,學習與之共處才能快樂工作。

工作當然有愉快也有不爽,不過,在臺灣這種低薪、高工時、職場霸凌嚴重、勞權低落的就業環境,除了想辦法讓慣老闆無所遁形外,也別忘了鼓勵那些願意照顧員工,讓員工快樂工作的優良企業。

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

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

用「分享」幫助下一位求職者、用「心得」鼓勵優良企業
邀請你加入面試趣


(文章授權於Weihang Lo《2018 前端工程師面試心得》


該文章以 「CC 創用 姓名標示─非商業性─相同方式分享」授權發佈

留言

這個網誌中的熱門文章

【面試心得】退伍後 2個月,我面試了11間公司| 2018 數位行銷新鮮人的面試

文/張簡翊珽 Eisenberg

(圖片來源/pixabay)


《前言》: 剛好最近適逢畢業季,希望能將自己面試過的公司整理出來(面試時間是3~5月),也發現我有些面試的公司在網路上心得文不多,希望能夠提供一個流水帳式的分享,當然內容還是無法完全記錄下當時面試的過程,若有希望知道更細節的部份可以私訊本人FB 。
這是篇長文,閱讀時間約15-20min,請確保有足夠的興趣&精神再往下滑,也可以直接跳躍到有興趣的公司。
不過也要先說明,文中不會提供什麼:「面試必中準備秘笈」或「感動面試官之金玉良言」這種東西...只是將自己面試的過程以及對公司的觀感記錄下來,因為我認為,每個人對面試的回答,應該是照自己的情況或能力去回答,沒有所謂標準答案,我能夠提供的只有讓你了解面試的氛圍,讓你去思考自己會如何應對。
【誰適合閱讀這篇】: 這篇分享寫給我自已,也寫給跟我條件類似的同溫層。我們不是台清交成政,也不是海歸派(甚至我自己只有大學學歷),但我們也好像小有努力,我們曾做過實習、曾跑過活動,也似乎知道自己要些什麼,但由於現階段的能力還不足以支撐我們理想中的樣子,所以雖然我們做了職場上該有的準備,但仍然迷惘。
【包含哪 11家公司呢?】:皆在北部 01. 奇幻城堡 02. MAJI 集食行樂  03. MAGIPEA 美極品  04. eLand - 意藍資訊  05. C Channel  06. HonestBee 誠實蜜蜂  07. 采億科技  08. 雲沛集團 - adHub 經緯廣告 09. MSI 微星科技  10. JUKSY 街星  11. 奧美集團 - 奧美互動行銷
這篇文章背景是我準備換第二份工作,第一份是在awoo 國際 — 擔任 AdWords 廣告投放。文中皆個人想法,盡量不帶主觀批評 (盡量啦…),但也不代表完全正確,如與真實情況不同,敬請指教。(偷偷說,文末有小彩蛋~
依照面試先後順序排列:


公司名稱:奇幻城堡 (一次面試 )
面試職稱:營運處 行銷專員
《職位內容》: 負責遊戲「大富翁天團」的行銷企劃,主要以線上推廣為主,需要有廣告投放及數據分析基礎觀念,若過去有社群經營經驗或實作部分為佳。
《面試過程》: 問題都算基本,最重要的是絕對絕對絕對要去試玩他們家的遊戲,在回答問題時,適時代入遊戲結合你提出的行銷方式。這間是我退伍後面試的第一家,其實我是拿來當練習的,但還好面試主管都還滿不錯,只要在面…

【實用分享】為什麼去上班總是覺得超累?不是因為你做很多事,而是你的「心」很累

文/凱莉不加糖
(圖片來源/pixabay)
你上班時除了花體力、花腦力,還有一種很耗損的原因就是「情緒勞務」。

「為什麼去上班,我總覺得超累?」你累的,其實不是做了多少事,而是心很累!

美國社會學家亞莉•霍奇查爾德(Hochschild)提出了一個概念叫做「情緒勞務」(Emotional Labor),這是指你上班時除了花體力、花腦力,還有一種很耗損的原因就是「情緒勞務」。

體力、勞力之外的情緒勞務 這個名詞在最初時,霍奇查爾德《情緒管理的探索》裡是這樣定義的:「個人致力於情感的管理,以便在公眾面前,創造一個大家可以看到的臉部表情或身體勞動」。

 像是空姐要付出「熱情的情緒勞務」、醫生要付出「冷靜的情緒勞務」、櫃台人就會有「微笑的情緒勞務」,簡單說就是上班隱藏真實情緒,還得「賣笑」或「賣親切」。

之後,霍奇查爾德在《組織中的情緒》把情緒勞務的範圍擴大:「不管任何工作,只要涉及人際互動,員工都可能需要進行情緒勞務。」

我換句大白話,類比給你聽就懂了:
面對超愛不懂裝懂的無理客戶,你就要付出「微笑點頭、沒關係我改」的情緒勞務。
面對暴怒的老闆,就會有「低聲下氣、老闆英明」的情緒勞務。
面對扯後腿的同事,得拿出「內心喊幹,卻一笑而過」的情緒勞動。
面對不聽話意見又多的部屬,又要上演「忍住白眼、耐心輔導」的情緒勞務。 

這些煩人事,都是職場的日常,該怎麼紓解甚至進一步解決問題呢?


情緒勞務沒錢拿,卻與競爭力息息相關
莫名被轟炸、主管講話難聽、無理要求一大堆,不管是哪一件,都很容易讓你心情不美麗。職場有情緒難免,但要懂得自己找出口,首先,職場上要排解情緒,絕對不會是靠別人、更不是靠嘴,下面這個自毀案例,職場上很常出現:

之柔工作能力不錯,卡了個中階主管的位子,最近公司業務量大增,工作量直線上升,加上主管盯得緊,日子變得很難過,之柔開始跟其他部門的同事抱怨:

「煩死了,主管一直丟東西過來,別人的事也要我支援,憑什麼?」
「為什麼我的Team要做得比較多?能力好就活該嗎?」
「我都要累死了耶…為什麼公司還不幫我加薪?」
之柔一連問出三個為什麼,其實她想要表達的概念就是三個字:「不公平」!她沒有先把這些情緒內化,選擇直接「點火自燃」,把自己的情緒放到最大,由此可見之柔江湖走跳的時間還不夠長,不然就是智慧還沒開。

能者多勞,沒錯,這是真的!但做得多、領得多,這件事在職場上絕對不是正相關。

之柔過不去的點是,為什麼我能力好就…