/

一段關於剛被我大國軍摧殘完的找工作辛酸血淚史,找的是我的第一份全職工作,從 2018 年 6 月參加了 Yourator 辦的快速面試,然後口試、畢業、入伍、退伍再花 30 天面試了 11 個職缺後拿到滿意的 offer 準備過年。

由於面試期間受惠於 ptt 及各式部落格面試心得文,因此決定也來寫一篇順便做個紀錄。



背景

國立中(後)段大學資管學碩畢,從大二下開始接觸網頁,一不小心走偏愛上前端,然後一寫就是四年。期間有在小公司實習四年做全端、國泰金控 CIP 暑期實習、校內工讀體驗血汗工程師,平常沒事的話就會找一些 side project 來做,所以算是有一些作品。

除了前端的部分也摸過一些後端、資料庫、Linux、區塊鏈、CMS、React Native,不過都不熟,導致面試中很常被問到我是投前端還是全端的職缺。


職缺選擇

因為興趣以及自己目前最熟的部分是前端,所以履歷全部都是投前端工程師的職缺,再透過職務說明過濾掉技術落後、工作內容無聊、寫明用非 React 的職缺。

選團隊 > 選公司
所投遞的履歷包含了大小公司、新創,甚至是多種產業類別,主要因素是在工作選擇上以團隊作為最主要的考量,作為評斷的條件像是團隊人數架構、開發項目、專案運作、技術使用等,希望團隊中有許多強者可以交流且樂於學習、導入新技術,再來考慮公司福利與薪資的部分。

當然,我也只是個新鮮人,不知道選錯公司或產業別會不會發生什麼事。

當兵會改變一個人
在入伍前我只打算找新創,因為新創給人的感覺就是活潑、自由、技術都很潮,通常薪水也都比較敢給。

但在軍中每天被長官洗腦

你各位想想看十年後你的公司還在嗎?
有哪間公司會提供早餐午餐外散宿還見紅就休?
結婚有補助嗎?
生小孩有補助嗎?
看醫生有補助嗎?
我每年特休xxx天還有xxx天慰勞假

於是開始研究公司福利通常會有哪些,然後找一些穩定成長的中小公司或大公司中帶有新創味道的職缺。


期望薪資

身邊不少朋友應屆就是年薪百萬的人生勝利組,但弱弱如我不敢奢求太多,目標年薪設定在 800 ~ 900k,月薪的話則是期望在 50 ~ 65k,再依照面試表現以及薪資結構開價。

