用人單位給計算機(jī)系學(xué)生的一封信
發(fā)布時間:2014-11-17 09:17
點擊率:14
我要分享
今天上午又去招聘了,加上前面一段時間的招聘經(jīng)驗,有些話不吐不快。
我們希望找到能干活的人,就是能編程序的人,但是我感覺現(xiàn)在剛畢業(yè)的人里面,包括名校的,能干活的人比例非常的低,大概不超過百分之一。
很多人都說,沒有參加過實際的項目,沒有經(jīng)驗,希望能夠在工作過程中學(xué)習(xí)等等,開始的時候我也這樣認(rèn)為,隨著面試的人的增多,手下新人的增多,我的看法逐漸變了。
不談個人主觀能動性方面的種種問題,我想談?wù)勎倚哪慨?dāng)中的科班出身編程序選手的及格線。
如果你希望編程序為生的話,那么,大學(xué)才是你最重要的經(jīng)驗積累地點,相反,工作單位能夠積累的東西很少,或者說絕對是第二位的。
大學(xué)里面,最重要的課程有兩門,一門是編譯原理,一門是數(shù)據(jù)結(jié)構(gòu),這兩門課的課程都不重要,重要的是課程設(shè)計,也就是老師讓你上機(jī)做的題目,就我這段時間面試的上百人來說,我認(rèn)為其中的九十九個,這兩門課的課程設(shè)計要么是直接復(fù)制別人的,要么是蒙混過關(guān)的[只碰到一個真刀真槍作過的],其實,這兩門課是你大學(xué)里所有學(xué)習(xí)內(nèi)容當(dāng)中對編程序的能力進(jìn)行訓(xùn)練的最根本內(nèi)容,也是你在社會上永遠(yuǎn)碰不到的學(xué)習(xí)機(jī)會,任何,不論多貴的培訓(xùn)機(jī)構(gòu),也不可能給你提供這兩門課的訓(xùn)練深度,我見過太多的畢業(yè)之后又花一兩萬塊參加各種形式的培訓(xùn)機(jī)構(gòu)培訓(xùn)一年的選手了,你學(xué)會一萬種框架的配置方法,也不如你大學(xué)的時候把這兩門課上好有意義。
編譯原理的課程設(shè)計,一般來說要求做一個詞法分析器或者語法分析器,最屁要你做一個數(shù)學(xué)公式的逆波蘭式解析,我個人看法詞法分析器或者語法分析器都可以,單作逆波蘭式,則最好能夠做到支持各種類型的運算的地步,比如邏輯運算等等,這門課的課程設(shè)計如果能夠獨立完成,可以在你的大腦里面創(chuàng)建一個整體化的計算機(jī)思考方式,最重要的是,這個過程能夠讓你學(xué)會面對一個復(fù)雜問題的時候,如何通過各種計算機(jī)語言來解決問題,、、、,好處不再列舉,其實你畢業(yè)之后參加的任何培訓(xùn),其算法復(fù)雜程度都不可能和這門課程相比。
數(shù)據(jù)結(jié)構(gòu)的課程設(shè)計,關(guān)鍵點在于兩個,一個是數(shù)據(jù)結(jié)構(gòu)和算法本身,這里需要理解和學(xué)習(xí)的主要內(nèi)容是循環(huán)和遞歸等等,其實如果你上面一個做得好,這些都不是太大問題了,學(xué)習(xí)一下各種數(shù)據(jù)結(jié)構(gòu)的應(yīng)用還有些意義;第二個最重要的訓(xùn)練目的,就是如何在計算機(jī)當(dāng)中表達(dá)問題的問題,很多人跟我說,我的課程設(shè)計是二叉樹排序,輸入就是我自己輸進(jìn)去一堆數(shù)字,輸出就是把這些數(shù)字排好了再輸出到屏幕上、、、faint,暈倒,講一個漢諾塔的例子吧:
漢諾塔本身的算法只有二十幾行,不太好理解,但是也不難理解,那么,如果希望做一個東西,把漢諾塔表達(dá)一下,應(yīng)該考慮什么東西呢?
首先,需要考慮清楚幾個塔,個個盤子,應(yīng)該用什么表達(dá),用什么數(shù)據(jù)結(jié)構(gòu)表達(dá)?這個是一個關(guān)鍵問題,需要能夠把塔和盤子和數(shù)組以及數(shù)組里面的元素對應(yīng)起來思考問題,不要看這一點簡單,實際上太多人根本就沒有辦法在大腦里面完成這個轉(zhuǎn)換。
其次,要考慮清楚其中有哪些元素可能發(fā)生變化,盤子的數(shù)目是最簡單的變化元素了,有沒有其它的了呢?
有,移動的速度,如果你移動得太快,那么誰也看不清楚,你等于什么也沒做、、那么,至少兩個元素要可變,一個是移動速度,一個是盤子數(shù)目。
好,輪到表達(dá)方式了,你要是牛的話,就畫成棍子上面穿著有洞的盤子,不行的話就豎線上面穿橫線,移動的過程,牛的話做成動畫??不行的話就演示每個步驟地結(jié)果既可。
好,該怎么畫出來呢,這個時候你就要弄明白如何在屏幕上劃線,這個簡單,重要的是如何擦掉一條線,還不能把棍子的那個點擦掉,這就有點問題了。
好了,上面問題都解決完畢之后,用什么語言編程序就很次要了,c也好,pascal,java,任何語言,一個帶兩個參數(shù)的動畫演示漢諾塔的東東就出世了、、、[我花了一個半小時]
數(shù)據(jù)結(jié)構(gòu)的學(xué)習(xí)過程中,如果能夠在四五個題目上面做到上面的深度,相信你絕對受歡迎。
以上兩個課程設(shè)計,如果都能夠獨立完成,一般來說畢業(yè)后兩三年內(nèi)收入必然超過五千,如果在北京上海,應(yīng)該可以肯定超過一萬。