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