(記得在還沒畢業的時候覺得有點實習經驗然後有一些作品月薪拿個 70k 合情合理吧。


面試清單

總共投了 25 個職缺,14 個有得到面試機會,其中 2 個為 Yourator 快速面試;1 個 hunter 提供;5 個主動邀約,所以自行投遞履歷的面試率為 6/17。

註:以下所提及之薪水 N 為我新訓時期某個做了十多年的班長當時月薪 (k)。

畢業前的快速面試

  1. PRO360 達人網
  2. 活動通

退伍後的面試 (有拿到 offer)

  1. QNAP
  2. 雷技
  3. Yahoo
  4. Synology

退伍後的面試 (沒拿到 offer)

  1. 台達電 (台達研究院)
  2. 17 Media
  3. 風傳媒
  4. 趨勢 x2
  5. 利頡
  6. 宇匯
  7. 研華

1. PRO360 達人網

Yourator 快速面試

在 Yourator 快速面試活動中獲得面試機會,是當天兩場面試的第一場,也是人生的第一場,怕。

是間新創公司,服務內容就不贅述,面試過程大概 15 分鐘,面對的是一位 lead,過程中滿輕鬆的,主要就是自我介紹、講解自己的專案 (面試官説事前有先玩過我的作品,覺得用心),然後問一些 React 相關的問題以及個人專案用 React 的架構設計如何實作,最後就是提問時間。

由於是快速面試所以沒有被問到太多問題,而最後我也有主動提及還有四個月的兵役需要,所以猜是因此沒有下文。

因為是第一次面試為求慎重所以穿了正裝到場,結果發現整個場子只有 3 位左右的面試者著正裝,於是之後面試穿著都走休閒路線XD

結果:無聲卡

2. 活動通

Yourator 快速面試

一樣是在 Yourator 快速面試活動中獲得的面試機會。

快速面試
在快速面試的場地,時間也大約是 15 分鐘,面試官是一位 PM 與一位 HR,照樣是一套自我介紹、實習經歷、個人專案介紹的起手式。

因為時間因素也沒被問到太多問題,大概都是些基本的 js、React、React 跟 Vue 的差異,其中印象最深刻的問題是「做過最瘋狂的事是什麼」。

on-site interview
本來不抱持著什麼希望然後就接到的 HR 打來的電話跟我約 on-site 面試。

到現場後 HR 先來了份像是性向測驗的 google 表單,然後再填一張個人資料表包含期望薪資,接著開始面試。

在面試的前/中有一份紙筆測驗,但我忘記是哪個時間點了XD
筆試是一張紙共 5 題左右,考的題目滿簡單的,像是寫出 for 迴圈裡 setTimeout 去印出 index 的結果以及做字元轉換 (AABBACDC => WWXXWYZY 的概念)。

面試官是一位 PM、一位前端工程師、一位後端 (好像是) 遠端參與,問題包含 SEO、多國語系處理經驗、GA 使用經驗、過往工作的團隊合作經驗 & 角色分配 & 專案運作方式、技術學習的經驗與方法以及針對實習專案提出問題等。

在整個面試過程中覺得相當有機會拿到 offer,但還是因為兵役問題 HR 表示再聯繫。

phone interview
我很聽話的有「再聯繫」,於是退伍的前一個月 HR 來信告知仍有前端的職缺,詢問我的意願與期望薪資,在我回覆後 HR 表示要再請顧問與我 concall。

面試官是活動通的顧問並任職於 Appier 的資深前端工程師,主要是協助活動通的技術問題與 code review 的部分。

面試過程大約一小時,一樣是先自我介紹然後開始問問題,包含:

  • 如何在有限制大小的元素內用 scrollbar 來顯示內容
  • 如何隱藏 scrollbar
  • 解釋 flex
  • flex-grow, flex-shrink, flex-basis
  • css grid
  • mongoDB 使用經驗、為何選擇 mongoDB or NoSQL
  • NoSQL 與 RDBMS 比較
  • React 生命週期 & 16.3 生命週期改變的原因
  • React hooks
  • React 優缺點
  • ES6 語法相關問題
  • array map & reduce
  • closure
  • curry

結束後又跟 HR 來信討論了一兩個禮拜,然而我開的薪資無法被接受,又 HR 表示可以給到 junior 的頂,但都沒有給出明確數字,最終無法達到共識故婉拒。

結果:婉拒

3. QNAP

104 投遞

當時在投 QNAP 的時候看到職缺列表總共有 14 個前端職缺差點傻住,認真的從中挑了 2 個工作內容跟技術比較符合期待的投遞,然後獲得其中一個的面試邀約,地點在汐止的總部。

是一場費時的面試,總共花了四個多小時才結束,包含筆試、技術團隊面試、主管面試、白板題、人資,其中有不少時間是花費在等待下一關的面試官到來。

紙筆測驗限時一個半小時 (應該是,有點忘了),有性向測驗、智力測驗 (我覺得滿難的,可能我智商過低QQ) 和一份超級簡單的 js css 考題,寫完後就到櫃檯交卷然後等待下一階段的面試官到來。

技術面試的部分來了三位看起來跟我年紀差不多的工程師,兩位前端一位後端,面試官人非常好,一直很怕在提問的時候為難了面試者,也是很用心的有先玩過我的作品、看過 code。首先先是面試官們介紹這個部門主要在做什麼以及這個職缺會需要負責什麼部分,接著自我介紹後就開始問一些像 React 生命週期、this.setState()this.state.a = 'something' 的差異、簡易的 css 排版、水平/垂直置中、styled-components 利弊、Redux 概念、過往專案的問題,在問答過程中若沒有答的很完美面試官也會順便做補充。

再來換部門主管進來介紹 & 小聊一分鐘,然後就被帶到一間有白板的會議室等待,而後進來了一位我也不知道是誰反正就是負責來考白板題的面試官,題目是 leetcode 第 20 題。由於沒有白板題經驗,所以沒跟面試官有什麼互動就開始動筆了,完成後面試官表示「好像沒什麼問題」然後拍張照就走了。

最後就是跟 HR 聊天然後收工回家。

結果:面試後 2 ~ 3 天 offer get,(N + 2) * 17 (HR 表示 17 是表現普普通通的人能拿到的數字)

4. 雷技

104 投遞

位在南軟的接案公司,同時也有開發自己的產品。

收到面試邀約的同時得知要先寫作業,用 Angular 做出一個跟 這個 一模一樣的頁面,在此時才知道這邊可能是以 Angular 做主要開發工具,但我還是接受了這個挑戰邊嗑官方文件邊刻 TODO List。

到了現場先由 HR 帶去會議室做紙筆測驗,題目主要是考 ES6 特性如:

  • var, let, const
  • spread operator
  • arrow function 跟 this
  • hoist, TDZ

其他還有像是在 Promise 內外呼叫 console.log() 判斷印出的先後順序,另外有 4~5 提的加分題都是 RxJS,不過我技能樹還沒點到那邊所以都留白。再來還有兩題英文測驗,主要是能夠解讀客戶所寄來的英文 email,再依題目指示以英文撰寫回信內容。

接著則是跟一位工程師與一位主管進行面談,過程中不需要自我介紹,直接從 TODO List 的作業開始討論起,關於架構或是寫法有疑慮的地方,以及如果要透過 TODO List 的概念延伸成記帳系統要怎麼實作,又若要加入 undo、redo 功能會怎麼實作。其他問題則像是 Redux 概念、過往專案及實習經驗、最有成就感的專案、對這份工作的期望,再換面試官介紹團隊與開發項目。

技術面試完後換總經理 (沒聽錯的話) 來聊天,人非常的親切,這個階段主要在整個公司的架構、營運、發展以及談薪資,整個過程都有說有笑,還看著我在 104 上填的對低期望薪資開完笑的說前端是不是都很敢開薪水,但還是説試用期後可以達到這樣的水準,最後表示會在兩天內給予回覆。

整個過程大概花兩個小時,HR、面試官、總經理人都很好,面試體驗相當不錯,也是一家算敢給的公司,唯一缺點就是辦公室感覺略小有點擁擠,若是不排斥接案且有興趣往全端發展的話可以來投投看。

結果:面試隔天 offer get,(N + 4) * 13 + 績效 + 專案獎金,試用期後 N + 7

5. Yahoo

主動邀約

還沒退伍的時候就有看到 Yahoo 的職缺,並且對於福利的部分相當心動,但因為覺得自己準備還不夠、面試經驗還太少而且尚未完成英文履歷所以就還沒投遞。結果很幸運的在後來收到了面試邀約的信,此次職缺是電商 team,面試包含 phone interview 及 on-site interview。

phone interview
大約一小時的時間,一開始先簡短自我介紹,然後面試官會給一個 CodeSandbox 的連結,裡面有兩個用 react 做出來的頁面。第一個頁面是列出了數個題目,需要口頭回答或是直接改 code 修改頁面中的元素,而 css 的部分都是使用 styled-components,題目主要是一些 css、事件觸發、前端安全相關的。

第二個頁面是一個樣式不完整的商品卡片,就是一個 container 中會有商品名稱、照片、資訊、價格、按鈕,需要修改 css 以及加入 click 事件與修改 state 等。

coding 的過程都可以自由 google 或是跟面試官討論,氣氛滿輕鬆的,最後則是跟面試官小聊以及提問時間,然後我說我等 on-site 的時候再一起問,面試官回了「哦~這麼有把握會過就對了」,我才意識到好像有這麼一回事XD,不過如果問了一堆結果沒過好像也沒什麼用。

on-site interview
在面試前就有先提醒會花掉整個下午的時間,過程包含了 HR、技術、主管三個階段,並且需要自備筆電因為需要 demo 及 coding。

一開始先由 HR 帶我大略參觀一下有吃不完的食物和飲料的地方,然後被帶到會議室做基本的訪談,只能說 HR 超親切然後一直要我不要緊張,過程就像在聊天討論一些過往經歷、公司福利、薪資結構等等。

下個階段進來了四位工程師,其中一位是 phone interview 的面試官,而接下來的面試流程也都是由這位面試官作主導,直接不囉唆開始分享螢幕畫面 demo 自己的作品,之後就針對這些作品做提問。在處理完作品後就由面試官輪流出題,包含口頭回答以及實作程式,主要在考對 JS、React、styled-components 的熟悉度,另外也有幾題演算法、前端安全相關的題目。

最後一階段是由 phone interview 的面試官與另兩位主管進行面試,整個過程比較像是在聊天然後了解我的過往經歷以及部門概述,中間也穿插了一些問題像 Restful api、HTTP status code、React hooks、JSON v.s. XML 等。

此次面試花了四個多小時,但過程很輕鬆沒什麼壓力,反而是都帶著愉悅的心情,所以就沒有覺得面得很累或燒腦。

結果:面試後 2 天 offer get,(N + 21) * 13 + 績效

6. Synology

104 主動邀約

在拿到 QNAP 的 offer 後就收到 Synology 的面試邀約,這是巧合嗎?我不這麼認為

因為號稱是白板題大魔王,面試前特別緊張,也去惡補了些資料結構、演算法、時間複雜度的題目,希望不要被電得太慘。

公司位在板橋亞東醫院旁的台北遠東通訊園區,面試共五個階段,一開始會先被帶到小會議室填寫基本資料與筆試,內容以 css 為主,再加上一些簡單的 HTML、JS 題以及多國語系、過去工作經驗的題目,到後來才知道這是設計部門難怪這麼重 css。第二階段就由 HR 進行訪談,但關於薪資的部分是直接跟最後一關的部門主管談,不過 HR 的說法害我一直以為下一關就是主管,結果進來的都不像主管,搞得我好亂R。

第三階段的面試官是一位工程師,帶著一本筆記本開始逐一提問,但面試官的手抖得像他才是面試者(?!),問題也是圍繞在 css、多國語系處理,都是一問一答,不太有問題延伸或反問的狀況。

第四階段是由一位前端與一位後端負責,先是自我介紹再換面試官介紹部門及職缺接著換我提問,過程中面試官沒有多問一些作品、工作經歷、技術的問題。然後就是期待已久的白板題,不過只有考一題 sort,再來就由面試官問一些實際應用會遇到的問題,像是在手機上要用什麼方式呈現很多欄位的表格、實作多國語系時候可能不同語言的文字長度會差很多則頁面要怎麼設計、如何實作如網路銀行頁面的「300 秒後登出」並能同步其他分頁。

最後一關終於等到了部門主管,主要就是在談薪資的部分,主管看了我在一開始的表單上填了期望月薪 N + 5 就開始介紹薪資結構然後說明這邊月薪都是比較低的,接著開了個 N - 3 的數字給我並表示完全可以達到我的期望年薪,所以我也就欣然接受了。不過主管也表明這邊是設計部門有許多追求完美的設計師,在頁面排版上會被叼得很精,以及在開發過程中可能會有很多「等待」或是與設計師大量往來的狀況,另外是主管好像也是走設計的,從對話中感覺分不太清前端跟後端呢QQ

最後的最後又給了份作業,附有 spec 跟一堆圖片,要做頁面的排版。

面試時間大約三小時,面試強度不像爬文所看到的那樣可怕,可能因為是設計部門的關係,另外面試官也透露在這幾乎不加班。

結果:面試當場口頭 offer,(N - 3) * 20 (部門主管説年薪這個數字沒什麼問題,算了一下至少 20),雖然月薪很低,但可預期的年薪應該是有拿到的 offer 中最高的。

不過績效的部分拆在隔年四季發放,分成 40%、20%、20%、20%。

7. 台達電 (台達研究院)

104 投遞

透過 104 投履歷後兩天左右就接到面試邀約,地點在內科法拉利對面。面試一開始由 HR 帶到小會議室填基本資料跟期望薪資,然後聊一些人格特質、過去經歷的部分,接著就換技術面試。

面試官是兩位前端,看起來都很年輕,一樣先是自我介紹然後開始輪流問問題,主要是問 React 相關如生命週期等、列舉 ES6 有哪些新功能(語法)、討論過去實習的開發經驗。兩位面試官也很用心的有先玩過我的作品、看過 code,就順便討論作品的架構、細節,然後要我 demo 一個有做 RWD 的作品。

總共花了約一個小時,整個過程都聊的很和諧,並告知若有通過會有第二次面試。

結果:無聲卡

8. 17 Media

f2etw 投遞

很早就有在 f2etw 上看到 17 的職缺,但覺得自己實力不夠所以遲遲沒有投,可是 104 丟了一堆都還沒有反應只好硬著頭皮先投個 17 了,結果當天就得到面試邀約的回覆。

在面試前 HR 會先寄人事資料表來填寫再於當場簽名,接著就由前端主管來進行面試。總共花了近 5 個半小時包含一份免費的便當當午餐,在技術的面試部分都只有前端主管一人負責。

一開始面試官會先詳述此職缺的背景、內容等並告知面試流程且便當已經訂好了,接著換我自我介紹然後就進行 live coding,會是由面試官提供一台 macbook 做使用,在 30 分鐘內解完題目,且重點是程式的可讀性。這次的題目是輸入一 number 輸出三位一逗號的 string (123456 => '123,456'),解完後就如同其他心得文中看到的一樣面試官會細心的一起討論解法、邏輯、演算法、可讀性,會針對有疑慮的地方再進行改善。

接著則是 code review,這邊面試官打開一支 JS 給我要我找出裡面需要改善的地方,大致是:

  • 變數命名
  • 全域變數
  • if (a = 1) {}
  • function 回傳格式不可預期
  • if else if 語法
  • 多餘判斷式
  • 架構設計

這邊可以是邊看 code 邊回答或是先看完再回答,面試官一樣會一起討論每個回答的理由,或是可能有其他種更好的做法。

午餐的部分在辦公室的公共空間跟前端團隊一起用餐,順便聊一些比較輕鬆的問題。個人覺得有免費午餐跟飲料機是很誘人的福利R。

下午場則繼續技術問答,主要是問對於 this、closure、prototype chain、scope (var, let, const) 的了解程度以及效能問題,再穿插著一些非技術問題像是自我人格特質描述、期望的工作環境、工作目標、特別排斥的工作狀況,為了讓面試者能更了解 17 的環境是否與期待相符。

最後就換 HR 一連串的福利介紹、背景 & 人格調查、提供期望薪資的部分,並表示會在兩個禮拜內給予回覆。

結果:面試後 1.5 週收到感謝信

在收到感謝信的隔天 17 就發生了大規模的人事異動,而此職缺的狀態暫停招募(而非已招到人)。然而面試過才發現原來 17 規模這麼大,非常大的開放式辦公室,電梯門口還有人高馬大的保全,工程團隊就 80 逾人,其中光前端就 21 人,但這已是人事異動前的數據了。

9. 風傳媒

hunter 提供

在內科洲子街,由 hunter 安排的面試機會,整個面試過程都是跟一位工程師及 CTO 互動,一樣是先自我介紹然後問問題,大致如下

  • 論文內容、架構
  • 近期對前端的趨勢觀察
  • 近期所學的技術
  • 何謂 PWA
  • 是否知道 polymer
  • 為何使用 React 開發專案
  • 實習經驗、專案
  • 何謂 CORS
  • 何謂 XSS
  • 何謂 CSRF
  • 何謂 Restful API
  • 何謂 Redux
  • 何謂 GraphQL
  • 何謂 JSONP
  • HTML element id & class 差異
  • 以 id or class 選取 element 的效能差異

不過對這邊而言前端開發的需求只是去少量的維護官網,然後會希望能跨足 React Native 以及後端開發,也表示可以漸進學習慢慢增加非前端的項目,但我仍然是以「前端工程師」的角度談薪資,所以我想應該不會有人會開這種薪水聘一個半殘的全端。事後 hunter 也表示若有通過面試通常會告知有作業或二面的部分。

結果:無聲卡

10. 趨勢

104 主動邀約

其實本來是透過 104 投遞 A 單位的前端缺可是遲遲沒有下文,結果某天收到 HR 來信邀約面試後端職缺,但全職後端我實在無法勝任,於是回覆婉拒並詢問是否有相關前端職缺,然後就收到 B 單位的前端面試邀約了。

前端職缺面試前不用做 codility 測驗但需要寫一個作業如 ,簡單來說就是要依照所提供的 spec 做出一個 datepicker component,然後附上文件,且要支援 IE11,另外若有處理 RWD 或不使用 create-react-app 這類工具則有加分。

到了現場後被 HR 帶去小會議室做紙筆測驗,然後再此時被告知待會有 B 及 C 兩個單位的面試。筆試的部分滿簡單的,考的是 js、css 的基本概念以及 ES6 的特性。

第一個 team 的面試官是一位主管一位前端,而第二個 team 是 TIC (luwak),面試官是一位主管與兩位前端,TIC 的這場面試應該是我所有面試經驗中最硬然後被電最慘的一場,兩個 team 的問題統整大致如下:

  • 如何不用 !important 覆寫原有樣式
  • 論文內容
  • 在過去專案中遇到最大的困難,如何解決
  • Redux
  • React 優缺點
  • React 生命週期
  • 過往專案從 jQuery 重構成 React 有什麼好處
  • 說服面試官從 Angular 7 轉跳到 React
  • 本來要問 Promise 但面試官說我應該不會所以沒問 (?!
  • 在過往團隊中遇到不合理的需求要怎麼解決,詳述當時狀況
  • 何謂 firebase,了解得多深 (因為我有提到專案有用到 firebase)
  • 前端安全性問題,XSS 之類的

最後就是 HR 來講解福利、薪資結構然後問期望薪資跟比較喜歡哪個團隊,整個面試過程大概花了兩個半小時。

結果:面試後 1.5 週收到感謝信

11. 利頡

104 主動邀約

直接講在前頭,這間的面試體驗是所有經驗中最差的,但很推薦來面試針對自己在比較原理層面的知識做健檢。至於原因則是面試內容很死,像在期中考考名詞解釋一樣,而其中比較活得題目卻像在幫他們寫作業,因為是他們正面對到的客戶需求。

這是一間做接案的新創,其實本來有打算主動投遞,就在我把它記錄到我的已投遞清單後就忘了按下應徵按鈕,結果一陣子後收到邀約通知害我愣了一下。

面試只有一關,由前端主管 + 後端主管 + PM + 一位從頭到尾都沒有出聲的工程師進行面試,PM 負責面試流程與薪資福利的部分以及一些通常是 HR 在問的問題,問題的部分都是由前端主管與後端主管提出。一開始一樣自我介紹,而當我在介紹個人專案的部分就被打斷並說待會會實際 Dome 讓我很期待,但到最後還是沒有給時間 Demo。

首先前端主管問說有沒有過去實習、工讀的專案可以 Demo,接著就開始問些名詞解釋,如:

  • this
  • closure
  • hoist
  • event loop
  • bind, call, apply
  • scope (var, let, const)
  • stack, 舉出以 stack 實作的案例
  • queue, 舉出以 queue 實作的案例
  • Map, Set
  • Restful api
  • cookie, session
  • 時間複雜度
  • Design pattern
  • HTTP stateless
  • 前端如何縮短呼叫 API 所花費的時間

中間穿插了一題紙筆測驗,要將原本的 code 重構並增加通用性,且限時五分鐘。系統需求是計算機功能 (僅處理 operand operator operand 的算式),而題目的 code 是透過 switch case 去判斷 operator,但日後客戶會提供上百種非正規的 operator,依此條件重構。

另外一題則是考 pass by reference 的概念,題目大致像這樣

let a = { a: 1 };
let b = 1;
let c = { a: 1 };
let d = { a: 1 };
function change(a, b, c, d) {
    a.a = 2;
    b = 3;
    var c = { a: 100 };
    d = { a: 999 };
}

change(a, b, c, d);
console.log(a);
console.log(b);
console.log(c);
console.log(d);

過程中面試官也都很友善,對於回答不出來的問題大多也會給予解釋或線索,可以回家再好好研究。

結果:面試後 2 週收到感謝信

12. 宇匯

主動投遞 + 內推

由朋友推薦然後自行投遞履歷給用人主管,在一開始就遇到了認知落差,主管要我看過 104 的職缺內容且認定我會看到其中「完成 hw0 並回傳」而開始寫作業,但我以為那是求職者透過 104 投遞履歷的流程所以就略過了,直到過了一個禮拜還沒有回音我才意識到了什麼。

這裡的面試流程相當的特別,首先繳交 hw0 後主管們覺得有哪裡回答得不好或有改空間會被要求再回答一次,接著就被加到一個面試用的 slack channel,而之後的流程包含了線上 coding 測驗、作業、現場面試與程式實作、與 CEO 聊天。

線上 coding 測驗的部分是透過 slack 分享畫面的方式進行,總共三題,分別是考

  • 讓同個 function new 兩個 instance 並有相同的 reference
  • 使用 native javascript 操作 DOM
  • 給一個數字陣列與一數字 k,找出陣列中有幾對數字相差為 k

另外只能使用 ES5,且會要求時間複雜度,過程中氣氛非常的自在,遇到問題可自由 google 或與面試官討論。

然後...就沒有然後了,因為已拿到滿意的 offer。不過滿推這間的,面試的感覺很舒服,起薪也算不錯高 (55k+),另外據說是沒在加班的而且似乎充滿了強者,至少在裡面的朋友都很強 <(_ _)> 。

不過缺點是面試流程拖的很長,有興趣的話可以早點丟履歷。

結果:中離

13. 研華

104 投遞

投了近一個月才收到面試通知,不過面試前就收到滿意的 offer 惹。


面試準備

你各位有空就把單戰拿出來背啊,還發呆啊
我在退伍後的第五天開啟了面試的旅程,為了早點找到工作上工領錢所以不像有些人會在退伍後先玩或先準備個一個月再開始找工作,因此我只剩在軍中的時間同時要吸收新知和努力讓腦袋不要退化。

可是雖小如我,新訓時沒得用手機,二階段時一週只一次使用手機的時間,所以不可能靠一些現代的方式來複習&準備面試,但從新訓結束後每天醒著的時間大概有 1/4 ~ 1/2 的時間在發呆,剩餘的時間都在做跟昨天一樣的事,想想再這樣下去不行,於是造就了平時沒有讀書習慣的我居然讀完了四本書 (歐萊禮 JS、網頁、css、UIUX 相關的書 & clean code)。

放假的話就是吸收一些新知、努力跟上陽間的趨勢,然後很重要的是找東西來寫,不論是 leetcode 或改改自己的專案,維持手感。

Leetcode
不一定要刷,但如果你手邊沒有正在進行的專案,可以刷刷 leetcode 來維持手感,就算都只刷 easy 的也好。

考古
面試心得文、考古題必須爬過,除了面試題目很容易命中,也可以先大略了解面試流程,讓自己對整場面試更有把握、信心,然後順便蒐集題目當準備的內容。

不慌不忙
我習慣在面試前一小時到離面試地點最近的超商休息、悠閒吃早餐午餐然後順一下待會要講到的內容與題目的準備,並在面試前十分鐘抵達現場。

主動出擊
自己習慣是把所有學經歷、擅長技術、實習經驗及專案、個人專案介紹全部在自我介紹的階段全部講完,就算面試官只是叫你「簡短」的介紹自己或是說只給你五分鐘,帶著自信的眼神與口條把專長與優勢展示出來,以免面試官沒有問到可以展現自己能力的部分。

不要講沒把握的東西
在面試中主動提及的任何內容都必須是有深刻理解的,如擅長技術、使用過的工具、開發過的專案等。

累積題目
把每場面試所遇到的題目都記錄下來成為下一場面試的準備內容。


面試問題彙整

非技術類

  • 你上來台北面試那要住哪裡
  • 團隊開發經驗
  • 過往開發上遇到不合理的需求如何處理
  • 過往專案的團隊人數、分別是什麼角色、自己是擔任什麼角色
  • 有沒有與設計師合作的經驗
  • 選擇工作的條件與排序
  • 對這份工作有什麼期望或規劃
  • 最有成就感的專案
  • 開發上遇過的困難,如何解決
  • 過往如何學習一個新技術
  • 形容一下你自己
  • 別人都是怎麼形容你的
  • 自己的優缺點
  • 過往開發專案時團隊如何運作與分工
  • 最近學了什麼技術

技術類

JS

  • ES6 feature
  • this
  • closure
  • hoist
  • event loop
  • Promise
  • performance

CSS

  • box model
  • selector priority
  • float
  • flex
  • css grid
  • media query
  • inline, block, inline-block

Web

  • event bubbling
  • SEO
  • browser rendering
  • RWD
  • CORS, XSS, CSRF
  • cookie, session
  • restful
  • HTTP status code

React

  • Pros & Cons
  • compare with Vue / Angular / jQuery
  • lifecycle
  • Redux
  • styled-components

結論

在一個月面試了十幾個職缺說多不多,但心滿累的。面試時間安排上都是以面一休一為原則,這樣有比較多時間可以休息並充分準備下一場的面試,也避免一天安排兩場結果第一場延誤到第二場時間的狀況。

運氣重於實力
就像有興趣但還沒投履歷的公司突然找上門,或是可能在某場面試的表現意外的優異然後就拿到 offer 之類的,請把握好每次面試的機會並做足準備,且不要對面試結果得失心太重。

感謝發感謝信給你的公司
沒有昨天的感謝信,沒有今天的 offer。
基本上前期的面試都算是在累積題目跟經驗,拿到感謝信是常有的事,就算有拿到 offer 但不夠完美的都可以考慮放掉,而當你把自己後路都斷了也會更認真看待及準備後續的面試。

不要投沒興趣的職缺
有些人會建議多投履歷增加面試經驗,但我覺得光奔波面試有興趣的職缺就夠累了,如果還不小心拿到 offer 然後腦波弱就尷尬了,所以請把心思放在準備下一場你有興趣的職缺面試。

碩論做什麼好像不一定很重要
印象中只有兩三場左右的面試有問到關於論文的部分,而且重點也主要在 React Native 上 (我的碩論是以 RN 實作),不過可能也是因為我幾乎沒有主動提及論文的部分,就如同上面提到的「不要講沒把握的東西」。


最後感謝你的觀看,希望有幫助到對前端職缺有興趣的你。
(本文同步發表於 Medium)


其他前端文章