作為一名計算機學子?
身為計算機專業的學生,我在看過好多同學找工作的經歷后,開始思考,到底什么樣的學生才能很好的契合公司的需求,才能很容易的拿到offer。我認為,計算機專業的學生,在大學四年里,要學的東西很多。 第一、編程能力。以國內計算機的發展狀況來看,大多數人剛去公司就職時都是程序員。身為程序員,第一要義就是編程。如果一個畢業生有比較強的編程能力,那么找工作很容易。比如,那些搞ACM競賽的,很容易就去了百度。我認為編程能力包括三方面內容:1、熟練使用一種語言。編程首先要會一種語言,當前環境下,這種語言是面向對象的會比較好一些,C++、Java等。當然,想=比較古老的C語言,也是有用武之地的。但是現在公司一般都是用面向對象的思想來開發軟件。什么叫熟練使用呢?首先你應該了解這種語言的語法,比較常見的、用的多的語法一定要非常了解,比如循環語句,控制語句,數組,字符串,指針(C/C++)等;其次,有將想法變成程序的能力。如果你能想到這個問題如何解決,那么你就應該能用程序寫出來,即使這種想法很笨,耗時很長,你也應該有把它寫出來的能力。比如最大公約數,不懂模運算的時候,你會用試除法,再比如矩陣乘法。2、掌握數據結構。數據結構是很重要的,幾種常用的數據結構,鏈表、隊列、棧必須信手拈來,很隨意的就寫出來了。二叉樹、圖也要會,要到什么程度主要還是看以后工作類型。3、掌握一些基本算法。有一些算法,應該成為一種必備技能,可能你用不到,但是必須會。最典型的就是排序算法了,很多人都會冒泡排序,但是快速排序比冒泡排序用的更多,其它的7種排序算法也要會,能夠迅速的說出這種算法的優劣,是否穩定,復雜度什么的。據說很多公司的技術牛人,快排對他們來說已經成為一種本能反映,只要用到快排,很快就把代碼寫出來了。還有動態規劃、回溯等,必須要會寫。總之,提升自己的編程能力需要多編程,一段時間不編,手就生了。第二、基礎知識在公司面試的過程中,比較注重專業基礎知識。良好的專業基礎知識表明你有良好的專業素養,這樣學習一些專業內的東西會比較快。基礎知識涵蓋的內容很多,反映了你對專業的系統認識。計算機組成原理。必須懂馮諾依曼結構、內存、緩存、指令系統、CPU、中斷等。它讓你對計算機有比較系統的認識。操作系統。必須懂進程、線程、內存管理、頁面替換等。它讓你對操作系統有比較系統的認識。計算機網絡。必須懂網絡模型、HTTP協議、路由算法、IP協議等。它讓你對計算機網絡有比較系統的認識。這三門是計算機考研的課程,由此也可以看出它的分量。還有編譯、計算機體系結構等,也也描述基礎知識的。總之,大學時期開的課程,基本上都是計算機的基礎知識,涉及范圍很大,學好十分不易,要盡力掌握。第三、擴展技能除了上面兩個能力以外,我們還需要一些擴展能力。英語。這個擴展能力十分重要。良好的英語閱讀能力可以使你獲得第一手的資料,良好的口語,可以使你更容易的進入外企。小語種。除了英語,必要的時候可以會一些小語種語言,比如日語、德語。日企的待遇還是挺不錯的。軟件工程。之所以把它列到這里,是因為有時候這個東西不是很必要,當然如果去很大的IT公司,這個能力就十分有用了。如何寫注釋,如何寫文檔,如何畫類圖等等,都非常有用。還有其它的能力,視工作環境而定。計算機這一行業,分的很細,不可能什么都學到。所以只能選定一個方向,一條路走到底。