乙個非計算機專業學生自學轉碼之路

2021-10-04 12:58:25 字數 2527 閱讀 3299

似乎又到了春招的時候了,看到了各種經驗貼,回想了我這兩年艱難的轉碼自學之路(因為走了很多彎路),覺得也有必要寫出來,或許可以幫助到很多決心務碼的同學。

首先我要介紹一下我的情況,博主是中部地區985機械專業的本科生,入學談不上對專業的熱愛,但還是不排斥的,大一時才接觸c語言程式設計,那時候可能是由於教學方式不適應導致我並不喜歡程式設計,然後我就在機械建模、機械設計、微控制器中度過了近乎前兩年。然鵝讓我選擇走碼只是乙個偶然,那就是我對stm32(一種微控制器)的恐懼,晶元**量巨大,我看起來很困難,於是我被迫重新仔細學習程式設計,於是就一發不可收拾,讓我有了走程式設計的念頭。

我還是建議廣大同仁們從c語言和c++入手,畢竟相比於其他語言,他更古老一些,功能也能強大一些(這裡不**那種語言更好,不然又會吵起來),說起學習c++,很多人都會推薦c++ primer plus入門,沒錯,這是一本極好的學習資料,但是在我這個幾乎程式設計小白入門的過程中,我反而覺得這算是一本介於入門與高階之間的書,並不適合剛接觸程式設計的人,而且我發現有些面試寶典裡對一些知識點講的更加透徹,於是我推薦的學習路線是:

譚浩強的c語言程式設計(最基礎的入門書)強烈建議將課後習題打一遍,因為剛入門的同學的邏輯水平和數學技能要遠強於**水平,很容易出現眼高手低的情況,練得少就會一下手就出bug

c++ primer plus中文版,這就是c++最暢銷的書籍了,建議認真閱讀,以了解c++各部分與庫的用法為主,有時間有毅力的可以把感興趣的部分手敲一遍(全敲就強人所難了)

程式設計師面試筆記c/c++、演算法、資料結構 這是本紅皮書,我覺得這本書在c++11新特性上邊解釋的比較清楚,比c++ primer plus要生動一些,裡邊會解釋很多經典演算法與面試題,可以參考一下,最重要的是要理解概念

我也可以講述一下我的錯誤經驗,我是c語言才會了一點就去看c++ primer plus硬啃,花了很多時間,函式部分、模板類、智慧型指標好幾部分知識還是迷迷糊糊,最後不得已放棄,當我又學完資料結構、刷了很多oj題目之後再回來看的時候,才看懂了,所以建議大家初步學習以概念為主,真正的學習過程是理論與實踐的反覆迭代。

這裡主要寫演算法的學習,我花了最多的時間在這上邊,乙個原因是我喜歡追求最好的解決方式吧。我是最開始在課程裡了解到了一點點資料結構(僅限於知道名字),於是我就找了本最經典的資料結構c語言實現這本書開始看,但是由於我缺少對資料結構的系統認識,很快就被勸退......我以為是我數學功底不夠,於是去學習了離散數學,mooc課程+課本,搞了幾個星期,最後卡在了圖論上,我又以為是對拓撲學認識不足,又買了本拓撲學(黃皮那本)硬啃...最後灰心喪氣,好在是我想到了剛入學用的校acm隊開發的答題系統,於是考慮了通過刷題提高自己,於是我就在poj、杭電oj上寫些最容易的題目,後來有好友給我推薦了leetcode,於是在刷leetcode的過程中,我才慢慢找到了學習節奏。所以這裡給大家推薦的學習過程是:

資料結構了解概念與功能,有一定**功底的可以選擇把所有資料結構復現一遍,剛入門的同學也不要怕,刷題的過程中會了解的更加深刻。

當你在leetcode上邊達到了中等題目可以思考一會或者除錯一下能夠解出來的話,那是就可以考慮筆試了。

我是在大二下和大三上開始刷題的,那個時候可以專業課和課設最多的時候,於是我花了接近兩個學期來寫題目,leetcode上邊寫了400道左右,周練解出3道問題不大了,偶爾可以全解出來,如果堅持每天都刷,最多三個月應該就可以了,然後我就滿懷信心去面試了,投了cvte,拼多多的內退提前批,結果面試一塌糊塗,我仔細反思之後才發現是概念不紮實,這也是我為什麼我把程式設計師面試筆記c/c++、演算法、資料結構放到前邊,概念和基礎一定要打牢!

首先要有乙份簡歷,然後去投公司,然後等著被pass

硬體準備我就不說了,很多部落格說的很清楚了,我先說一下我的準備經歷,我一直覺得演算法崗位是乙個很有逼格的崗位,於是開始積極準備機器學習方面的知識,這大概在我大三上的時候開始準備,沒錯,就是馬上要投簡歷的時候才開始的,我一直以為演算法就是資料結構,但是我錯了,當我意識到的時候,時間已經不多了,我去網上找了門課程,是小象學院的機器學習演算法精講(我不是做廣告的),然後將典型的演算法比如:lr,svm,決策樹、隨機森林、adaboosting手推了一遍,那段時間我真是連課都不上了,天天學演算法,最後我投了華為的演算法崗,果然功夫不負有心人,我被錄取了,做的是機器學習的工作,而且得到了主管和導師的讚揚,只是我最後選擇繼續深造,沒有留在公司。時隔一年,正好今年華為的軟體精英挑戰賽用的華為雲,我當時做的專案也是關於華為雲的,雖然我知道我寫的**絕對不可能被使用,但還是有那麼一種自豪感。我現在還在做演算法和軟體的工作,而且我現在還是熱愛它的,還是很慶幸當年毅然決然的轉碼。

我面試了好幾家公司:cvte、拼多多、京東、華為等等,我發現公司對學生的期待還是可培養性,即使做的不是**工作,只要經歷豐富都會加分的

注意:經歷不要亂編,問了答不出來就等死吧

計算機原理、網路技術、資料庫這幾部分大家還是需要準備的,只是這些與語言和演算法無關,我沒有列舉在上邊

筆試一定要好好寫,盡全力,因為筆試好,面試也會加分的,面試官看的到成績

最後,建議大家將每天刷題變成習慣,可以讓自己對常規演算法保持熟練,做更難的題目也可以不斷提高自己的邏輯水平

作為乙個計算機專業學生的心得!

學習計算機一直從09年到現在,時間也不短了,但是從自身看來,覺得自己在技術上還是遜色很多,可能是因為沒有進過公司實習吧,所以對於公司的環境及要求也不是很了解。從一開始就在關注csdn,但是從來沒有在上面寫過什麼東西,總是覺得自己懂的太少,沒有什麼好寫的,今天看了一篇乙個女程式設計師的第九年的工作總結...

非計算機專業,自學程式到成為專案主管

普通程式設計師與優秀程式設計師差別 普通的程式設計師遇到問題喜歡張口就問別人,問之前沒經過大腦想想。優秀的程式設計師多半會先到網上查詢一下相關問題,看看網上有沒有相關解決方法。經過一翻查詢,他會把這個問題記得比較牢。在乙個專案的合作開發中,普通程式設計師往往只了解自己開發那方面的東西.優秀的程式設計...

給師弟師妹的乙個計算機專業書單

1.c primer c 的入門讀物,沒什麼可說的了。同時也是可以放在手邊的參考書,總會有些生癖的東西記不清楚,有它在,基本都能解決你關於c 的問題。2.effective c 和 more effective c c 的高階讀物,不是告訴你怎麼寫程式是對的,而是告訴你怎麼寫程式更好。效率更好,更不...