【雜談】野生在左 科班在右——數據結構學習誓師貼

【雜談】野生在左 科班在右——數據結構學習誓師貼

【雜談】野生在左 科班在右——數據結構學習誓師貼

一. 科班 Vs 野生

這個老生常談的問題讓不少野生碼農以爲不公平,在一次次面試中由於學歷和那些工做中根本就用不到的知識虐的一臉懵逼,而後除了抱怨什麼也作不了。那爲何看起來不少科班同窗的編碼水平和職場軟技能都不如野生碼農的逆風局中,科班同窗卻可以勝出呢?下面所說的3點並不絕對,只是概況。javascript

  1. 學歷的背後前端

    這是HR同窗說的,筆者並無去求證。HR同窗說招聘應屆畢業生國家是有不少補貼的,能夠下降一些用人成本。另外一方面,規模稍大的軟件公司在承接業務和申請一些資格認證的時候,人員學歷構成是證實研究能力的一個硬指標,也就是說你必須至少擁有多少本科生,研究生,博士生,才能申請某些科研基金或者政策性的扶持資金,畢竟科技企業也是具有商業屬性的,其本質仍是要賺錢。java

    另外一方面,研究生和博士生所經歷的教育,讓他們的邏輯思惟和系統性思惟能力更勝一籌,也就是說面對你們都不會也查不到資料的問題時,他們知道如何一步一步提出假設或方案,設計方案,驗證結果。而你只會兩手一攤說本身無能爲力,不少時候一件事情並非你無能爲力就能夠不作的。git

  2. 內功修爲程序員

    高手之間的較量,都是內功和基礎的修爲。你或許都沒有意識到,碼農的學名叫作程序設計師,而事實上,程序設計師不只僅是職位名稱上逼格更高,更重要的是,其知識體系的抽象層級更高,設計模式,數據結構,算法基礎這三座大山將二者徹底劃分爲了兩個層次。github

    曾經有一個HR講過這樣一個故事,說面試者說本身熟練掌握了React,VueAngular,很是自信,可面對他提出的「那你除了SPA模型之外,對前端還有哪些瞭解呢」的問題一臉懵逼不知所措。這個故事讓我很受啓發因此本身一直記得,並時刻以此爲戒告訴本身接觸的新知識要儘量去了解其原理和本質,由於在更高的抽象層級和麪對的實際需求上,不一樣的新技術極可能是異曲同工的,而你卻沒有意識到。內功修爲深厚的人更容易看到事物的本質,由於抽象的思惟讓他們的視野變得更廣,也讓他們思考和認知的角度更加靠近數學和哲學的本質。面試

  3. 學力差距算法

    前端的知識體系平均每18個月更新一輪,選擇這個方向意味着你必需要有足夠的學習時間和自學能力。這是一場HIIT(High Intensity Interval Training)式的比賽,招式上的優點是沒法讓你保持持久競爭力的,你必須擁有間歇性到達巔峯的能力。就比如《倚天屠龍記》裏學會了九陽神功的張無忌,分分鐘就學會了太極拳;比如《天龍八部》裏的鳩摩智,憑藉小無相功就能夠催動少林72絕技,也像《火影忍者》裏仙人模式的漩渦鳴人,就會一招螺旋丸,而後混入各類查克拉,變化成各類屬性的忍術。編程

    那些內功修爲深厚或具有學習技巧的程序員,每每能更快地學會新的技術,並找出它們和現有技術之間的異同以及可能適用的場景,結果就是牛逼的程序員越學越亢奮,越玩越開心,而內功修爲不足的程序員憑藉毅力和熬夜能力,在2-3輪的技術迭代後被無情地淘汰。設計模式

想要提高本身學力的讀者,吐血推薦閱讀斯科特楊的《如何高效學習》這本書。這是一本高效學習的方法論,做者憑藉超強的學力,用一年多時間學完了MIT Open Courseware裏4年的CS(Computer Science)課程,並分享了他是如何作到的,其中不少學習方法是很是有借鑑價值的。

二. 前端的數據結構學習和練習

Talk is cheap , Show me the code.

2.1 主動練習

關於這個話題,筆者只有一句話要說,那就是動手實現所學到的東西。若是你讀過設計模式數據結構算法基礎這一類的書籍就會發現,其中大部分的內容也並非難到徹底看不懂,而是難在你不知道這些抽象的東西是如何跟現實鏈接在一塊兒的,你須要主動用這種抽象的思惟去鏈接現實的開發,纔會找到感受。

2.2 方法論

你能找到的大部分講解數據結構的書都是C語言或者Java描述的,你能夠在互聯網上找到O'Relly出版的《數據結構與算法javascript描述》這本書,並用你熟悉和喜好的javascript來學習數據結構的知識。請記得數據結構是內功的修煉,是不受語言限制的,因此不要再把數據結構的學習安排在C語言以後。

2.3 誓師貼

筆者本身也是野生前端碼農,爲了讓本身堅持學完數據結構的知識,會將學習過程當中所實踐的編程習題整理出來,並在github我的博客裏提供javascript版本的參考代碼,習題相關帖會陸續在各大技術博客發佈,歡迎關注點贊,也期待有小夥伴一塊兒加入學習!

相關文章
相關標籤/搜索