當前位置: 華文問答 > 數碼

怎麽看待程式設計師普遍缺乏數據結構和演算法的知識?

2016-01-31數碼

我面試過幾百個各個層次的程式設計師,很清楚這是事實,的確很多程式設計師都缺乏數據結構和演算法知識。

原因是什麽,從這些程式設計師的履歷背景就能看出來,凡事名校科班畢業的,這方面知識就不差,如果不是名校,或者培訓班培訓出來的,這方面知識就往往欠佳。名校氛圍中,在這方面的教育的確高出一籌。

編程有一個很有趣的特性,表面上看是只需要碼程式碼,真正需要的思維技能不容易考察,而且即使編得不好,你也可以把程式碼寫完,換句話說,即使你不會數據結構和演算法,你也能找到工作(難易姑且不說)。如此一來,程式設計師種自然會出現大量沒有接受數據結構和演算法訓練的成員。

此外,實際工作中,很多人的工作是不需要接觸數據結構和演算法的,挑挑框架,按照規範寫程式碼,照著文件呼叫API,如此而已,時間長了,即使學過數據結構和演算法也忘了。不會,如果你在學校真認真學過,即使忘了紅黑樹怎麽實作,也不會忘了棧和雙向連結串列是怎麽回事。

話說回來,要不要學數據結構和演算法呢?

當然要!如果你不會,你依然能找到工作,但在這一行你沒法上升得足夠高,因為這個金字塔頂端的人可都是會這些的。

我不是歧視非名校畢業的程式設計師,大家的出身、際遇和運氣不同,任何時候只要好好學習努力相當,都是好同誌,我只是說明一個事實。

對於還沒有參加高考的同學,努把力,考上名校,你的基礎知識會更牢靠,將來找工作容易;對於已經參加工作但數據結構和演算法知識欠佳的同學,花點時間學一學,不要只是滿足於學會什麽什麽工具和框架,基礎知識對你有百益而無一害。