面試有多年從業經歷但是基礎不好的程序員,是否需要詢問基礎演算法的問題?

面試了很多人,很多工作多年的人感覺基礎都不好,是否工作多年就不該問數據結構跟演算法相關的問題呢?


蘇聯物理學家諾貝爾獎得主列夫.朗道編了一套《朗道理論物理學教程》,共十卷,難度極大。凡是要讀朗道的研究生的人,都必須把十卷書里所有的習題都做出來,最後還得來一場朗道親自出的範圍極廣極深的考試。由於此路如此崎嶇,故他的學生們都將此過程成為朗道勢壘。突破了朗道勢壘,猶如突破了第一宇宙速度,就可遨遊於物理之天空,算是一流物理學家了。

菜鳥不那麼容易變成牛人,因為我相信編程領域也必定存在著所謂的朗道勢壘,演算法和數據結構的基礎就對應於物理學中《朗道理論物理學教程》其中之一卷,或許是最中心的一卷。剩下的還有硬體體系結構、網路通信協議、面向對象與設計模式、編譯技術等等。都突破了,那麼就可以展翅於代碼之天空,聆聽程序的音符了。


我知道百度需要精通演算法的人才,Google 需要,facebook 也需要。但是,如果您的職位真的需要精通演算法的話,也就不會來這問這個問題了吧?


基礎紮實的人思考問題的方式都和普通人不同,要犀利的多。。


看你面試的職位是啥了吧,還有你打算找什麼樣級別的人吧


我認為面試除了了解技術,還有一塊很重要的因素是面性格。

技術基礎有用,經驗也有用,但是如果性格與團隊氛圍不合,有勁也使不上。

我會佔50%來考察性格。


主要是看你們的實際需求是要出書還是做項目。


人家通讀演算法導論,精通高級演算法,請問,你的項目真的可以讓人家施展么?


我一同學剛畢業在公司裡面和3個同事一起寫快速排序,只有一個哥們寫出來的排得對。

讓這個哥們講一下怎麼實現的,這哥們還講錯了。

不是說演算法不重要,重要的是知道在什麼地方用演算法,用的演算法在那裡能查到,並且能實現正確。這個在面試的時候很難表現出來。


如果純粹做應用的,在國內這種環境下,我懷疑大部分是工作的越久,這種知識遺忘的越多。越是剛畢業的可能越記得。


按崗位需求招人,而不是按個人喜好招人!


很多經典演算法都是對問題深思熟慮出來的,需要打磨和靈感;

面試一個不熟悉的演算法,也說明不了啥


面試下來,覺得國企領導超級喜歡面演算法。而且不看重你是否和他們交流,如果你沒有立即反饋正確答案,即使你有交流互動最後有了解答,他們也不會對你認可。應該是,不差錢,不差人,就是看不上你。


我覺得完全看考官,如果考官出生名校,而且有非常有項目經驗,肯定會偏向演算法,數據結構。如果考官大學一般,項目經驗多,往往只會問實際項目中的問題。

如果互聯網行業,覺得演算法,數據結構最好就別問了。


現在的程序員懂一門語言就基本出來開發了,不像以前的程序員要懂很多,基礎會薄弱,但相對於一個企業來說,盈利是最重要,如果能做事就差不多了,可以慢慢培養。牛人還是很多,只是有沒有機會遇到


除非你是做殺毒軟體或者系統底層開發的可能需要數據結構吧.其他類型的程序很少需要這些.長時間不用自然就生疏了.


大部分人沒機會接觸到基礎類型的開發,用則進,非則退。

所以還是看什麼樣人問什麼問題。

感覺問問題可以了解一個人的過去,幫助判斷未來。這可能是問問題的原因。


推薦閱讀:

做一個簡單的搜索引擎,需要哪些知識和技術?
有哪些好的編程學習,演算法學習,以及學生練習的網站推薦給學生?
如何證明實現的演算法和數據結構是正確的?
機器學習中的邏輯回歸到底是回歸還是分類?能否用邏輯回歸實現連續目標的預測,比如說時間序列?怎麼實現?

TAG:面試 | 程序員 | 演算法 | 計算機 |