1. 程式人生 > >為什麼很多大公司都面試演算法和資料結構

為什麼很多大公司都面試演算法和資料結構

參加過大公司的招聘,尤其是校園招聘的同學,很容易發現:很多大公司,都喜歡面試演算法和資料結構。

  以前,我對這個問題有點思考。最近,有個小雷粉,特意問到了這個問題。so,簡單說幾句,吐槽樂一樂。

 
1.我首先想吐槽的,這絕對是大公司裝逼的一個直接體現。
   通過出很多高大上的演算法和資料結構題,體現出自己與其它公司的區別。尤其是一些特別難的,一出考場,就熱鬧了,網上也跟著熱鬧了。
   
2.什麼型別的題目最有含金量,自然是資料結構和演算法。
   通過高大上的題目,才能識別出哪些是聰明勤奮的孩子,哪些是不入流的小弟。
   你要曉得,BAT等公司,給應屆本科生的薪水,都在月薪1萬以上,一年大概在13萬以上。
   薪水、人才、面試難度,自然是相關聯的。

3.演算法和資料結構是程式設計的本質。
   演算法,我覺得是個非常裝逼的詞。書本和網上的輿論,都把這個詞塑造的比較高大。
   我不這樣認為,為嘛呢,我就喜歡提出一些有新意的觀點。
   演算法,解決問題的方法而已,有啥了不起的。
   農民、建築、醫療,哪個行業沒有解決問題的方法,唯獨IT程式設計搞了演算法Algorithm出來。

  解決問題的方法,是所有行業的基本生產力,是工作生產勞動的基本手段。

  可以說,世界就是由問題組成的,人類每天都在解決問題。

4.演算法和資料結構的題目,相對標準化。方便出題與驗收。
   簡單幾句話,就把一個問題的上下文定義清楚了,考生各自作答。
  而且這題目,不容易死記硬背,可以遮蔽“書呆子”等不少人。

5.上面的吐槽,只說出了問題的一半。另一半是,為什麼是很多大公司,而不是小公司。
    大公司的業務比較複雜,用到的技術難度較大,對一個人的能力素質要求很高。大資料、雲端計算、高效能之類的需求也比較大,對資料結構和演算法等基本功的要求比較高。資料結構和演算法的功底,可以看出一個人的成長潛質。

   而中小公司比較在乎短期利益,招個能立即幹活,幫忙公司搞錢的工人。什麼能立即搞錢,當然是做專案啦,而不是搞研究,演算法啥的,根本用不上。中小型公司,做的更多是業務系統、網站,進度、效能、業務是主要的,演算法需求很低。

  打個比方,演算法就好比武俠中的內功,學得好,未來才能成為大蝦,稱霸武林。但是,內功再好,沒有招式,也發揮不出來。而做專案,搞應用開發,就好比武俠中的招式,學個一招半式,就可以找軟柿子捏擠下,體驗學武功的快感。 

6.演算法也好,做專案也好,都是市場的實際需求,都是應該學習和應用的。
  我們只需要知道,市場是市場的,我們是我們的。
  永遠應該清楚,自己想要朝哪個方向發展。

  學習哪些內容、學習多少、學習多深,關鍵還是看個人追求。
  不要被市場中企業的招聘需求和周圍人群以及網友的攀比迷惑了。

7.出來混,一手抓鈔票,一手抓理想。
  看看演算法和資料結構以及所謂的大公司,與你的鈔票和理想,是否有關係。