1. 程式人生 > >為自己加油!--ThoughtWorks面試後感

為自己加油!--ThoughtWorks面試後感

題記:一直在等待TW的結果,從面試完之後到現在恰好一週了,還沒有訊息,雖然“凶多吉少”,但我對結果還是抱有一絲期望

不管怎樣,我覺得我還是收穫頗豐的。恰好今天跟WJ、CQ還有妻子聊了很多,我發現我該好好“思考一下人生”了吐舌頭

參加工作之前我對自己的總結就是一句話:

我每天都微笑著面對生活,但是我承受的經歷過的你也許無法想象。

我更想好好總結一下參加工作之後的人生。

2011年畢業後進入了EMERSON,可以說工作很安逸,讓我這個跌跌撞撞走過來的人產生了傲性+惰性。我的心很大,也不誠穩。這跟研究生在PLATFORM實習時沒有多少變化。應該說我失去了很寶貴的讓自己變強的幾年寶貴時間。也正好由於工作性質的原因,我必須對VB、VC、C#都很熟悉,我沒能好好的專精於某一項技術,當然,這更多的是自身的原因。我追求了技術的廣度,沒有把握技術的深度。這個時間段,我在業餘時間帶了一個TEAM,我們的FreePower,都是母校一些大二大三的學生。我會帶著他們幹很多事情,也會教導他們很多道理。直到現在我還依然帶著他們,但是,也直到現在我也感到慚愧,因為技術上我教他們的太少太少。。。對不起,FreePowers!

2013年,應該說是我人生一個最重要的轉折。

這一年,我結婚了,經歷了五年的風風雨雨,我終於牽著我妻子的手邁入了婚姻的殿堂;結婚那天,高速公路車禍了,車上都是我這一生最重要的人,但是值得慶幸的是大難不死,而且全家人一點事沒有;我以為大難不死必有後福,於是我辭職了,回家照顧生病父親的同時,我帶了幾個我的小夥伴一起想幹點啥;技術不精,創業失敗;做了一會生意,接觸了各行各業形形色色的人,也接觸到了各種各樣形形色色的誘惑;賺錢了,但是相信了不該相信的人,被騙了;於是我跌倒了,而且傷得很重很重。。。

在剛結婚沒多久,我妻子支援讓我出去闖一闖,只因為我跟她說:如果你不讓我出去闖一闖,我這一輩子都會有遺憾;如果你讓我出去闖一闖我失敗了,我這一輩子最多是可惜,我不想我這一輩子沒有幹我最想幹的事情。

在我人生跌至最低谷的時候,我回來了,因為她跟我說:你快回來吧,不管發生什麼,我都跟你在一起!

(此處省略NNN字,只友情提示一句話:<永遠記住:雪中送炭的人少,錦上添花的人多。患難之中才能見真情!>)

我知道我該沉下來了,我要對得起她的信任。

一個有責任感的男人才是一個真正的男人! 

我決定拋開一切,忘記一切,放棄一切,從頭來過。

我找了家小公司,我選擇的職位是JAVA軟體開發工程師。我決定拋棄以前所學的一切語言,從零開始搞JAVA。當然,我這個決定也並不是一時衝動,而是我知道,所有語言其實都是相通的,只要你掌握了最根本的思想,比如設計模式、資料結構、作業系統、資料庫等等,語言之間最大的區別在於語法,更何況,我有JAVA基礎,我更多的是重新拿起它。所以我改了QQ簽名:“閉關二年!”我對自己有信心,兩年的時間,我應該能在JAVA方面略有小成。

由於跟妻子是兩地分居的節奏,一個月才能見上幾天,所以平時我有很多的時間花在學習和工作上。除了妻子回來的那幾天,我會不學習,好好的陪她,其他時間,下班之後我都會在家自學。應該說我安安靜靜的學了半年,每天看視訊看書做專案,java基礎知識、servlet、jsp、js、jquery、struts、hibernate、spring等到現在的雲端計算、測試驅動開發、重構技術。。。我開始不停的寫部落格,不停的關注開源社群的技術和動態,不停的跟人討論交流學習。。。

不管這次面試TW有沒有成功,我都想跟大家分享一下我的心得:天道酬勤,機會永遠留給那些有準備的人。你的努力總會得到回報的。而我得到的回報是一次機會,雖然很可能我暫時還抓不住它。

