中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

一個(gè)c++的開發(fā)人員,大學(xué)畢業(yè)時(shí)必須掌握哪些課程和技能?

2018-07-20    來(lái)源:編程學(xué)習(xí)網(wǎng)

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

作為一個(gè)c++的開發(fā)人員,大學(xué)畢業(yè)時(shí)必須掌握哪些課程,和實(shí)際技能呢?


對(duì)于大學(xué)生來(lái)說(shuō),畢業(yè)就得找工作,找工作就得符合公司的需求。當(dāng)然面試可能會(huì)遇到你和面試官技術(shù)不匹配的情況,不過(guò)大多數(shù)情況,面試官絕對(duì)不會(huì)輕易的刷掉一個(gè)基礎(chǔ)特別好的同學(xué)。

1、什么是基礎(chǔ)?

基礎(chǔ)就是大學(xué)上的那幾門課程《計(jì)算機(jī)組成原理》、《計(jì)算機(jī)網(wǎng)絡(luò)》、《數(shù)據(jù)結(jié)構(gòu)》、《操作系統(tǒng)》等等。如果覺得基礎(chǔ)知識(shí)你已經(jīng)掌握的很好了(這里的很好只是你能認(rèn)識(shí)到得很好),可以再看看四門專業(yè)課的延生課程?赐辍队(jì)算機(jī)組成原理》可以看《深入理解計(jì)算機(jī)系統(tǒng)》,這本書對(duì)理解程序在計(jì)算機(jī)中運(yùn)行特別有幫助?赐辍队(jì)算機(jī)網(wǎng)絡(luò)》可以看《TCP/IP詳解》第一卷,工作之后你會(huì)發(fā)現(xiàn)后臺(tái)編程,很多東西涉及到了各種網(wǎng)絡(luò)協(xié)議。看了《數(shù)據(jù)結(jié)構(gòu)》建議看看《算法導(dǎo)論》,這本書得細(xì)讀,它不會(huì)教你如何寫正確的代碼,里面有很多數(shù)學(xué)推導(dǎo),它會(huì)教你如何寫更快更優(yōu)雅的代碼。掌握了《操作系統(tǒng)》這門課,推薦讀讀《深入理解Linux內(nèi)核》,對(duì)于初學(xué)者,如果沒人帶的話,很難從這本書中得到什么收獲,筆者讀研時(shí)選過(guò)這個(gè)門,當(dāng)時(shí)沒跟上老師講課節(jié)奏,后來(lái)發(fā)現(xiàn)這門課不管對(duì)于找工作還是工作都極其重要。

2、視野更加重要

書不是讀得越多越好,視野更加重要。上面提到的已經(jīng)就有8本書,不認(rèn)為在大學(xué)畢業(yè)時(shí)能夠把上面8本書理解得很好,雖然就算掌握了上面8本書,也不能算得上一個(gè)優(yōu)秀的后端程序員。無(wú)論從事什么工作一個(gè)人的視野很重要,視野可以細(xì)化到見識(shí)和素養(yǎng)。就拿《深入理解Linux內(nèi)核》這本書來(lái)說(shuō),當(dāng)初學(xué)習(xí)這本書的時(shí)候,并不知道學(xué)好了這本書對(duì)于我將來(lái)會(huì)有多大的幫助,不能夠體會(huì)到程序最終都要落到操作系統(tǒng)中,操作系統(tǒng)的優(yōu)化,哪怕只是調(diào)整一個(gè)簡(jiǎn)單地IO調(diào)度算法就會(huì)對(duì)上層應(yīng)用性能產(chǎn)生巨大變化,如果我提前知道了Linux系統(tǒng)的諸多用處,那么當(dāng)初學(xué)習(xí)的時(shí)候我也會(huì)更加有針對(duì)性,對(duì)操作系統(tǒng)理解得更加深入。因此建議多逛逛開源社區(qū)或者知乎、quora這類的網(wǎng)站,對(duì)提升個(gè)人計(jì)算機(jī)素養(yǎng)幫助特別大。

對(duì)于如何學(xué)習(xí)c++,這幾個(gè)帖子提到了很多干貨:
https://www.quora.com/What-is-the-best-approach-to-become-better-at-C++
https://www.quora.com/What-are-the-best-C++-books
參加開源項(xiàng)目是學(xué)習(xí)好一門語(yǔ)言最直接最有效的途徑,沒有比直接和大牛對(duì)話對(duì)你掌握一門語(yǔ)言來(lái)得更快。這里推薦兩個(gè)開源項(xiàng)目。
學(xué)習(xí)c++:
google/leveldb · GitHub
學(xué)習(xí)c:
antirez/redis · GitHub

