轉自計算機學院offer大神的面經:準備過程中的一些建議和看法

lostinai發表於2014-05-07
1.一定要好好學習1~2門程式語言,不僅僅是會寫HelloWorld、瞭解語法,最好是通過專案鍛鍊,並把語法細節吃透。個人主要使用的是C,C++和Python也會一些,物件導向也知道是怎麼回事,也曾學著《大話設計模式》這本書實現過所有設計模式的C++版本和Python版本,但我從來都跟面試官如實交代,後兩者掌握程度遠不如前者。如果給我更多時間,我希望能好好學習一下C++或者JAVA這類面嚮物件語言,而且把Python這樣的指令碼語言的掌握更進一步。

2.如何看待演算法?演算法是程式設計的一個重要基礎,在面試筆試中經常被考察,不要覺得自己沒有興趣、或者因語言封裝了庫而不去學習。當然,面試筆試中一般也不會出現特別難的演算法,不必太糾結一些做不出的難題。至於“特別難”是什麼意思,如果像我當時準備演算法時一樣把常用演算法瞭解了,你自然就知道了。

3.對於複雜的資料結構,比如紅黑樹、B樹、二項堆,瞭解原理優先,不必強求能寫出程式碼。這其中又以紅黑樹為優先,畢竟Linux核心以及部分STL容器都利用了紅黑樹,它的性質、原理、插入刪除操作都是要知道的。

4.練習紙上寫程式碼的能力。脫離了電腦,可能很多人都不會寫程式碼了,我以前以為只有VS使用者才會這樣,後來發現就算長期使用vim,一樣會有這個問題。為了確保萬無一失,我把常用的排序和二分查詢以及二叉查詢樹的插入刪除全部在紙上前前後後寫了兩遍,做一些演算法題時也儘量在紙上先寫寫,再進行編碼驗證。

5.在學習過程中的理解和感悟形成部落格,這樣一方面能加深理解,另一方面便於日後使用。有時我感覺有的問題想清楚了,寫部落格時細細想想似乎是沒懂,一邊寫一邊思考,在寫的過程中獲得了進一步的理解,寫完後才真正的理解。

6.常混技術社群,而且不僅僅是潛水,儘量參與(灌水除外,一定要發表有實質性的內容)。畢竟自己單幹和從社群中汲取知識是不一樣的,和大牛一起混,你的能力也能得到顯著提高。archlinux和github我基本沒上過,不過stackoverflow倒是用得不少,也貢獻了一些answers

7.用心準備簡歷。我的簡歷前前後後花了近一週才準備好,下了不少功夫。一方面是選擇一個合適的LaTex模版(拋棄word簡歷)並相應地修改,另一方面是字斟句酌。
說到LaTex有點小故事,當初接觸到它並不是因為寫論文,而是部落格中有的複雜公式維護起來很不方便,後來發現可以直接貼LaTex程式碼,通過部落格後臺指令碼自動轉化成圖片,非常方便和美觀,就學了一些用法。不過在做簡歷前還是系統地進行了個入門,畢竟別人的模版並不一定適合自己,還是需要進行修改的。
模版當然比不上內容重要,LaTex簡歷只是個加分項,內容才是重點。這裡我也推薦大家讀一下The Google Resume,瞭解什麼是STAR法則。下面是我把The Google Resume中如何寫簡歷的方法的中文版總結,不過有時間還是讀原書吧。


引用
總則:每行都應起到讓HR想要僱傭你的作用

1.成就導向而不是負責導向
介紹過去做過的事的時候,應當介紹你取得了什麼成就,而不是你按照分配的責任(理所應當地)做了什麼。
應當避免contributed to、participated in、helped out with這樣的負責導向性措辭。

2.量化的結果
避免使用類似於“降低延遲”、“提高客戶滿意度”這樣的模糊措辭,使用具體的數字,say how much。(金錢方面比如節約了多少預算這樣的尤為有衝擊性;技術方面比如延遲的秒、修正bug的數目、大O級的演算法複雜度改進等)

3.瞄準靶心
簡歷為求職的職位量身訂造,並展現你有相關的經驗或能夠解決相關問題的技能。