一次瀏覽社群網站的時候,看見有人在討論TW的面試難度貌似都是全球第一,記得畢業的時候就見過TW的招聘,但當時對自己技術方面信心不大,所以沒有去嘗試。後來也一直在關注它,一些朋友也在裡面工作,聚會的時候也都會聊,對他們那種自由的氛圍、敏捷開發的思維、結對程式設計的模式很是嚮往。於是,我嘗試投了一下簡歷。很快得到了HR(LY)的電話面試。說真的,這個電話面試就把我給吸引住了,可以笑我沒有見過世面,但是電話面試能把技術問得如此深的HR我還是第一次見,而且態度也非常好,就感覺兩個朋友在聊天,對LY點個大大的贊。去進行邏輯面試的時候,走進辦公室,不是說環境多好多好,而是那種氛圍,我喜歡,我對自己說這是我的菜。進入結對程式設計和技術面試的時候,面試官也都非常好,尤其是結對程式設計,給人感覺就跟真的“戰友”一樣(給YD還有另外一位仁兄點贊)見網上帖子經常說TW的人給人感覺不好,覺得他們喜歡裝。說實話,我的感覺還真不一樣,我覺得挺好的,挺親切的,我那些在裡面工作的朋友,哪怕是最後技術面試的Leader們(給CQ、GL和WL點贊)

回想一下整個interview過程,大概大半個月的時間,把一些自己覺得自己沒做好的總結一下:

電話面試:要誠實,英語平時要多說多寫。(我這關英語對話沒做好)

邏輯筆試:看清題意,題目並不難,用程式設計師的思維方式去思考就好。一定要仔細。

HomeWork:一定要自己獨立完成的;千萬不要急著下手,先把類圖設計好;(前面這兩點會讓你更容易過結對程式設計)不要為了設計模式而設計模式,用測試驅動開發;不要忘了重構。(我的重構和測試由於平時用得少,沒有做好)

結對程式設計:不要緊張,如果HomeWork是你自己寫的,這關你應該也沒問題,關鍵是要放鬆心態,不要把面試的人當面試官,而是要當真的戰友、夥伴,發揮你平時的工作狀態就好了。

技術面試:還是不要緊張,平時多注意積累總結,保持心態。(這關可以說是我發揮最差的:說話有點急了,而且有些問題沒有回答好。比如:請求方式除了get和post之外還有什麼?舉5個以上常用的java類庫?(平時用快捷鍵用慣了,Ctrl+Shift+O就自動導包了,一下緊張想了一會才說出來)b/s和c/s的區別以及你對他們的理解。)

面試總結:TDD和Refactor不熟練;技術深度不夠!!!

發現問題就要解決問題

學習方法方面:學習一種東西,就拿spring來說,不是光會用它就夠了的,還要掌握它的原理,比如配置檔案的載入順序了,interceptor、filter的載入過程啦,這些也是你必須掌握的;還有,拿到開源的東西,也不是光會用,你最好開啟程式碼都看看,人家為什麼這麼寫,這麼寫的好處和缺點在哪,你能對開源的東西貢獻上一份你的力量就更好了。

學習技術方面:既然技術深度不夠,就加強自己的技術深度。將spring+struts+hibernate+js+jquery+webservice重新再學一遍,按照上面的學習方法來學;掌握TDD和Refactor;掌握敏捷開發模式;以後跟朋友聊天交流能用英語就儘量用英語,包括部落格,保持英語水平。

業餘專案方面:雙色球預測軟體Web版完成;改版學工網完成;改版就業網完成;模擬雲腦系統完成;SSH建站框架系統完成。

其他方面:多參加技術party,交流給人帶來的收穫是非常巨大的!

決定

如果這次最後一絲希望成功了,把自己態度擺正,就把自己當應屆畢業生一樣,好好學,好好幹。

如果失敗了,在哪裡跌倒,就在哪裡爬起,每隔一段時間,自己如果感覺準備好了,就去TW面試一次。保持競技狀態,也為自己爭取機會。

對自己想要的東西絕不輕易放手!要做打不死的小強!

後記

有個人,她每次都會跟我說:是金子總會發光的!

有個人,她每次都會跟我說:你是最棒的!

感謝一路都有你們的陪伴,你們是我人生最大的動力!!!