刷題,還是刷題。一個(gè)好的項(xiàng)目無(wú)非包括兩點(diǎn)因素,好的理論+工程卓越。好的理論可以從書和論文中汲取,而工程卓越呢?需要實(shí)踐經(jīng)驗(yàn)。當(dāng)然對(duì)于大學(xué)生來(lái)說(shuō),不可能有很多接觸到大型項(xiàng)目的機(jī)會(huì),除了上面說(shuō)的多參與開源項(xiàng)目,直接和大牛對(duì)話之外,另外一個(gè)方法就是多刷題。無(wú)論系統(tǒng)有多大,最終還是要落到數(shù)據(jù)結(jié)構(gòu)和算法,系統(tǒng)性能由很多因素決定,程序算法和數(shù)據(jù)結(jié)構(gòu)是每個(gè)程序員能夠直接接觸到的重要因素之一。曾經(jīng)多次聽到一個(gè)老人抱怨帶的實(shí)習(xí)生把一個(gè)O(n)的算法寫成了O(n^2),對(duì)于性能敏感型系統(tǒng)來(lái)說(shuō)這是絕對(duì)不能接受的。這里介紹兩個(gè)刷題網(wǎng)站。
Leetcode:
LeetCode Online Judge
對(duì)于一般的程序員(這里的一般是指數(shù)量上的一般,不是質(zhì)量),刷刷leetcode就可以,如今已經(jīng)有三百多道題,每道題都有對(duì)應(yīng)的分類,對(duì)于針對(duì)性的學(xué)習(xí)特別有幫助。
對(duì)于對(duì)算法特別有興趣的同學(xué),可以刷:
hihoCoder
每周都會(huì)出來(lái)一道新題,題目難易程度不等,當(dāng)然能做到每周題目都跟上那最好。
對(duì)于ACMer,另尋出路。

選好方向。不建議以語(yǔ)言類型來(lái)界定程序員種類,如今各種語(yǔ)言編譯器已經(jīng)做得足夠好,語(yǔ)言和語(yǔ)言的差別已經(jīng)越來(lái)越小,針對(duì)不同的應(yīng)用場(chǎng)景使用不同的語(yǔ)言更加合理。公司招聘貼中常見的幾種職位有系統(tǒng)工程師、基礎(chǔ)平臺(tái)工程師、應(yīng)用開發(fā)工程師、數(shù)據(jù)挖掘工程師、運(yùn)維工程師等。對(duì)于不同的職位需要掌握的技術(shù)棧大不相同。系統(tǒng)工程師需要在操作系統(tǒng)有足夠了解,基礎(chǔ)平臺(tái)工程師需要對(duì)分布式系統(tǒng)足夠熟悉,應(yīng)用工程師需要對(duì)公司業(yè)務(wù)足夠了解,最好有相關(guān)開發(fā)經(jīng)驗(yàn),數(shù)據(jù)挖掘方向是今年比較火的方向,每個(gè)公司對(duì)這個(gè)職位的需求也不一樣,大體有三種,一種數(shù)據(jù)挖掘工程師是從分布式系統(tǒng)領(lǐng)域轉(zhuǎn)行過(guò)來(lái)的如hadoop, spark等,也有是從DBA轉(zhuǎn)過(guò)來(lái)的,或者從算法工程師轉(zhuǎn)行過(guò)來(lái)。運(yùn)維工程師需要對(duì)操作系統(tǒng)、網(wǎng)絡(luò)、分布式等有一定的了解,不要求算法多牛,但是對(duì)系統(tǒng)的整體認(rèn)識(shí)必須好。選好方向,掌握好計(jì)算機(jī)基礎(chǔ)之后,在該方向下多留心,擴(kuò)大自己在該方向上的視野,對(duì)找工作幫助很大。

總之,好的程序員不是等式能夠由不同技能相加而成,所謂熟能生巧,多review別人代碼,多留心周圍好的理論實(shí)踐,多參與其中,興趣是最好的老師。

 

譯文:知乎

 

標(biāo)簽: Google linux 代碼 網(wǎng)絡(luò)

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:真正的Android

下一篇:ASP.NET 5 開發(fā)者的五個(gè)階段??