「 ThoughtWorks面試 —— 一次愉快的技術交流 | 掘金技術徵文」

yacnlee發表於2019-03-04

前言

  作為一名前端程式猿,ThoughtWorks的面試在一定程度上衝擊了我的認知,面試過程中不僅讓我瞭解了自身優勢,也對自己不足有了很深的認知,拋開面試結果來說,整個面試過程就是一次愉快的技術交流。

簡歷投遞與試前準備

  很久以前就對TW有所瞭解,由於自己的不自信和一些其他原因一直不敢嘗試,最近收到了朋友的面試推薦邀請(內推),便抱著試一試自己與大企業的差距的心態投遞了簡歷。開始針對TW的企業文化以及技術棧等方面進行準備,因為招聘技術站上react技術佔比偏重,於是重點複習了react相關的知識(事實證明大企業需要的不是某方面的技術,而是對基礎的掌握,以及學習擴充能力)。

主要複習知識:
    1.react生命週期
    2.react-router4
    3.redux,mobx以及二者的區別
    4.http協議
    5.前端優化以及響應式設計
複製程式碼

電話面試

  簡歷投遞當天便收到了HR小姐姐的電話,問了我很多關於專案上的問題,從一個專案調研到開發過程中經歷的事情,從專案前期技術準備到後期上線維護,中間問的最多的就是我對這個階段的個人理解與參與情況。最深刻的問題是我在做過的專案中遇到的最棘手的問題是什麼,如何去解決的以及除此之外是否有其他解決途徑。碰巧在前不久,專案中遇到了一個關於動態路由與頁面快取問題,於是我就這個問題的解決方案以及個人想法進行了詳細的描述,另外列舉了解決中的不足以及後期的改進措施。
  電話面試可以看出這個階段主要是考驗面試者的表達能力以及語言溝通能力,另外就是平時學習積累的途徑和對問題的反思總結。

家庭作業

  電話面試結束後,HR給我發了一個家庭作業到郵箱,要求在限定時間內提交作業,作業是一個有四個解析度適配的小專案,需要高保真百分百還原設計圖,另外有單元測試的加分項。有前車之鑑,所以我拿到作業之後就開始著手用自己最拿手的技術棧去做這個專案。作業過程都是很熟練的元件式開發,其中最花費時間的便是響應式設計,由於響應式這一塊之前接觸的比較少,所以在每個元件的各解析度顯示上花費了很多時間,超出預期所以還申請了延長時間。
  筆試階段綜合考察了面試者的編碼能力、學習能力以及解決問題的能力,以真實專案的完成度上了解面試者的水平。寫作業最好選自己最熟悉的技術,不然時間會來不及,影響真實水平的表現。

兩輪面試

1.結對程式設計

  第一輪面試有兩位面試官,這輪要求是在上次作業的基礎上再新增新功能,過程就是很有特色的結對程式設計,在兩位面試官的陪同下一起完成功能擴充。期間一位面試官會要求我先列出完成新功能的步驟,另一位面試管會對我程式碼不合理的地方進行指出,比如函式形參我喜歡用的params,但這是一個無實義的引數,所以建議改成實際對應的agent,諸如此類的建議。兩位面試官在作業過程中的建議還會有所不同,另外我有一個失誤的地方,就是在一開始家庭作業時封裝的一個模態框元件提取的不夠細,導致後面新增功能的時候需要複用到這個模態框元件時只能重新複製一個出來修改。
  功能完成後,兩位面試官與我就封裝過程以及元件提取進行了意見交換,問了我一些關於vue與react的異同,與專案實踐上的區別。

2.問答環節

  緊接上一輪面試幾分鐘後,第二輪兩位面試官進來了,這次帶著我的簡歷(好像滿篇簡歷都有所勾畫),按照簡歷所寫進行問答。兩位面試官問題方向有所不同。
  一位主要是問專案相關,問了許多從專案調研,技術選項到開發人員之間的交流,與設計、產品之間的溝通等問題,另外對於自己對需求的看法以及意見提出,意見是否採納,解決途徑等問題進行溝通。另外對於平時專案的完成度、加班情況進行了詢問,我理解的意思是儘量提升自己的效率,在工作時間段完成目標作業,而不是靠加班去完成,不提倡加班。
  另一位面試官主要是詢問關於自身學習方面的問題,從最開始是如何進入前端的,學習前端的途徑是什麼,平時是否有閱讀愛好,我寫了有對新技術的調研,就問了我瞭解的最新的技術以及看法,我就講了一下最近node.js作者新開源的專案deno,然後問了一些經典的前端問題,例如css的集中居中方式,響應式設計等等。
  至此面試結束,總的來說對這次面試的表現很滿意,已經超出了我的預期,能夠把我所瞭解的熟悉的擅長的東西展示給面試官,面試過程完全沒有緊張感。

結語

  從作業到面試整個過程都很順利,面試反饋中也知道了自己的閃光點與不足之處,另外收到的最深刻的建議是專案每個人都會做,學會怎麼讓自己與眾不同脫穎而出。已經收到了TW的offer,最近就會入職,在技術雲集的氛圍裡去繼續提升自己。希望這邊文章對將要面試TW的朋友有所幫助。

相關文章