面試 一次失敗的經歷
分享一次我最近的Thoughtworks面試失敗經歷,也算是對想要進入這家公司的同行的一點提示。
【3月27號】接到他們hr打過來的電話,說搜到我的簡歷,問我有沒有興趣去面試一次他們的android開發職位,一聽是Thoughtworks,欣然接受了。於是約好時間,於【3月30號】下午去了他們在錦業一路的office。
hr很友好,告訴我首先需要做一套試題,做的時候不能使用手機。做題之前簽了一個保密協議,大概意思是不能透露面試內容。所以具體內容我就省略不說了,筆試的目的就是考察你的邏輯思維能力。
後來我與同事交流後得知,類似的測試很多歐美的外企都有做,而且試題的型別非常相似。
做完筆試題以後,進入了第二輪面試。兩位招聘部門的RD問了一些android方面的問題,然後讓我介紹了一些做過的專案。這一輪和其他公司的面試沒什麼大的區別。
第二輪結束後,hr通知我當天的面試就結束了,回去以後,他會給我mail一個homework,需要我編寫一個小程式完成他們提出的'一個需求,然後把程式碼在三天以後mail給他們。
回去以後檢視郵箱,果然看到hr發過來的mail,裡面列出了三個專案,選做一個即可。語言也是自選的。
我花了一早上的時間,寫完了程式碼和單元測試程式碼,於【4月1號】打包發了過去。(後來我仔細想了想,這裡也許是我一個面試失敗的因素。我只用了半天時間就把程式碼提交了,沒有再仔細想想程式碼的重構。這直接導致我的程式碼在OOP方面做得不是太好。)
後來就是漫長的等待了,直到【4月10號】才又接到hr打來的電話,通知我繼續下一輪的面試。與hr約好第二天【4月11號】下午過去面試。
第二次去他們的office,hr還是一樣熱情,同時還不忘提醒我平復一下心情,準備接下來的面試環節。
這一輪的面試比較有意思,Thoughtworks的兩位員工一起對我進行上機面試, 其中一位和我一起做結對程式設計,另外一位應該是觀察員的角色。一開始,首先讓我介紹了一下我做homework的思路,然後讓我自己提出一些homework中的設計缺點,並重構。
然後他們給我一份新的文件,是對homework的需求擴充套件。首先要求我分析需求,並把需求分解然後列在紙上。在這個過程中,面試官不斷地和我交流,詢問我的想法,提出我的一些需求分析上的錯誤。需求分析完以後,就開始實際的編碼了。需要特別指出的是,
他們使用TDD的方法進行開發的,以前我也沒做過,只是看過一些TDD的書,所以實際上手以後,開發的步驟比較細,這也導致後來時間到了以後,沒有完成所有的需求。
結對程式設計結束以後,就是manager的面談了。 讓我具體介紹了一個做過的專案,然後就是他們公司的介紹之類的一大堆。
到此全部面試就結束了,hr告訴我兩天之內會有結果。
果然在【4月13號】收到了拒信。也沒說是什麼理由。 我個人覺得是結對程式設計的環節發揮不好造成的。( 在最後一輪manager面試的時候,那位經理說我在結對程式設計的時候表現出來對自己寫的homework的程式碼不熟悉,有可能是這個原因吧。)
後來總結一下,主要的原因:
1. homework做的不夠好,沒有認真重構程式碼。
2. 結對程式設計現場發揮不好,面試之前沒有review自己寫過的程式碼。