前言
現(xiàn)在由于互聯(lián)網(wǎng)時代的到來,越來越多的人去學(xué)習(xí)互聯(lián)網(wǎng)開發(fā),成為程序員大軍中的一員。也正是因?yàn)槌绦騿T大軍中人數(shù)眾多,導(dǎo)致了現(xiàn)在對于技術(shù)人員的要求也越來越高了。技術(shù)不斷的更新變化,因此技術(shù)人員也每年都在跟著時代不斷的學(xué)習(xí)。今天移動開發(fā)火熱,一群人去學(xué)習(xí)Android、iOS開發(fā),明天人工智能火熱又一群人去學(xué)習(xí)Python、人工智能技術(shù)。但是很多時候,我們在學(xué)習(xí)完成了一門技術(shù)之后去面試找工作,一些公司在面試的時候往往需要考察算法知識。但是很多技術(shù)人員都知道,其實(shí)在工作中算法知識用的其實(shí)很少很少,那么就產(chǎn)生了一個疑問,作為一名程序員,數(shù)據(jù)結(jié)構(gòu)和算法知識到底有沒有必要去學(xué)習(xí)?
首先回答你,如果是一般崗位其實(shí)不用;如果是進(jìn)BAT這種大公司,是需要會但是不用特別精通,如果是去國外加入Google、Facebook這種公司或者想拿高薪作為一名算法工程師拿就必須精通。下面我對這三種說法結(jié)合自身來分別說下。
一般型中小公司
對于小公司或者一般的公司來說,其實(shí)按照我的說法是不僅不需要精通,甚至可以說你完全無知也沒關(guān)系。因?yàn)樾」净蛘咭话愕墓救腴T門檻低,不要說算法了,就算是面試官可能都不太懂技術(shù),他主要面試的是人,也就是看人,覺得你合適就來,而且真正牛逼的人根本就不是靠小公司走招聘市場招來的,大牛一般都是靠挖來的。而且在一般的小公司都是專注去寫業(yè)務(wù)邏輯代碼,很多公司只需要你實(shí)現(xiàn)了這個功能就OK,對于代碼編寫規(guī)范或者時間空間復(fù)雜度等最優(yōu)實(shí)現(xiàn)根本就不會去管你。所以你在這里面其實(shí)會不會算法都沒有任何必要,會算法不會為你加分,不會算法也不會為你減分。
BAT
如果你是一個有追求的程序員,不甘心滿足天天在小公司待著,而是想去BAT或者TMD這種大型公司或者超級獨(dú)角獸公司的話,那算法是絕對繞不開的一個話題。就拿本人還有周圍去面試過大公司的朋友來舉例子。BAT面試全都要涉及到算法。騰訊我去面試過,在二面掛了,一面和二面其實(shí)都有算法題目,一面相對而言簡單一些,二面的算法就有難度了。而我有一個朋友,拿到了騰訊和阿里的offer,他回來說騰訊五輪面試中有一輪面試是專門考察算法,總共六道算法題目給了你兩個小時時間作答。阿里的電話面試?yán)锩嬉灿幸惠?a href="http://m.xsypw.cn/v/" target="_blank">視頻面試專門考察算法,也是當(dāng)著他們的面手寫算法。光講思路在騰訊行不通的。本人曾面對騰訊的題目跟面試官說我談?wù)勊悸钒桑嬖嚬僦苯討换貋碚f不要談什么思路,直接寫出來給我看,平時怎么敲代碼現(xiàn)在就怎么寫出來。可見對待算法完全沒有任何商量的余地。至于頭條公司那就更是如此了,因?yàn)轭^條就是一家以算法驅(qū)動的公司,對算法要求也比較高。但是即便如此,BAT對待算法還遠(yuǎn)達(dá)不到稱之為精通的地步。
硅谷形公司——Google、Facebook
其實(shí)最兇殘的公司是硅谷這些公司,例如Google和Facebook這類的公司。他們面試你問的全是算法,從來不會去問你專業(yè)知識,而且他們的算法問的是超級難得地步。只要你通過了Google、Facebook公司的算法面試,那么你進(jìn)入公司想做什么技術(shù)崗位都可以。比如,你一個從來沒學(xué)過Android的人,只要通過了他們面試,進(jìn)去做Android也完全沒問題。因?yàn)樵诶贤庋劾铮惴ㄊ欠浅ky得東西,你連這么難的東西還能通過他們的面試,那么其他的編程知識進(jìn)去給你時間學(xué)也能夠馬上學(xué)會。所以你想通過他們Google和Facebook的面試,那么算法確實(shí)要達(dá)到精通的地步,如果只是初級水平可能只有進(jìn)去參觀的份了。而不管時代如何變,算法工程師永遠(yuǎn)是市面上的稀缺物種,稀缺就代表值錢,所以學(xué)好編程不如學(xué)好算法,語言只是編程工具,算法才是編程之魂!
如果需要去面試考察算法的,這里可以推薦一般本書《劍指offer》,這本書基本上涵蓋了國內(nèi)所有公司面試考察的算法題目,只要把這本書上的代碼敲一遍,相信在算法領(lǐng)域面試基本應(yīng)該沒啥問題。或者想要動手操作的話也可以去LeetCode上刷刷題目,在練習(xí)當(dāng)中才能有所提高和進(jìn)步!
-
程序員
+關(guān)注
關(guān)注
4文章
954瀏覽量
30190
發(fā)布評論請先 登錄
相關(guān)推薦
阿里云升級通義靈碼AI程序員,全面上線
TMS320C55x DSP CPU程序員參考補(bǔ)充

學(xué)習(xí)硬件的第一節(jié)課:學(xué)習(xí)讀懂原理圖

UCD3138A64/UCD3138128程序員手冊

機(jī)械革命發(fā)布CODE AI程序員本
AI編程工具會不會搶程序員飯碗
第五屆長沙·中國1024程序員節(jié)開幕
京東上萬程序員都AI用它!

程序員節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎

程序員節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!

助力程序員告別困擾已久的夢魘-Bug

大模型時代,程序員當(dāng)下如何應(yīng)對 AI 的挑戰(zhàn)

評論