計算機求職總結--準備篇

yangxi_001發表於2013-10-26

版權所有,轉載請註明出處,謝謝!
http://blog.csdn.net/walkinginthewind/article/details/13000431

找工作是一個長期準備的過程,突擊是沒什麼效果的。準備時間越長,準備就越充分,就越容易拿到好的offer。我基本上從研究生一入學就一直在準備找工作的東西,看書、研究研究筆試面試題、線上程式設計訓練、參加實習招聘等等。當然,其實主要還是研二開始準備的,也算不上多認真,反正一天一天的積累吧。這裡我把我準備的內容向大家分享一下。

一、推薦書籍

計算機的好書挺多的,我買了也有四五十本,也花了不少錢,但是這些投資都是值的,好好看一下這些書,讓自己找工作時的薪水漲個幾千是沒問題的。當然,也有些書是電子版的。我是c++方向的,可能大部分書都是和c++相關的。

1. cc++相關

C語言問題一般都是在筆試題中出現,面試題中問的比較少。首先是下面這三本經典的C語言書:

C和指標》

C專家程式設計》

C缺陷與陷阱》

這裡還要極力推薦的是:

C語言深度剖析》

這本書是國內人寫的,重點講解了C語言裡的一些晦澀的問題。

上面這幾本書應該基本上就可以熟練掌握C語言的各種問題了,筆試題基本都能從容應對。

下面首先推薦三本C++相關的書:

《深度探索C++物件模型》

Effective C++

STL原始碼剖析》

我覺得這三本是C++方向找工作必備的,這幾本看熟了(我覺得至少認真看個35遍吧)至少可以搞定90%C++筆試面試題。

下面這兩本我也極力推薦:

More Effective C++

C++反彙編與逆向分析技術》

如果這兩本書也掌握了我覺得面試中一般沒有什麼C++問題能難倒你了。

當然還有很多其他經典的C++的書,有精力都可以好好去讀一下,我就不一一列舉了。

小結:CC++知識是很重要的,是絕大數公司筆試面試中重點考察的知識,除了Google、微軟等一些公司面試中基本不考察程式語言外,其他大多數公司都會把C++作為重點考察的內容之一,我面過的公司:百度、阿里巴巴、騰訊、網易遊戲、雅虎等等都會問C++問題,當然具體問不問也可能跟你的簡歷、面試官的喜好有關。

2. 演算法、資料結構相關

談到演算法自然少不了聖經了

《演算法導論》

當然這本書我只是偶爾翻翻,但是我覺得這個應該從頭到尾認真看一遍、好好做一下練習題。

下面是幾本跟面試中的演算法最相關的一些書籍:

《程式設計珠璣》

《程式設計之美》

這兩本是最經典的了,這裡面注重的是解決問題的思路,看的時候裡面的問題要認真思考再參考解答。

下面兩本是對具體的面試題做一些解答,同時有詳細程式碼實現的。

《劍指Offer

Cracking the coding interview

上面這四本我覺得都是必備的,裡面的題目解決思路要數量掌握,能夠舉一反三、解決相關變種問題。同時,裡面的題目,應該都要在紙上實現,然後再在電腦裡實現、測試。Bug-free是面試中重點考察,面試官也會經常讓面試者寫測試用例,所以,平時我們要養成這些好的習慣。

下面也推薦一本經典書吧,

《演算法藝術與資訊學競賽》

當然不適合演算法薄弱的人看,這一般是ACM大牛的家常飯。不過,能看多少是多少,總歸是會有收穫的。

小結:演算法是重中之重了,各個公司都把演算法作為考察重點,甚至有的公司只考察演算法。應該早點開始積累,比如多刷一下POJLeetCode等等,後面也會提到這些線上程式設計網站。

3. 數學相關

這方面我看的也不多,當然,我覺得這幾本都很重要,對筆試面試都會很有好處的,而且這方面的內容筆試面試中考察的也很多。

《組合數學》

《具體數學》

《數學之美》

4. 作業系統相關

