記Thoughtworks一次糟糕的面試

金三胖發表於2019-04-22
       Boss直聘上投了TW,三月某個週二的下午,TW電話過來。問一下離職原因,我說目前業務方向不對。HR介紹了一個TW,問從哪些途徑瞭解TW等。談到TW的分享文化,我表示我在團隊裡面也經常分享。這樣,你情我願,上車了。HR說給我發一個Homework,讓我三天內完成。
       我回來檢視一下郵箱,初步評估了下,Homework嘛,應該不是什麼大專案,4小時內可以完成吧,就答應了週五晚上提交作業。
       Homework目錄,pdf裡面介紹了一下專案要求,ASSETS有一些切圖和大圖,後者就是前端寫靜態頁面需要的PSD或者Sketch檔案,但是這裡給的圖片。於是只能把這個圖片放到Ps裡面取色和測Size。另外有部分標註,但是並不全。上來這種殺馬特的風格,寫靜態頁面的條件是艱苦的。這裡有個插曲,我拿到Homework,開啟pdf,pdf裡面有一些截圖,但是不清晰,我以為這部分就是設計稿和標註, 讓HR再發一份。HR回面試官說不影響完成作業。

目錄結構:

記Thoughtworks一次糟糕的面試

主要需求就是完成這個:記Thoughtworks一次糟糕的面試

       因為上班995, 通勤時間3小時,工作日沒時間,就找HR申請延長兩天。週末邊帶娃邊寫程式碼,我用vue-cli生成單頁應用,加了vue-router,寫了基本的框架。大概花了4小時,把Homework提交了。

       4-3日HR反饋:作業完成部分工程化不錯,讓清明節假期繼續完成全部作業。我以前在外企待過,比較扁平,同事比較Nice,而且在網上經常看到一些TW的技術文章。再看到面試官的反饋,我想如果我繼續花時間完成作業,這工作可能就穩了。

記Thoughtworks一次糟糕的面試

       然後清明節我把娃支開了,寫了兩天程式碼。基本的封裝,navbar,sidebar,appmain,公共樣式都寫了。好,作業提交過去。 

        三天後,中午12-15點面試,自帶電腦。地點大沖商務中心,高大上。進公司後,比想象中的差了點,不是很活潑吧,第一印象是這樣的。在公議室坐穩了,倆面試官進來,介紹了一下他們的名字。看年齡大概28,28吧。

面試官:HR讓你提前裝Zoom了嗎
我:沒有
連上外接顯示器後
面試官:說說你的工程結構
我:....
面試官: vue腳手架生成的index.html和App.vue裡面都有 id=“app”,你怎麼理解的?
我:呃,實際上頁面上並不會渲染兩個id="app".這個我一時看不出原因。

面試官:作業裡building和idle有兩個icon,你為什麼沒做呢
我:漏了。
面試官:現在完成
我一邊寫,面試官一邊說字號大小,顏色等。
面試官:這個icon圖片給到了嗎?
我:有icon font
其中build下邊的齒輪icon是勻速轉動的。我用css3轉動並不均勻。其中一個面試官說balabala,試過沒作用,另一個說少個linear。但是怎麼加,我不知道,百度一下,搞定。
面試官:好。接一來,增加一個功能,40分鐘內完成。
我看看紙質需求文件,需求是加一個Add Agent按鈕,點選按鈕彈框,彈框裡面有幾個input和按鈕,點確認新增Agent. 考慮了一下,這功能可能要花我1個多小時。於是開始緊張的寫程式碼了。先新增按鈕。
面試官:這個按鈕的樣式可以copy其他按鈕的樣式
我:不是很方便找到其他按鈕的樣式,我習慣自己寫。(vue檔案template、js、css混在一起,我並沒有分離。另外MBP寫程式碼並不多,其實小屏也難操作的)
面試官:你一般寫樣式不在chrome裡面除錯嗎?
我:有些樣式我是確定,只有不確定的才會在chrome裡面除錯
我:樣式這些東東是耗時間的,我先完成js邏輯吧
面試官:為什麼呢
我:40分鐘內我完成不了增加的功能,優先完成js邏輯比較有說服力。

中間卡住了,eslint報錯。iTerm裡面並不會指出哪裡報錯了。我加了/* eslint-disable*/也不行,很奇怪。
面試官:xx行 error,把eslint關了就行
我:有error關eslint也不解決問題呀。這裡是warning.
面試官:xx行,加個空格
我改了,依然報錯
面試官:改eslint配置
我:對不起,時間不多。我先按我的思路來
我關掉iTerm,開啟vscode的Terminal, 哪一行出問題,直接顯示了。解決之。
接下來處理收集表單資料,查mock-server add item的API。面試官提示了一下,增加資料成功。

面試官:時間差不多了。可以了。你覺得你剛才有什麼要改進的地方嗎?
我:呃。。。你們說說看吧。
面試官:元件如果提前封裝了,可以節省很多時間。誤敲後,回退,沒有用快捷鍵。對vue腳手架生成的專案理解不夠。對eslint不熟悉,又拿來用。
我:有面試者40分鐘完成增加的功能嗎?
面試官:有,寫iOS的都有完成的。

然後等來的結果是:對不起。HR過來反饋,說結對程式設計和麵試官互動不行。

     我解釋一下,面試官的建議哈。
  • 元件提前封裝:大的元件才會封裝,按鈕和input框定義基本的公共樣式即可,若出現幾個相似的按鈕和input框才會封裝元件。現公司的專案按鈕也沒封裝,為何Homework你希望我封裝呢。另外這個按鈕的樣式和Deny按鈕類似,icon加文字的。但是實際上Deny按鈕的顯示在作業文當裡面並沒有說明,我也就沒有做Deny按鈕。
  • 後退快捷鍵:這個建議不錯。不過不會快捷鍵並不會影響太大。
  • vue腳手架理解不夠: id=”app“這塊的確卡住了。實際專案裡面用的是多頁應用。這次用SPA是第一次用。畢竟之前鼓勵我的把專案寫下去,我都花了大量時間,面試官是不是應該找找專案裡面的亮點呢?
  • eslint不熟悉: 面試官自己也不熟悉,出一堆主意,沒作用。這東東用到就查,只不過當時時間不允許。

        這是我大小100次面試,體驗最差的一次。TW讓我花這麼多時間做作業,換來這樣粗糙地打發面試者。既然引誘面試者花那麼多時間完成作業,為什麼不重點考核作業呢?結對程式設計新增功能,大部分時間要花在樣式上,而樣式很多時候是要花時間調的,在原作業增加js邏輯功能是否更適合?結對程式設計?半桶水在旁邊瞎BB吧!
        thoughtworks這公司在網際網路上名聲還挺好,善於包裝自己。面試體驗如此差,希望同樣面試過TW的年輕司機,說說感受。


相關文章