我在南大的七年

大四快畢業的時候又發生了一件事情,微軟的eric jiang通過我的部落格找到我,推薦我去微軟面試,我隨隨便便就把粗糙的簡歷給發過去了,差點因為簡歷太粗糙被hr直接過濾掉。遠程電話面了兩輪,遠程coding一輪,然後記得就是飛到北京面試,住在北航招待所。北京的面試又面了好幾輪,有考察底層知識的、有考察c/c++的、。net的,還有考察算法的,編碼素養的。總之就是公認的基本功考察。最終我還是沒能通過面試。個人自己後來總結的結論是算法基本功太差,連什麼是動態規劃都不知道,編碼素養也不夠。這部分也是因為本科的學習方法太業餘,什麼好玩乾什麼,倒不是說興趣驅動不好,只是缺乏系統的規劃,不清楚也不關心這個領域的藍圖,也弄不清什麼是重點。後來在讀研的時候惡補了一把算法,好歹弄清了一些基本的概念和思考方法。編碼素養的問題也是到了讀研的時候才開始思考和學習,現在仍在學習。

另外,在本科階段,其實我也浪費了很多時間,事實上,是只花了很小一部分時間來學習。之所以還多少學了點東西,完全是仰賴了專注的習慣。而這個專注的習慣其實又是從小受父親耳濡目染的,父親會花一整天揣摩一個問題,父親跟我說過他以前組裝電視機時的故事——一切都似乎組裝正確,但電視機就是不工作。他苦思冥想,不得其解,當晚,半夜從睡夢中醒來,想到了問題的癥結所在。所以,我在啃一些底層知識時如果弄不懂,也會一遍遍讀,然後用走路吃飯坐車的時間在腦子裡一遍遍去琢磨。我有很多重要的習慣受到父親的影響,這些習慣自己一般覺察不到,但卻默默影響了平時的一點一滴的時間分配和學習軌跡,這些習慣從紙上很難學到,但耳濡目染卻會自然而然地學會。

每當有人覺得我本科就做了不少事情的時候,我就會說其實我本科真的浪費了很多時間,而另一方面,這也說明,要掌握一門專業知識,其實每天一點時間,專注、積累和持之以恆也就夠了。後來研究生階段才算真正開始惜時了,於是經歷了兩年密度很高的學習和思考,心智才成熟了不少。

大四的時候,和很多人一樣,我也考研,因為一來也很茫然,二來也希望能夠繼續有一個寬鬆的環境繼續沉浸在自己的興趣中。但四年來我都是自己安排時間,逃掉了無數的課,已經對模式化的做題考試產生了牴觸,所以考研的複習也沒怎么認真準備,那年考研的數學題又偏難,一下慌了神,結果居然把一整頁題壓在稿紙下忘了做了,心理準備有多不充分可見一斑。考完數學我很沮喪,那么大分值的題目沒做,數學肯定過不了了,接下來的專業課就沒去考了。後來想想其實還是應該去考一考,多少能為下一年積攢經驗。

後來就工作了,沒去成微軟,經同學張振推薦,就去了南京西門子。心裡的打算還是邊工作邊考研,為什麼考研,動機也簡單,我心理還沒準備好,本科只顧著埋頭學好玩的,也不看路,不知道自己想要什麼樣的工作,想做什麼樣的事情。去西門子之後更加覺得如此,覺得效率很低,做的事情也並不是我樂意的,每天還要在班車上浪費兩個小時,於是沒過多久就辭掉了工作。打算複習考研。那個時候大概還有半年多的時間才到考研,所以我中途不緊不慢地又翻譯了《exceptional c++ style》,占用了不少時間,到最後時間很緊了,就剩兩三個月,我才開始認起真來,回想起來這是糟糕的時間管理。結果我不得不作了最壞的打算:頂多調劑去軟體學院讀研,考慮到我反正是自己安排時間,差別應該不大。幸運的是,最終一分不差地過了線,算是蹭到了計算機系裡。雖然如此,還是覺得這種驚險不要發生的好,以後或者其他事情上就不會有這么幸運了,及早準備總是很重要的。

讀研期間的兩年半,是我自己覺得心智年齡成長最迅速的一段時間。這裡也有幾個很幸運的事情。一個事情是我的導師陳家駿先生給了我很大的自主,於是我得以有時間安排一些重要的學習,這段時間對我來說很重要,我學習和思考了很多東西,為個人以後的發展作了很多準備,倒是沒幫導師做什麼事情。所以,碩士畢業離開的時候是既感激也愧疚。