作業系統也是筆試面試考察的重點,我看的相關書的也不多,主要推薦下面兩本吧

《深入理解計算機系統》

《作業系統精髓與設計原理》

我沒有linux相關經驗,但是我覺得linux核心應該好好研究一下,這方面我不懂,就不多說了。

我稍微研究過一點點windows核心原始碼,這裡推薦

Windows核心原理與實現》

還有和windows程式設計相關的

Windows核心程式設計》

5. 軟體開發、設計相關

首先是設計模式,我覺得設計模式是很重要的,對以後工作也很有好處。當然面試中考察的不是特別深,一般就是問一下你熟悉的模式是哪一個,然後稍微問一下,估計Singleton是問的最多的。我還是極力推薦大家熟練掌握設計模式。下面這兩本書配合一起看,效果相當好

Head First設計模式》

《設計模式可複用物件導向軟體的基礎》

然後是

《程式碼大全》

這個就不多說了,也是必備的。

我再極力推薦兩本重構相關的書

《重構改善既有程式碼的設計》

《重構與模式》

這兩本可能對面試沒有直接的幫助,但是應該會有潛移默化的影響吧,對以後工作肯定是相當有好處的。

6. 搜尋引擎

這個不是必備的了,但是我為了豐富一下簡歷,也看了幾本書,主要兩本吧

《搜尋引擎資訊檢索實踐》

《這就是搜尋引擎核心技術講解》

這兩本配合著看,就可以把搜尋引擎原理、相關技術瞭解得差不多了,我簡歷上寫了這個,面試中也經常被問到,應該是可以加分的。

7. 資料庫

資料庫也是重要的內容之一,尤其是資料庫底層實現相關的一些東西,索引啊等等。

首先是大家最熟悉的

《資料庫系統概念》

還有一本很好的,就是講解資料庫底層內容的

《資料庫系統實現》

8. 其他

這裡主要是推薦一本《垃圾收集》,這個算是比較底層的東西了,但是這個絕對的會給面試加分,我也很受益於這一點,同時可以稍微研究一下JVM的垃圾收集機制,可以參考《深入理解Java虛擬機器》以及一些相關文章。

還有《CDN技術詳解》,我覺得也不錯,可以很好的瞭解一些大型網站使用的一些技術等等,面試中也常常會問到一些大型的網站系統設計問題,負載均衡等等。

二、推薦網站

1.LeetCode

http://leetcode.com/

這個網站裡有很多經典面試題的講解,當然最主要的是它的OJ系統,裡面有100多道題目,和ACM OJ不同的是,這裡面的題目都是來自於面試題,所有更有針對性,建議至少刷3遍,我刷了差不多5,6遍,多刷幾遍不丟人。

2.POJ

http://poj.org/

這是北大的OJleetcode滿足不了你,就可以來這刷了,如果還滿足不了就找國外的OJ吧,USACOURAL等。

3. NOCOW

http://www.nocow.cn/

這裡也有不少acm相關的資料,推薦看一下USACOURAL的題解。

4. Careercup

http://www.careercup.com/

國外著名的幫助找工作的網站,裡面有很多GoogleMSFBAmazon等等名企的面試題,有精力就一道一道做吧。

5.CSDN

http://www.csdn.net/

有不少人的部落格還是不錯的,總結很多筆試面試相關的東西,比如v_JULY_v。也常關注一下熱門部落格。

三、其他

在這裡推薦一下陳利人的微博(http://weibo.com/lirenchen),該微博裡有很多不錯的資料。建議認真讀一讀google雲端計算的三篇論文,畢竟雲端計算仍然是熱點。好好研究幾個開源專案的原始碼,如levelDB。做幾個有水平的專案。找個好公司實習一下,著名網際網路公司的實習經歷也挺重要的。


總結

以上基本上是我為找工作準備的東西,當然我也沒把我所列的每一個方面都做的那麼充分,但是隻要準備個差不多,我覺得國內的公司BAT之類的還是不在話下的,希望來年準備找工作的同學早點準備,到時候拿到理想的offer

相關文章