面試經驗

美商寶蘊凌科網路科技有限公司 FRONTEND DEVELOPER

一、背景介紹

國立科大資管系,目前已經有兩年工作經驗。平時專注在前端開發,接觸 React、Redux 開發約兩年的時間。除了一般的前端「工程」之外,自己也很喜歡畫面的實作與互動,同時也有在自己的小專案當中練習後端的知識,像是 AWS、Lambda、nodejs、資料庫、機器學習等等,不過最熟悉的還是前端相關。

二、公司簡介

專門做 IOT、AI、機器學習的雲端運算平台,因為這些 platform 需要 UI 的支持,所以需要前端開發協助。官網還蠻簡陋的,看不出個所以然,不過做的事情技術含量很高。

三、面試前

在 104 上主動投遞履歷,被電話邀請面試。這間公司做的技術含量很深,也有在線下辦一些社群。

四、面試中

感覺得出來是個蠻技術含量很紮實的公司。自我介紹談了一下過去的工作經驗,以及用 React, Redux。 我之後才知道原來當初面試我的是 c9s ,想說怎麼那麼眼熟。感覺得出來是位大大,技術的掌握度很深。(不過本人看起來比較憔悴) 面試時考了些偏優化的題目,像是: - js 如何做 minify? 這題是要你大概解釋一下 js minify 的過程,最後簡化到如何消除程式碼中不必要的空白。這題的想法很簡單,不過實作起來有一些細節要注意,當時沒有想很多,被提示很多次才寫出來 前端效能優化可以怎麼做? 提了一些常見的方式,不過感覺沒有很合面試官的胃口。像是 base64 編碼減少請求數、快取、ServiceWorker 等等。 - 如果要你做一個 SPA 的 framework,你會怎麼做? 如果要我做,首先要考慮的是 router 的處理方式,畢竟 SPA 需要依靠前端做 router。後來被提醒了還要考慮 lifecycle 的問題 一些 Javascript 的問題 原形鍊的原理 - new 背後發生了什麼事? 如何實作繼承 this 指向誰 最後由一位看起來是主管的人跟我談一些公司現況、未來發展等等。

五、面試結果

無聲卡(到現在已經三週),大概是太菜了吧 QQ

六、其餘分享

1. 履歷準備 因為我平常就有寫 medium 跟部落格的習慣,履歷表就能順便放進去。而且因為履歷表是放在 github 上,所以很容易更新。 2. 工作經驗 工作經驗並不是把公司名稱、職稱、年資寫進去而已,你負責哪些工作內容、在公司做了什麼事情,盡量寫得具體一些,例如: 用 React、Redux 管理複雜頁面開發 優化首頁 Loading 效能 就比擔任前端開發來得好許多。 3. Side Project 除了工作以外,如果有自己的 side project 就更好了,身為工程師一定會有自己想要動手解決的問題。 可以讓面試官知道你喜歡的領域以及技術線,每個專案當中一定會有一些特定的問題是困擾你很久或是花了許多時間解決的。 4. 多問問題 面試應該是個你來我往的雙向溝通,而不是一場你問我答的標準流程而已,知道如何反問對方,也能夠增加對公司的了解程度。 通常我都會問一些公司內部的問題,主要會針對這幾個方面問: - 有沒有自動化? 很多公司都還是土炮手動 SSH 登入部署。這種開發方式很可能間接一步反映到公司文化上,例如:申請預算流程繁瑣、對能夠自動化的東西視若無睹。 - 如何解決 bug? 解決 bug 的方式可以看出公司如何排程。例如 bug 怎麼被回報的、誰來決定 bug 的優先度等等,通常從對方的回答就能判斷他們是否有一套規範來決定如何排程的 - 需求是否常常變動? 從需求變動這個問題來看可以從很多角度切入,什麼是常常變動?在什麼時候變動?怎樣才叫做變動?這時候就能看出這間公司是否會出現明明開發時說 A,結果交差卻說 B 的情形了。 接下來就是從這上面延伸出來的回答繼續追問了,通常看面試官的回答程度大概就知道這間公司的內部情形了。

※ 本文已獲 陳愷奕 授權轉載

- 原文標題:前端面試心得 - 原文連結:https://kjj6198.github.io/2017/09/02/frontend-interview/
面試問答
Q
js 如何做 minify?
Q
如果要你做一個 SPA 的 framework,你會怎麼做?
Q
new 背後發生了什麼事?

詳細給推

感謝大大無私分享

蒸的很蚌

真的非常謝謝你的分享!

很實用!

台灣的職場因為有你變得更好!

給我們回饋