java,在路上

詳見鏈接: http://mrpeak.cn/blog/training/?utm_source=tuicool&utm_medium=referral

以下來自上述鏈接內容,摘抄如下,以自勉。

基礎的牢固


基礎很重要,比掌握幾個新的api重要,比掌握一門新語言重要,比多做幾個簡單的app重要,也比你想盡辦法通過面試重要。程序員的基礎包括操作系統,數據結構,計算機網絡,數據庫這些大類,算法可以選擇性的瞭解些。這些課程大學都會仔細教,培訓卻不會,培訓會教你做界面,怎麼上線app,怎麼去通過面試。但這些基礎直接決定你接受新知識的速度,決定你瞭解技術概念的深度,決定你以後這條技術路可以走多遠。如果只能對培訓出來的程序員們提一個建議,那就是利用一切可以利用的時間去咀嚼這些基礎概念。第一遍不懂看第二遍,查閱所有相關的資料從不同角度去理解,任何技術概念百度google都可以找出n多相關技術文章,只要你驅動力夠強一定能搞明白你想要了解的事物,哪怕是零基礎起步。這些基礎是你和四年大學最根本的差距,彌補的過程會比較痛苦,但這是唯一的途徑。

知識體系的建立


技術人員都要有自己的知識體系,上面提到的基礎是橫向的廣度,把這些基礎和具體技術相結合,然後深入發掘就是深度,深度和廣度構成一個T字形結構。建立這個結構是知識體系建立的開始,之後技術上的成長無論是廣度還是深度都是T字形的不斷生長,持續挖掘深度就成爲專家,不斷拓展廣度能成爲更好的架構師。我之所以強調基礎的重要性,就是因爲有了牢固的基礎才能形成自己的知識體系,才能明白自己當前的缺陷短板在哪,才能制定清晰明瞭的技術學習計劃。幾年前看到過一句話覺得很有道理,說一個好的程序員應該是:know a lot about a little, know a little about a lot, 是同一回事。

對待技術的嚴謹


技術問題和自然語言不同,對於技術,一種表達 只有一種意思。一旦思路確定下來,用代碼表現的技術容不得半點模糊,少一點考慮就多一個bug,所以對待技術問題需要一絲不苟的嚴謹。我剛畢業那會面試, 大公司出題都十分強調邊界條件的考慮,基本思路大家都會有,但能否把問題考慮周全,將所有的邊界條件理清楚就不是人人都能做到的了。我現在面試的時候除了 考察基礎知識之外,還會問一個(就一個)簡單的算法題,題目真的很簡單,幾乎人人都可以找到思路,但重點在於把所有的邊界條件確認好。

重視業務的磨練


我接觸過一些的iOS程序員,他們或多或少都有一到兩年的工作經歷,也做個好幾個app,規模都不大但業務涵蓋面卻不小。雖然有這些業務經歷,但卻沒有支撐這些業務的技術功底,你問他app的登陸token機制是怎麼樣的說不出來,用https爲什麼更安全也不瞭解,有些模塊不是自己寫的就不清楚。做業務其實是個完善上面提到的知識體系的好機會,一個業務要做到完善,讓用戶感受不到瑕疵的程度其實非常困難,各種邊界條件的考慮,安全性,流暢度,省電,流量,crash率,和其他模塊的交叉等等。所以請重視每一次業務的鍛鍊機會,想得要比產品經理更深入,遇到要填的技術坑不要偷懶,不要因爲趕進度就降低質量放過自己成長的機會。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章