心態決定一切-----《程序員筆試面試寶典》

1.拋磚引玉

找工作的過程是綜合實力較量的過程,一個好的offer背後凝聚着無數辛勤的汗水,需要勤奮、堅持、積累、付出。這裏介紹一下自己找工作的經驗,希望對師弟師妹們有所啓發。需要注意的是,完全做到了這裏提到的幾點並不意味着你一定可以拿到一流的offer,我僅是拋磚引玉而已,如果想在找工作時得心應手,需要平時不斷積累和總結,領悟其中的真諦。

2.心態決定一切

對於找工作,心態很重要。找工作之前,一定把心態端正。20年寒窗苦讀,最重要的一個目的是找一份理想的工作,從而實現自身的價值,因而我覺得,我們至少應該像準備高考那樣,全身心地投入到找工作的準備中,將之前所學的知識重新溫習整理,以便將所有能力能夠最大限度地發揮出來,進而向面試官充分展示自己、推銷自己。

3.冰凍三尺非一日之寒

關於找工作前的準備,有兩個因素直接決定着你是否能最終被錄用,一個是項目,另一個是基礎知識,這兩者中任何一個被面試官相中,均可能拿到offer。

對於項目,不在多而在精,一般的項目,如普通的管理系統、網站等,面試官幾乎不用耗費腦力,一眼就能看到底,沒有什麼好講的,最切合也最能引起面試官興趣的項目往往是與他現在的領域相同或相近,解決的問題的確具有一定的難度且提出的解決方案具有一定的創新點。但遺憾的是,對於大部分畢業生,項目的深度往往不夠,畢竟想在研究生短短的兩三年時間裏成爲這方面的專家,還是比較有難度的,所以這個時候就全靠你的基本功了。

基本功大致可分爲以下幾個部分:編程語言,數據結構與算法,操作系統和其他小知識點。對於編程語言,個人認爲C語言是必須掌握的,很多公司把C語言作爲必考項。另外,要在C++和Java兩種面向編程語言中選一個,主要知識點是面向對象編程中的一些基本概念,如虛函數、構造函數、析構函數、拷貝構造函數等。有一些題目已經成爲經典,是必須、一定要掌握的。例如,(C++語言)虛函數是怎麼實現的?構造函數可以是虛函數嗎?爲什麼鼓勵將析構函數設計成虛函數?對於數據結構和算法,這是面試的重點,很多公司基本上只考算法與數據結構,這就需要大家平時多積累、多練習。尤其對一些基本數據結構和算法,要非常清楚,如單鏈表反轉、Trie樹、兩個數組交併差集等。對於操作系統,主要掌握Linux裏的一些基本概念,如線程、進程、內存管理、文件管理等,這些也會在面試中出現,一定要好好複習。最後是一些其他知識點,如設計模式(單例、工廠模式等)、編譯原理(程序從編譯到運行要經歷的幾個過程)等。

4.修煉程序員之“葵花寶典”

找工作的過程中,一些經典的題目,一定要反覆推敲,很多題目來自固定的幾本參考書,大家應該好好琢磨一下這幾本書中的題目。

(1)《編程之美》。這是一本實戰書,任何找過工作的人都知道,很多筆試面試題直接來自該書,值得各位找工作的應屆生認真地閱讀和討論。此外,該書中有些題目難度過大,從找工作的角度考慮,可暫時不看。

(2)《編程珠璣》。該書主要介紹軟件設計思想,書中的例子已經成爲百考不厭的經典題目,如數組循環移位、隨機採樣算法等。

(3)《算法導論》。該書對各種常見算法有很深入的講解和詳盡的證明,並對每個算法的起源、動機和求解過程有較多的涉及。

(4)《深入理解計算機系統》。該書從程序員的視角介紹了計算機系統。幾乎囊括了計算機的各類技術,包括數據表示、C程序的機器級表示、處理器結構、程序優化、存儲器層次結構、鏈接、異常控制流、虛擬存儲器和存儲器管理、系統級I/O、網絡編程和併發編程等。該書中提到的一些知識點,常作爲面試題目出現,如Linux信號量、虛擬內存管理等。

5.八面玲瓏

關於找工作的技巧,主要介紹兩點,一是回答問題的技巧。對於項目,主要回答點應該是遇到的挑戰和解決問題的思路,對於算法問題,要從複雜度高的算法逐步向複雜度低的算法過渡,第一眼見到題目,可先將自己想到的思路說出來(如O(n2)複雜度),然後不斷優化(如O(nlogn)複雜度),最後儘量得到一個最優的算法(比如O(n)複雜度),這時候可能要在紙上寫出來,一旦沒有了思路,應該主動要求面試官加以提示。另一個是交流技巧,這裏指的是面試者之間的交流,這一點非常重要,每當前一個面試者面試完後,應該主動跟他交流,主要詢問一些個人收穫和心得,尤其是別人的失誤,應該儘量避免,因爲面試官一天要面試衆多的求職者,很可能會對不同的求職者提出相同的問題。

6.多多益善

最後是offer的選擇。offer儘量多拿一些,以便給自己留一些選擇的餘地,至於怎麼選擇offer,這是個人的問題,每個人的側重點不一樣,因人而異,但我覺得適合自己的就是最好的,沒必要和別人進行比較。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章