前端工程師面試心得 | Frontend Engineer interview

前端工程師面試心得 | Frontend Engineer interview

March 25, 2018

·

14 min read

整理最近的面試心得,要找的是第二份前端職缺,我大概在三月開始找工作,主要是用 104、yourator、ptt,找的都是希望有用到前端框架或是未來要用,挑公司產品主力是網頁相關。幾乎都是主動投遞履歷居多,主動找我的只有一間有約面試。

我是用 cakeresume 製作的線上履歷,自己覺得比 104 的好看許多,簡單不拖泥帶水,還可以讓你用 html 改樣式,非常推薦。

個人履歷:

個人背景

前一份工作兩年網路行銷經驗 , 目前 一年半的前端工作經驗,工作上主要用 css、html、javascript、bootstrap、jquery、react.js、串接各種 api,還有編寫 jsp、jstl,偶爾會幫寫 controller。

公司目前就一個前端,負責範圍滿廣的, 前台要處理、後台也要處理。 所以參與到滿多功能開發,面試很多東西可以聊。 另外因為我上一份工作因素,每間公司幾乎都會聊到 SEO。

因為希望能夠磨練前端技術,所以選擇向外找工作。

面試公司

1.愛食記(yourator)

因為愛食記是我愛用的 app, 可以找附近的餐廳,所以當下毫不猶豫投履歷。

onsite 面試

首先先與兩位技術 co-founder 面試, 非常驚人的是目前只有兩位技術人員,一個負責 ios 加前端、另一個負責 android 加後端,原本還以為是 10 幾人的新創公司(因為 yourator 照片人很多 XD),能做出這樣的 app 真的是十分厲害。

首先自我介紹,再來就是公司介紹,後面聊到我變成小粉絲,提到使用感想、建議,再來就是簡單的 javascript 問題。

最後才是筆試 - 使用 google hangout 共享螢幕,筆試總共五題,題目需要與面試官溝通了解情境、需求,另外是使用 JEST 測試。

大概考的觀念是處理排序、篩選 array 資料、immutable、還有解構賦值等等,邏輯其實沒有太難,不過陷阱滿多,我是下班直接過去,沒吃晚餐肚子超餓,到後面我其實腦袋一片空白,然後每個題目都要問面試官才能知道,寫到後面卡住就中斷面試了。

這次面試後,讓我知道 immutable 的重要性,處理資料要注意有沒有改變到本身。處理 array 用 push、pop、shift、unshift、reserve、sort、splice 都會改變原有的陣列。這個觀念在處理複雜的全域變數陣列非常有幫助。

結果:感謝信

2.triplisher(yourator)

提一下公司環境,雖然公司人不多,但空間非常舒適,舒適的裝潢附有 bar 台、沙發等。

onsite 面試

進去會先給你中文的邏輯測驗,給你一段文章,文章內會給你每個物品與人的關聯,誰的隔壁是什麼之類的,要你推導出最後人與物品的關係。覺得難度還好,稍微想一下應該還 ok。

我拿到的題目是修改 google map 的滑鼠事件,觸發滑鼠改變畫面 css,要你拿官網直接做修改,如果有用過 google map 的 event 應該算簡單。

後面都是與技術主管面談,不免俗的自我介紹,閒聊之後,知道公司核心功能要用 react 改寫,未來計劃推出 react native 的 app,目前團隊就一個後端技術人員。話說我問到瀏覽器支援,技術主管要求的是盡可能的支援,我還以為自己公司支援到 ie9 已經很廣了,沒想到這裡支援更廣,讓我十分驚訝。

最後技術主管提到,目前有非常多的前端 candidate,所以預計會在月底通知二面,恩…聽起來應該是張無聲卡。

結果:無聲卡

3.Yahoo(104)

人資先打電話通知應徵職缺資料,並且約電話面試時間,我接到電話才知道我投遞的是約聘職,不過想說面試 yahoo 應該會讓我學到不少東西,就答應後續面試了。

電話面試:

首先由部門技術主管、前端來電面試。下面滿多題目我沒有答出來的,像是 event loop、settimeout 原理,遇到跨網域 CORS 要怎麼解決,過程有點像是快問快答。

電話面試題目: 網頁載入流程、display all type、Cookie localstorage sessionstorage、CSS box model、Javasctipt Event loop、settimeout 原理、CORS 處理、Promise 原理、功能

onsite 面試

會請你 share 螢幕投影。首先要你求質數,丟入某個數字 input,然後得到數字以下的所有質數,我第一步驟是卡在如何分辨質數,技術主管有提示我,不過很可惜最後我沒完成…。

接下來就與前端工程師一對一面試,要你先切版面,然後要你置中或水平置中置頂,再來是考你下面這些題目,先從 css 觀念開始,再來是 javascript 基礎,後面開始進入 react,還不太熟悉所以這邊還滿慘,redux 還直接跳過。最後一題是 promise,不斷延伸 promise 然後問你其中每個步驟的 flow。

工程師在面試過程,如果你答錯了,他還會說正確的答案,然後解釋原因,這點非常棒,不會只有單向的你問我答。

