從程序員到軟件工程師[2]
當時看算法本身的文檔,然后又回頭看線性代數,終于理解了算法,并用程序表達了出來。由于是嵌入式用的,又花了大量時間進行算法優化。
后來跳槽時終于嘗到甜頭:
1。薪水高,基本上一應聘就是Senior的職位
2。穩定,這個一般大街上招一個程序員是做不來的
3。機會多,這個怎么說呢,反正只要是大公司招人,象微軟、Google等,除了問一些語言本身的問題外,基本上就是算法和數據結構的問題。
通常面試那些時間你寫源代碼是來不及的,基本上就是寫偽代碼。或說明你的算法基礎和思路。答的好一兩句話就解決了。
想走這條路的朋友,我首先建議好好讀讀《數據結構與算法:C++版》,里面所有常用算法和經典算法及數據結構必須爛熟。其次,建議將大學課本找回來,幾本高數好好復習復習。《線性代數》《概率和數理統計》《微積分》《常微分》等等。
我們不是大牛,基本上創造不出新算法,但是我們能夠將別人的算法實現或者能把一個具體問題分解成已知的'算法,那么你就是一個很不錯的算法工程師了。
說實在話,語言只是工具,是很容易掌握的。99年2000年泡沫時期,不是很多人突擊那么三個月就可以上路做programmer么。就象刀法是很容易學會的。要應用精熟,也不過是長時間的積累而已。
對語言的理解實際上就是對刀法的領悟,有人是頓悟。但是多用總是會漸悟的。
最重要的是基礎,就是數學能力,那可是內功?梢赃@樣說,你要想真正和其他程序員拉來差距就在這里。
我朋友的孩子想走計算機編程這條路,考大學我就推薦考數學系!
再有就是多做那些大公司的面試題,一是鍛煉自己的大腦,二是熟悉這些算法的應用。
好了,現在能想到的就這幾點,這里給幾個面試的例子,看看能不能用最簡單的描述解答
1.如何生成一組正態分布的隨機數?
2.有一個二維迷宮,如何找到出口路徑?
3.有數據庫存儲一股票每五分鐘的實時報價,如何生成每小時,每天,每周……的股票價格變動曲線?
====>我的建議答案
1。生成二維隨機數,只取落在正態分布包絡線內的數
2。二維連通圖深度優先遍歷
3。傅利葉變換
【從程序員到軟件工程師[2]】相關文章:
程序員、軟件測試工程師簡歷范文10-16
窮小伙從2塊錢到2個億的故事11-04
軟件程序員簡歷范文08-23
象棋如何從入門到精通09-04
從平凡到卓越培訓心得01-20
從洗臉到化妝的步驟10-07
從春天到冬天的成語02-11
張向東:從記者到總裁09-19
軟件工程師崗位說明書2篇08-28
Java軟件程序員求職簡歷模板08-26