1樓:布客飛龍
題主的想法很好。寫stl可以學習資料結構和演算法,寫server可以學習網路的應用層,寫核心和shell可以學習作業系統。學linux c++,學到的不僅僅是linux c++。
一切cs的理論知識都要通過造輪子來驗證和鞏固。題主不用擔心學的太狹窄或是怎麼樣,一是這個方向本來就比單純的應用開發需要更多知識,二是無論你選了哪個方向,本科的核心知識,該學的總歸要學。我不反對有能力者可以提前預習,但是跟著課程體系的進度(不是內容)已然足夠了。
造輪子的話,當然是每個都造。理想情況下平均四個月造乙個。當然如果你們學校好的話,課程的大作業會讓你們造輪子,好好利用這個機會。
題主需要關心的不再是技術方面,而是這方面的工作內容是什麼,實際上需要什麼。以及崗位有多少,工作強度大不大之類的事情,不要去了之後發現工作環境或內容你不喜歡。
2樓:林間曉風
先客觀答題,如果是伺服器開發,那直接選Ngix就夠了。選出有點譜的輪子,乙個,只用乙個就夠了,少才是多!
然後吐槽一下^_^
前仆後繼的選擇hard模式生活的人。。。做乙個伺服器開發人員,深夜加班是常態,錢麼,打份工你還想財務自由不成。然後你聽過貧窮和勞累會使人變傻這個研究麼……
實際上學習能力才是真正的核心競爭力,因為即便你大學發狠來那麼一下,進入了名企,然而螺絲釘你個二三年,恐怕也該洩氣了。祝好!
3樓:巢鵬
1. 基本上大學參加ACM多多少少實現過一套STL,其實也不需要很多時間,好好學資料結構,作業好好整理一遍也就差不多了。可能更多是需要思考STL有些優化為什麼要這樣做。
2. OS,我導師說過學完作業系統這門課的最終作業應該就是做乙個作業系統。然而我沒有學過這門課。對作業系統了解也不深不說了。
3. TCP/IP 看過卷一,很多細節其實我並不清楚。後來我去看UDT,結合起來思考一些為啥TCP要這樣做的問題。
4. Nginx 其實是乙個典型的IO-解釋-處理執行緒-業務邏輯-回覆的server,更多是結合起來理解執行緒模型和IO模型。基於任何乙個網路庫實現乙個HTTP server並不是什麼難事。
5. 寫直譯器啊,最近改了下markdown的parser感覺應該也不會很難。
然而我並沒有學過作業系統,編譯原理...
4樓:露公尺 Lumi
第乙個輪子還好,後面幾個能有乙個做的比較完善的話,特別是第二個,進BAT應該沒問題。
以BAT的情況,基礎知識紮實,演算法過關,有些應用型專案,差不多就可以進了。
5樓:Raynor
把乙個東西先搞精通了再做這些范范的事吧,學習要有計畫性,大而全的事少做。
比如os,你知道bootloader如何載入os?驅動向量表怎麼分配位址?多核cpu時間片如何排程?虛擬頁如何保證命中率?
再比如網路,tcp4層和osi7層的本質差異在哪?對端不可達有哪些場景?視窗的侷限性是什麼?tcp和udp應用場合有哪些?
你說的這5大項你要能一年內全精通了,那我佩服你,你真的很有天賦。
否則還是挑重點慢慢來吧,具有重度學習障礙的我也是年輕時每天下班看書,半年才初步掌握一項知識的。
6樓:Slowargo Lin
哪個輪子比較重要,得看面試官來自什麼樣的部門。題主不妨從自己興趣出發看看對哪個方面更有愛,更願意從事哪個方向的工作。另外面試官除了輪子,可能更希望看到你為了解決某些實際遇到的問題用了哪些輪子或者造了哪些東西。
對於c++同樣是建議是為了解決哪些問題用了哪些特性,而不是為了用哪些特性找靶子。
7樓:
其實要看題主Tiny到什麼程度了...
要是跟著名校的PA一步一步做下來,上手會容易很多...
要是像輪子哥那樣合上書就自己實現一遍,那就不一樣了。
總之還是希望題主實現自己的目標~
Just for fun !
8樓:櫻桃小財主
建議做stl,不太難,並且能學到資料結構和演算法,還有模板程式設計
其它幾個沒必要這麼早確定,可以試試一些更前沿的東西,比如big data(hadoop,spark,datamining等),分布式計算,雲計算等東西,伺服器程式設計業界很成熟了,你想學工作後成長很快的。
9樓:袁昊洋
題主有沒有女朋友?
如果沒有,我建議你先抽點時間找個女朋友。
大學這個時間點最適合幹這個事情了,過了這個時間以後難度陡增!
輪子什麼的等有女朋友以後再說也是可以的。
10樓:
我是本科正常學,但在學習和專案中都有比較大的收穫,今年校招拿到中興華為和差不多的offer七八個,離題主目標差挺遠,但可以代表很多普通學生。
個人建議學習的時候不要想太多,現階段只要扎扎實實學習好本職課程,業餘學學感興趣的東西就好,還可以課餘時間可以找小夥伴做做專案等等。
總之不要帶有「我要去BAT」之類的思想去學,要在學的過程中有所思有所感,而且跟著興趣來學的也比較有動力。
11樓:CoderAfterWork
其實,你更該考略的是大學規劃和人生規劃。
程式設計是謀生手段,但不是生活全部。
其實吧,我建議你少實現一兩個輪子。但也要實現一些。
做課設的時候,多和團隊的人一起多交流。交流是很重要的。
國內網際網路也就那樣,要是想去大公司美國總部。還是去讀個Master,然後找工作吧。
英語也是必須的。
12樓:
電腦科學我算晚輩,說個題外話。
題主兩次提到目標,一為FLAG/BAT,二為名企。我感覺學習動機不純。不是說為了高薪名企offer不好,而是戰線拉的太長,要每天十五小時學習持續兩年。
如果是有興趣、好奇、覺得碼的東西很酷,不斷地獲得正反饋,很有利於克服挫折、持續學習;如果是為了高薪offer,太遙遠了,這個過程中稍有挫折,會不堪一擊,會動搖,思想會走死胡同。是因為有興趣所以熱愛所以高精尖所以高薪offer,而不是為了高薪offer而去高精尖而去強迫自己學習、打上『每日十五小時』的刻苦標記。
所以說,還是希望題主能找到興趣所在、讓興趣與熱愛成為你的源動力,當然你也可以找個女朋友共度難關,不過對於我們電腦科學的男孩子來說,顯然前者更容易一些。
計算機學生學習運籌學的意義?
Kent Zhang 在下是曾經的計算機學生,現在已經在軟體開發的路上苦行了超過15年,應該有點經歷可以回答這個問題。在15年的前半段,基本上是做一些普通商用軟體開發,認為寫程式並不需要太高深的數學相關知識,相關的數學結構和演算法除外。但近年專注於APS專案開發,發現APS系統 或其它規劃相關的 用...
大一學生如何規劃學習計算機?
Undo 同電子資訊工程專業。現在實習web開發中,既然想學計算機相關,就走自學路線吧。這個專業教不了你什麼的。我提兩點建議吧 1.想從事嵌入式開發方向,就繼續學下去吧。學習是不能指望別人能教你多少的。一般學校的嵌入式相關課程在大三時候才開,建議你大二就要開始自學吧。嵌入式方向的程式設計公司招人的時...
大一計算機學生如何學習機器學習?
大江東去 估計樓主早都入門機器學習了,那就給其他人參考吧。現在這個年代,直接學習深度神經網路,也是一種不錯的選擇,例如1 卷積神經網路 卷積神經網路,尤其是AlexNet,開啟了人工智慧的新紀元。卷積神經網路 2 深度殘差網路 深度殘差網路在跨層恒等通路的幫助下,可以很輕鬆地得到訓練。深度殘差網路 ...