Onsite 題目: Css - 排版、selector、box-modal、border box-sizing js - event loop、this、eettimeout、hosisting、let 命名 function 處理 hoisting

react - HOC high order component、state prop、Stateless component Es6 - 介紹 es6 新功能、Promise

4.Medpartner(ptt)

onsite 面試

medpartner 是做醫療內容的新創公司,我是在 ptt 看到的徵才訊息。技術長擔任面試官,面試官是台大資工的大大,是一個創業家,很真誠的跟你介紹他自己,是我面試下來最認真介紹自己的面試官,讓人覺得誠意十足,再來就換我自我介紹,才知道公司之後要發展電商、軟體,而目前團隊也欠缺前端角色。

聊完就開始考白板題目,不過可以讓你用筆電先寫好在寫上去,考你處理陣列、物件的判斷,後面再延伸下去,要你追求效能的寫演算法,題目共有 3 題,我只寫了兩題,可能後面趕時間,所以就改讓我口頭講邏輯。

視訊面試

接下來是視訊面試,錄取前需要與創辦人聊天,創辦人非常非常熱情,提到他許多創業理念,希望讓社會能夠共善。公司也有不錯的福利待遇,每週 remote 或是月額外獎金等等,不過思考過後婉拒邀請,個人還是希望加入的公司是有前端團隊。

結果:收到 offer

5.Voicetube(104)

實作測驗

voicetube 是用 vue,是我唯一投遞用 react 以外的框架的公司。

首先會寄給你技術表還有題目實作,技術表混雜後端、前端技術名稱,雲端 server、php 後端都沒涉略,幾乎沒勾…。實作題目是給你一個 api,然後再給你一個 sketch 檔,要你實現 mockup、串接 api,沒有限定型式,我選擇用 React 來寫,大概花了一早上寫完,一開始就遇到 CORS 的問題,時間因素沒自己架 sever 串過去,選擇自己建假資料。時間、排版或字串需要注意,其餘部分應該沒有特別難。

onsite 面試

同時與公司的後端、前端、技術主管一起面試,首先由我自我介紹,再來由前端工程師針對之前實作 codereview,詢問滿多細節為什麼這樣寫,某些寫法記憶體效能可以更好,最重要才發現我居然忘記調 RWD。相比其他公司沒有太多前端技術問題,主要流程像是我分享自己技術實作,大家在一起討論技術解法。

後面變成與技術主管一對一面試,比較像是一對一聊天,整個過程非常愉快,分享滿多 voicetube 對於使用新技術的看法,還有團隊合作流程,還有 voicetube 也非常注重 SEO,其他關於 voicetube 營運細節就不做分享了。

雖然是全部面試過程最愉快也最順利的公司,很意外的收到感謝信,也許是框架不同,也許是我的技術還不足。

結果:感謝信

6.KKbox(104)

實作測驗

收到面試題目是 codity 線上測驗,總共有三題我是選擇用 javascript 作答,第一題是 array 處理、第二題 debug、第三題 ajax 處理畫面,作答時間大概是 2 小時左右,第三題沒答對,因為不知道 codity 要怎做畫面處理。

onsite 面試

面試是與另一個部門的前端工程師、用人部門主管同時面試,很意外完全沒詢問我 codity 上面作答內容,反倒是主管很詳細地問我學前端的過程,還有行銷轉前端的問題,很鉅細靡遺的了解我職涯。再來是前端工程師面試,詢問了一些技術問題,介紹之後工作負責的內容,很簡單的結束面試。

簡報面試

題目是優化曾經寫過的 code,不論是 UX、效能、coding style 皆可,收到題目後,剛好就收到 offer 了,因為應徵部門會只有一個前端,思考過之後婉拒後續面試。

結果:婉拒面試

感想

最後選的公司沒有寫在上面,總計面試了 7 間公司,花了大概 3、4 天面試,最後拿到兩個 offer,沒特別列出薪資。因為我都是用一樣的年薪(前端 junior 薪資)去談。

考前有稍微刷了 leetcode easy medium,但實際上幫助不大,不如好好了解 ES6 新功能,面試題目沒到 medium 那麼難,反倒是投影螢幕臨場考試都太緊張,其中兩個面試都沒吃正餐,肚子餓會更不舒服,腦袋會呈現一片空白。yahoo 的面試後面工程師讓我邊吃餅乾邊面試…,因為那時候真的太餓了。

還有記得帶筆電,不是要 demo 作品自我介紹,是面試幾乎都有上機測驗。javascript 上除了 react 以外,幾乎大家面試問的題目都差不多,ES6、evenet loop、this,至於 css 滿多公司都簡單帶過,只有 yahoo 是問滿滿的 css。

技術上現在公司都採前後端分離,後端 php、java 處理 api,node.js 則交由前端處理,都有做 server side render 優化 SEO。然後滿多公司放生 IE9 XDDD,css 用到 flex。

實際面試之後更能感覺自己那些地方不足,對於滿多技術的背後原理不夠熟悉,被問深入就被問倒,最後就期許自己可以更加油。

感謝你的閱讀 。