跳到主要內容

【面試心得】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 創用 姓名標示─非商業性─相同方式分享」授權發佈

https://blog.interview.tw/2018/09/2018.html

留言

這個網誌中的熱門文章

【面試心得】失敗哥的不 NG 面試心得:Pinkoi、17 Media 、街口支付

文/ RH's note 羅伯特的筆記 大家好,我是羅伯特。 這邊是下集的內容,如果你只是路過被騙進來的朋友,建議您看一下前情提要,傳送門在此:《 超詳細 Dcard&Fourdesire 面試筆記,UI 設計師面試 NG 又如何! 》 被連續打槍之後,要說心情、自信沒有受影響是不太可能的,如果你也是剛好在面試求職的朋友,應該懂我說的感受。 不過能做的就是把握每一次投履歷信的機會,要是沒有信心表現到當下最好的狀態,就是浪費這次機會了,畢竟短時間要重複投同一間公司是不太可能的事。 其實這次開始自己投履歷時會覺得難熬,是因為面試Fourdesire 的時間將近一個月,已經從邊工作、 邊面試到正式離開原本公司了,這段時間其實沒有看到什麼自己覺得非常心動的職缺,再加上最後面試失敗,心裡真的有看不到盡頭的感覺,我不想在夏天面試啊,靠杯熱啊幹。 肥宅真的很怕熱的,面試又不好意思穿短褲 上篇有提到我這次尋找職缺的管道 CakeResume / mit.Jobs / Yourator / indeed / Ptt.cc _ soft_job / Linkedin / 臉書社團 基本上每天行程就變成看這些網站一輪,沒有喜歡的就休息,做做 side project 或者去運動做點自己想做的事,像我就把海賊王跟進擊的巨人一口氣追完,爽。另外覺得很不踏實的時候,可以找個人陪你聊聊講幹話,心裡會覺得好過一點。 不過前提是你要將作品集、履歷、求職信件備妥,畢竟好的工作機會不是留給準備好的人,是準備好的人才有機會面試。 「好看」的 UI 作品集 這邊沒有要跟各位講作品美感什麼的,設計師應該會想自己處理發揮,想分享的是如何準備「好觀看」的作品集。 如果各位跟我一樣真的是“完全”不懂程式的設計師,可以選擇 Behance 提供的 Portfolio 服務,利用它給的模板調整出自己心目中理想的作品集,如果覺得還是不行…要不就去找工程師朋友或者學程式自己寫吧。 我之前用過 Wordpress 架構過自己的個人網站,不過一直被攻擊穩定度不是很好,加上 RWD 蠻常爆版的,所以網站過期就放棄那邊了。作品集準備上有以下幾點可以注意: 能夠在各裝置上瀏覽 現在能夠瀏覽信件的方式很多,既然我們不能確保對方是用什麼裝置觀看的,那基本的手機、電

【面試心得】華碩面試:脫離學生身份仍要考筆試?傳說HR不好應付 It’s real?

文/ 凱西 (圖片來源/pixabay) 到華碩面試帳務管理師的第一關 投遞履歷後約莫一週接到HR電話、正式邀約信,信中提到當天會進行 (1) 邏輯測驗 (2) 英文測驗,其餘內容就是面試前要上網登錄公司履歷自傳、主試人員還有一個線上的測驗 (該測驗似乎會遭Flash阻擋,記得事先設定) 面試時間:2018 / 01 下午 地點:華碩總部 到達後換證進入,被指示到一間很大的會議室,裏頭是像電影院的座椅,搭配扶手處可翻出的「小」桌子、燈光也蠻暗的 (可能是人不多的關係?) ,除了我與負責考試的HR外,還有幾位也是面試的人一起考試,但不確定是否面試同一職位,可能只是一起考試。 跟HR確認身份後找個位子坐下,「馬上」開始一連串測驗,這裡說的「馬上」是真的!連包包都還沒放下就拿到測驗卷跟答案卡開始考試QQ 那就開始介紹一連串的考試吧 (1) 邏輯測驗 40題 / 20mins 題型就是小時候寫過的智力測驗還甚麼的, 主要有兩大類型的題目: A. 給 2-3 個圖形,要推測下一個圖形是甚麼。 B. 給一個立體圖,算出有多少正方體。 作答難易度這我也無法評斷, 這種測驗嘛...感覺沒有正確答案之類的, 但自己的感覺是寫得很順 (但也可能都是錯的哈哈) ,時間對我而言很夠用, 但本人從以前就有被說過寫考卷很快速, 所以時間上給大家參考一下~ (2) 英文測驗 40題 / 30mins 背景:2016 / 05 有考過 TOEIC, 成績介於800-850分,之後沒有特意讀英文。 題型上類似TOEIC分兩大類: A. 大概20題動詞變化、文意選填。 B. 20題閱讀。 個人認為閱讀偏簡單, 但單、雙篇閱讀的題型都有, 動詞變化覺得有點難。 (3) 細心度測驗 約10題 / 5mins 這部份是信中未提及的,不過真的只是測細心! 題型有三種: A. 一篇英文短文計算有幾個 "E" (大小寫都算)。 B. 一串數字或一個單字,選出一模一樣的。 C. 一串數字或一個單子,選出「相反」的(e.g. 題目123,選321)。 基本上蠻簡單的,只要夠細心不是大問題, 但是窩在會議室寫了 20 + 30 分鐘的邏輯跟英文測驗後,脖子痠痛、燈光暗,寫這測驗時細心度的狀態難免不佳,多點耐心撐住! 考試就到這

該怎麼使用面試趣「積分兌換碼」?

(圖片來源/pixabay) 好不容易從網路上爬到破解大法 想著可以多拿一些積分、多看幾筆面試心得 但...一回到 面試趣 卻找不到從哪裡兌換積分? 別擔心,讓我們告訴你! 「積分兌換碼」操作教學 1. 首先,擊點右上方個人頭像,進入 個人頁面 中。 2. 進入頁面後,向下滑動,找到「邀請好友送積分/積分兌換」。 3.  擊點 「邀請好友送積分/積分兌換」 ,進入該頁並下滑動找到「輸入積分兌換碼」處。 4. 輸入你擁有的積分兌換碼,即完成兌換,獲得積分。 【手機版教學畫面】 我們不怕你破解,因為我們知道這些資料對你有多大的幫助! 快輸入手中的兌換碼,一起點開屬意公司的職缺, 看看前輩們怎麼說!   我們,一起 面試趣 。 | 更多認識我們| 面試趣積分是什麼?如何獲得? 我在這裡分享資料安全嗎? 我能相信面試趣上面分享的內容嗎? https://blog.interview.tw/2019/02/blog-post.html