4.易於理解
避免過於晦澀的行話和術語,特別是一些專業領域的字母縮寫。

5.整潔、專業、簡明
列印錯誤可能導致你的簡歷直接被pass掉。面試官不屑於看一個交流能力不足的應聘者的簡歷。技術公司對此的容忍度會稍高一些。要點:
簡潔:避免大段的文字。簡歷應由一系列言簡意賅的1~2行組成;
避免拼寫錯誤(中文對應的是錯別字),反覆檢查;
語法:Word的拼寫檢查可以簡單地提供這個功能。如果英語非母語,最好找一位英語母語人士來幫忙檢查。
正常字型:比如Times New Roman,不要用小於10pt的字號。Comic Sans是不可能被接受的。
一致性:可以選擇逗號或分號做分隔,但要前後一致,即只使用一種。用句號或什麼的不用來結尾每一個小段落。加黑、下劃線、斜體也類似。
用空白做區分。
避免使用第一人稱,用第三人稱。

6.清晰並良好的結構組織
讓HR能夠一眼找到他想看的東西。
一些結構注意點:
對於應屆生,教育經歷及獲獎情況放在專案經歷之前
技能,進行分類。不要寫平淡無奇的技能如Office。多種語言技能未必有用。

長度:
資深應聘者是可以使用兩頁的簡歷的。少於5至10年工作經驗的應聘者請保持在1頁以內。
縮減長度的方式:略;


8.做專案時記得把自己的做的工作總結好,找工作時就不用費力回顧那些記不清的細節和實現了。

9.大公司的歷年筆試題有必要做做,但如果像前文的演算法的準備方式進行準備,你會發現筆試題裡的演算法差不多都能解決,沒必要再海量練習了。

10.每年的暑期實習招聘是一個很好的實戰練習機會,建議參加。如果過了,去不去,請自行判斷。

11.保持良好的生活習慣。畢竟常年累月寫程式碼比較傷身體,因此非常建議平時進行一些運動。個人偏好去健身房,除了9月找工作比較忙以外,基本每週都去4~5次。當然打球長跑這些也挺好,保持住就行。除此以外,有時我也愛跑去看電影,今年就被《中國合夥人》勵志到了,非常時機。

12.有時候面試就是個知識查漏補缺的過程,就算準備再充分,也有可能答不上來的問題。沒關係,結束後好好思考下,下一次再被問到時把它答好了就行了。

13.找工作是技術實力+溝通能力+RP成分的綜合考驗。如果你實力很強卻仍不能找到滿意工作,請從後兩者中找原因。有時,運氣成分確實能決定結果,不要太糾結於一次兩次的失利,全力去做,足矣。

14.校招正式開始前,記得把原來搞過的東西好好回顧一遍。9月初的時候,感覺準備的差不多了,可再翻翻之前做的題,發現怎麼有的題又不知道如何解了?趕緊快速的進行回顧,把之前的記憶喚醒,保證萬無一失。

15.不要太把實習經歷和轉正當回事,該好好準備校招還是好好準備。身邊太多實習OK、轉正悲劇的例子了。

16.課餘時間折騰點自己興趣相關的技術方面的東西。下面摘自《淘寶技術這十年》:
引用
“子柳:你經常出去招聘學生,你欣賞什麼樣的學生?”
“畢玄:其實在校招聘的時候,我比較欣賞的學生往往是那些‘不務正業’型別的。我經常會問他們,你有沒有利用課餘時間出於自己的技術興趣做的一些小東西。這樣的學生我們通常會比較感興趣,我認為這樣的學生是真正喜歡技術。聰明程度一般就可以的,他能夠進入這些不錯的學校,智商是不會有什麼問題的。”


17.面試的時候不要一邊掉書袋,一邊又表現得翔一般不明所以。這時我在騰訊實習生面試時犯過的一大錯誤。閱讀量後提高容易自滿,要小心了。

18.關於時間利用和讀書方式,可以參考《暗時間》。之前我採用的一些方法和此書很相似,但不如它系統,建議好好讀讀並領悟

相關文章