今天去面試前端工程師的經歷,讓我跨出了一大步

Krong1997
May 6, 2022

--

今天下午,我剛面試結束,過程中的聊天算愉快

面試我的有三位

  1. CTO
  2. 前端Leader
  3. 後端工程師 (是個外國人)

其實我英文一直都不是很好,當初投這公司的面試的時候可以說是豁出去了

面試開始之前,我問邀請我入會的前端Leader說,請問是全英文面試嗎?

當下超害怕對方回我說: 「沒錯,就是全英文」

還好後來是說,盡量用英文就好,不行就中文沒關係

沒多久,人都到齊了,開場就是自我介紹,打開我的英文自我介紹

中間夾雜各種google翻譯出來的東西,以及拼湊出來的簡單英文句子

雖然講的過程中會抖,但起碼還是把他念完

簡單介紹後到了技術環節,就可以用中文了

首先就被問到我的github裡面的某個小專案

被問到的當下我只能說我困惑了,因為我根本不記得自己寫過

後來看了下應該是之前做測試的時候用的

但我真的看不懂三年前的我到底在做啥,即便我有寫readme

隨後就是問到我近期的專案,問說我是否知道某某東西

說真的很多東西大多第一次聽到

接著就是Live coding環節,內容不難,是個簡單的React專案

就是三個人看著我改code,對方要我想改就改,不一定是說只有bug

由於我平常工作就很常寫code給人看,不會說到很生疏

所以就是把我平常工作習慣直接展現出來

把各種結構先元件化,狀態分離之後再開始看問題

順手修了些bug,最後就發PR等著code review

發完PR之後就開始問我一些問題

  1. 面是我的後端工程師問我說,怎麼去trace別人的library?
  2. 如果library是閉源的呢?
  3. 有沒有看其他open source

這問題確實不錯,之前在研究react-table的時候

因為他們是開源,所以我是可以clone下來直接跑原始碼的

當初就是直接下log去看,只要流程大致了解就好

閉源的話則是因為前端有瀏覽器開發工具

可以大致看看流程,但如果code都編譯過的話,可能就比較沒辦法

看其他的open source的部分,就提到我上次稍微瀏覽過的grafana

因為自己要做的功能跟這塊有點類似

所以觀察他們怎麼處理複雜的狀態

就將類似觀念帶到自己的專案當中

接著是前端leader問我問題,比較有印象的是下面這問題

「對於React 從class發展到推薦用function有什麼看法? 」

我對這很有感

早期學React的時候,當時的我懵懵懂懂

對於class等物件導向寫法一概不通

所以看到class說真的很多東西運作原理都不知道

直到最近因為有用到,才漸漸理解這些概念

所以我覺得React轉而推廣function

也有可能是因為想要推廣他們的語言

因為滿多寫前端,可能是ES5起來的

對於class並不熟悉,所以改用function可能會比較好上手

後面還有問到說 ES6 的 async 與 Promise 有甚麼差?

其實細講來說我並沒有太多研究,只是就理解上來說

async是回傳一個Promise物件,而Promise就是宣告這個物件直接定義他後續的行為

在我專案上使用的時候,async可以帶來更好的可讀性

但是我覺得,我並沒有很深刻的去理解這兩個差異

問問題結束之後,後端工程師就先離開會議了

接下來則是CTO跟前端專案leader繼續跟我聊天

基本上就是互相交流提問

那也講到對方在經營公司的理念、原則與文化

大概統整下來是這樣

  1. 彈性上下班,全遠端上班
  2. 原則就是功能要準時、程式要品質
  3. 只要工作有達成,不管你在哪都可以,想半夜才工作也沒關係,會有人陪你(?)
  4. bouns 會按照團隊工作的負擔來給,誰付出多少他都會掌握
  5. 團隊內員工很會幹話,且容易中英文夾雜

最後,我問了對方我是否還有要精進的部分,無論個人特質或是技術?

得到了CTO滿不錯的肯定,說在應對上他覺得算不錯

也知道英文不是我的強項,但至少願意準備

而前端Leader則是建議我多多去研究JS、React的基礎

不要只是追最新技術或是library,把基礎打得更穩

總結下來算是滿愉快的交流,雖然不知道能不能二面的機會

但確實也是不少收穫,尤其是第一次用英文自我介紹

讓我的膽量也提升不少,連很破的英文都敢說,中文的應該沒問題吧XD

對方的團隊規模也相當大,詢問下來也發現到說原來有許多自己不知道的工具以及技術

這次的面試收穫滿滿,也期許自己可以繼續成長

--

--

Krong1997

在前後端來回打轉的工程師,還有很多要學習的地方~ 曾經有個直播夢,所以頭貼就放這樣了。寫文的初衷是紀錄與分享,因為初學時期就是靠這些度過的。