Android程序員普遍無法突破高級,是缺乏數據結構和算法知識?


Android程序員普遍無法突破高級,是缺乏數據結構和算法知識?


在很多程序員看來,數據結構,算法這一類的東西感覺沒用,在實踐中都不常用,所以都會很忽視這類內容,但是在很多公司看來,尤其是大公司看來數據結構和算法這種東西確實最有用,而且經常在筆試和麵試中出現。為什麼會這樣呢?

1、看似最枯燥、最基礎的東西往往具有最長久的生命力

像數據結構,算法這類東西,還有有一些計算機原理之類的知識,這些東西都是編程和實踐的根本。他們看似枯燥和基礎,但是具有最長久的生命力。

我知道,你可能熟悉各種框架,各種開源庫的使用,但是那又怎樣?看著各種框架和開源庫的文檔,只要有編程基礎,誰不會照著葫蘆畫瓢呢?

不要天天談什麼框架,什麼庫,框架每年層出不窮,可是扒下框架那層炫酷漂亮的外衣,裡面還是那些最基礎的知識和原理。就是這些算法,數據結構,計算機網絡,計算機原理這些看似基礎的東西。如果這些掌握紮實了,你才有更加深一步的可能。

編程語言和編程框架等這些表面的東西,對於一個基礎紮實的程序員來說,學習起來很快,成長也很快,如果這些基礎和原理都懂,你就可能會寫出這樣的框架來。技術更新迭代快,語言層出不窮,但是數據結構,算法,計算機原理這類的東西確實沒有變。

2、數據結構和算法在面試的時候最容易量化和體現能力

什麼意思呢?在面試或者筆試的時候,面試數據結構和算法,可以面出你的思維能力,思考能力,這個能力對於編程來說很重要。比如:如果面試你使用過什麼框架嗎?你說:會,使用過,然後你談了談使用這些框架的一些知識和遇到的坑,以及怎麼解決的?通過這樣的問題,不能看出的思維能力和編程能力,只能看出你確實會用這個東西。

而面試算法和數據結構不一樣了,以為面試這種東西可以讓你寫出來,或者寫偽代碼,而且這些能力如果你有,你的成長空間也高。面試你編程的實踐能力,不可能讓你上機去敲一個模塊的實現吧?而讓你寫個算法和數據結構卻很方便,也可以量化。

所以,很多人平時不用算法和數據結構,在跳槽的時候,也會提前去複習算法和數據結構的知識,因為這是面試中很常見的問題。但是我還是建議大家能夠一直有這種能力。不要因為不常用而忽視這些基本的東西,這些東西才是精華。

我平時也整理了全套的數據結構算法資料在石墨文檔。

Android程序員普遍無法突破高級,是缺乏數據結構和算法知識?

需要的朋友可以後臺私信我關鍵詞【數據結構】,前往免費領取。


目前大部分程序員是不重視這類東西的。而優秀的程序員是非常重視這些東西的,所以他們才優秀。

要想優秀的話,你懂得。


分享到:


相關文章: