最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

適合普通大學(xué)生的后端通用學(xué)習路線

2022-07-11 22:35 作者:帥地玩編程  | 我要投稿

說實話,對于學(xué)習路線這種文章我一般是不寫的,大家看我的文章也知道,我是很少寫建議別人怎么樣怎么樣的文章,更多的是,寫自己的真實經(jīng)歷,然后供大家去參考,這樣子,我內(nèi)心也比較踏實,也不怕誤導(dǎo)他人。

但是,最近好多人問我學(xué)習路線,而且很多大一大二的,說自己很迷茫,看到我那篇 普普通通,我的三年大學(xué)(https://www.iamshuaidi.com/344.html) 之后很受激勵,覺得自己也能行,(是的,別太浪,你一定能行)希望我能給他個學(xué)習路線,說實話,幾乎每天都有問這種問題的,鑒于此,我就來寫一篇適合普通大眾的學(xué)習路線,就從大一入學(xué)那一刻開始入門說起,雖然不一定適合你,但或許能給沒有明確目標的人帶來一些學(xué)習的方向,那么這篇文章,我就覺得值了。

注意:這篇文章不是讓你成為大神的,學(xué)完也不是多厲害,而是,給處于大學(xué)迷茫、不知道學(xué)啥的你,一個學(xué)習的方向,無論你是否是科班。不過我相信,當你學(xué)完了這些,你應(yīng)該會有自己的學(xué)習方向了。

一、選擇一門語言入門編程的世界

1、入門語言的選擇

學(xué)習編程的第一件事,我覺得就是選擇一門語言,不過能選擇的語言實在是太多了,不知道如何選擇的,可以選如下一門比較熱門,也是 90% 人的選擇的語言入門。分別是 C 語言Python,Java。(至于Go的話,我覺得編程入門還是不大建議選擇Go)

那應(yīng)該選哪一門呢?說實話,我覺得選哪一門都問題不大,因為等你成功入門之后,你大概率還會學(xué)習其他語言,那么我這里建議跟著學(xué)校的課程來選,因為大一基本也都會開設(shè)一門編程語言,我們學(xué)習當時開設(shè)的是 C 語言。

那么問題來了,根據(jù)讀者的反饋,其實還要部分學(xué)校大一是沒有開設(shè)這些語言的,而且學(xué)那些網(wǎng)頁設(shè)計這類的語言,那該咋辦?答是我這里建議你仍然選擇一門語言來學(xué)習,由于你不是跟著學(xué)校的課程走的,那么我這里建議你選擇 C 語言。

說實話,我覺得不論你是學(xué)哪一門語言的,如果有時間,都應(yīng)該了解、學(xué)習下 C 語言,我覺得,你只要會了 C 語言,那么你入門其他語言分分鐘,但會了其他語言,入門 C 語言可能會被虐。學(xué)習 C 語言,真的讓人學(xué)習到挺多知識的,所以你不知道學(xué)習哪一門語言,這里我建議學(xué)習 C 吧,以后參加打ACM之類的比賽了,也一般用 C/C++。

2、書籍以及視頻的介紹

這一個星期,我至少被 15 個人問過學(xué)習 C 語言要用哪一本呀?用什么編譯器?。糠凑沂潜粏柨蘖?,不過當年我也有這樣的疑問,所以就都耐心回答了。所以這里介紹下一些書籍和視頻,雖然不是最好的,但我覺得還可以。這里我就以 C/Python/Java 為例子來介紹。

(1)、C語言

書籍推薦:書籍可以看《C語言程序設(shè)計》,譚浩強寫的,適合入門學(xué)習(當然,很多人噴這本書,你們也可以看別的話,我作為初學(xué)者看時,感覺還不錯),也是我第一本看的書。進階可以看《C 和指針》。

視頻推薦:可以看浙大翁老師錄制的視頻,在 b 站搜索 C 語言就出來了。說實話,對于新手,我覺得看視頻還是比較不錯的,可以少掉很多坑,不然你搞編譯環(huán)境都搞死。

這里工具我就不介紹了,一般書籍和視頻都會手把手交你們用哪個編譯器。我當時用的是 codeblocksdevc++,不推薦 vs6.0,過時的編譯器了,然而很多高校還在用,,,

(2)Java

書籍推薦:《Java核心卷1》,這個算是入門書籍吧,入門書籍我看的不多,暫時介紹這一本,因為沒看過的一般我不介紹,大家可以去網(wǎng)上搜索。

視頻推薦:這里推薦 【尚學(xué)堂】Java300集,作者是 高琪 錄制的,b 站搜索就可以了。講的是真的好,入門的話,感覺看前面 100 多集就可以了。第一季講的可以,后面的我覺得講的一般,也可以看韓順平的 Java,聽說講的非常好。進階可以看《Java編程思想》,這本書也很好,解決了我很多疑惑。

Java 編譯器推薦用 IntelliJ IDEA,自己百度去搜索。

(3)Python

書籍推薦:這里推薦《Python編程:從入門到實踐》。

視頻推薦:我看過小甲魚是視頻,還不錯,如果大家要看小甲魚的視頻的話,書籍可以順便來他的配套書籍吧。視頻叫《[小甲魚]零基礎(chǔ)入門學(xué)習Python》,b 站搜索就可以了。書籍也是也是《[小甲魚]零基礎(chǔ)入門學(xué)習Python》。

開發(fā)工具我當時是用 pycharm

問題來了,很多人問,應(yīng)該掌握到哪個程度才算可以呢?

說實話,我也不大清楚,,我覺得書中說的,90% 理解就可以了,注意,是理解,具體怎么寫,忘記了問題不大。總之,當然是學(xué)的深點比較好了。

二、數(shù)據(jù)結(jié)構(gòu)與算法

大學(xué)第一學(xué)期你入門了某種語言之后,就要開始學(xué)習數(shù)據(jù)結(jié)構(gòu)與算法L。當然,不一定是第一學(xué)期,對于非科班的也一樣,也是建議這個學(xué)習順序。當然,你有自己的目標,完全可以按照自己的來。

我的文章是主寫數(shù)據(jù)結(jié)構(gòu)與算法的,我秋招也是靠著這個優(yōu)勢拿到 offer 的,所以我認為數(shù)據(jù)結(jié)構(gòu)與算法是非常非常重要的,可能你會聽到工作都基本沒用到這些知識啊,或者庫函數(shù)都幫我們封裝好了啊,我們干嘛要學(xué)。

如果你這樣想的,那你就錯了。對于想要找工作的來說,這方面的知識是必考的,所以你得學(xué);對于已經(jīng)工作的來說,這方面的知識,可以讓你學(xué)習到很多設(shè)計思想,所謂 數(shù)據(jù)結(jié)構(gòu) + 算法 = 程序,而且你學(xué)了這個,你會發(fā)現(xiàn)學(xué)習其他知識,上手的特別快。綜上,數(shù)據(jù)結(jié)構(gòu)與算法必學(xué)。

好吧,上面扯了這么多,就是告訴你,數(shù)據(jù)結(jié)構(gòu)與算法的重要性,好了,下面我介紹下入門數(shù)據(jù)結(jié)構(gòu)必學(xué)的有哪些,不過你跟著書本的學(xué)習順序來就是了。

1、基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)的學(xué)習

1、時間復(fù)雜度、空間復(fù)雜度

2、鏈表、隊列、棧

3、樹(二叉樹,查找二叉樹、AVL樹,紅黑樹等)

4、圖(圖有好多種算法,深度/廣度搜索,最短路徑、最小生存樹等)

如果你是科班的,那么這些我覺得你大一第二學(xué)期都學(xué)完是最好的了,沒學(xué)完也問題不大,有些人可能是先教《離散數(shù)學(xué)》這本課,為數(shù)據(jù)結(jié)構(gòu)與算法做鋪墊。

書籍推薦:《大話數(shù)據(jù)結(jié)構(gòu)》、《數(shù)據(jù)結(jié)構(gòu)與算法分析:C語言描述版》,學(xué)哪一本?都可以,問題不大,我當時學(xué)的是第二本。大家記得根據(jù)自己的語言去學(xué),我上面列舉的,都是用 c 語言來實現(xiàn)的。

視頻:我只看過《小甲魚的數(shù)據(jù)結(jié)構(gòu)與算法》視頻,你們自己看著辦吧。

2、算法的學(xué)習

在大一大二,真心建議你們把算法基本功打好,后面就真的沒啥時間刷題之類的了,因為無論你以后要學(xué)習哪個方向的,算法都是實用的,會一些算法,說話也都自信了。算法的學(xué)習,刷題是必須的了,但不建議盲目刷題,而是先學(xué)習一些算法思想,在找對應(yīng)的題刷,要學(xué)的主要有:

1、十大排序算法

2、遞歸、貪心、回溯、動態(tài)規(guī)劃、枚舉等

推薦書籍:《阿哈算法》、《算法設(shè)計與分析基礎(chǔ)》適合入門;《算法第四版》、《算法導(dǎo)論》、《編程之美》適合進階

視頻:這種還是挺建議看書,我沒看過視頻,,這里就不介紹了。

3、保持算法的學(xué)習

算法的學(xué)習,真的是靠積累的,而刷題是必須的。而且學(xué)校都會舉辦一些比賽,這里還是比較建議大家去參見的,這樣也能讓你更加有激情著去學(xué)習。當然,每年都會有很多 ACM 編程大賽,要不要參加呢?這個看你了,也不是說參加就一定好,看你自己吧,具體可以參考我之前一篇文章說的: 普普通通,我的三年大學(xué)

大家可以在 leetcode 長期保持刷題,一天一兩道,或者一個星期三四道都行。

三、選擇一門語言深入學(xué)習

剛才我選了選擇一門語言來入門,之后你可能還會學(xué)習其他語言。我當時 C 語言入門,后面深入學(xué)習 Java。

你可以學(xué)習過很多種語言,但你一定要有一門拿的出手的語言,所以把上面的學(xué)習了之后,這個時候你可能是大二,最多大三,那你就應(yīng)該選擇一門語言來深入學(xué)習了,一般可選的有四門:C++,Java,Python,Go,如果你想從事后端開發(fā)崗位 ,那么 C++,Java和Go相信是大多數(shù)人的選擇,其中我覺得選擇 Java 的人數(shù)是最多的。Go 是最近才火起的語言,也是個不錯的選擇。

那么問題來了,該選哪一門呢?入門你以后想從事游戲之類的開發(fā),那么建議選擇 C++,或者你以后比較想去騰訊字節(jié)跳動這些的,可能選擇 C++ 會好一點。如果你想從事Web網(wǎng)站開發(fā)的,或者未來想去阿里巴巴、美團這些的,那么 Java 會好點,Go 和 Python呢?其實我也不是很懂,哈哈哈哈。不過我聽說,對于一些不是很大型的網(wǎng)站之類的,都會用 Python 或者 Go 之類的快速開發(fā)。

大家如果是面向公司編程的,可以去看看哪些公司的技術(shù)棧,來選。當然,無論你選哪一門,只要你有實力,哪個公司都會收你,只是有可能到時候要轉(zhuǎn)語言,我現(xiàn)在好像是需要從 Java 轉(zhuǎn)向 Go,不過語言只是一門工具,把基礎(chǔ)共通的知識學(xué)好,轉(zhuǎn)語言都問題不大。

四、以Java為主的后端開發(fā)學(xué)習路線

由于我是深入學(xué)習 Java 的,那我就介紹下 Java 的學(xué)習以及書籍的推薦吧,其他語言我覺得也類似。我大二開始學(xué)習 Java 的,還是看了挺多知識。入門的就不介紹了,上面介紹過。下面說的基本是深入學(xué)習必須理解的了。

1、Java進階必學(xué)

集合模塊:主要是包括各種常用集合:例如 Set(包括HashSet,TreeSet), Map(包括 HashMap,HashTable),List(包括ArrayList,LinkedList)等等,上面列舉的都得學(xué)習它的源碼

多線程:synchronize,volatile,線程池,并發(fā)包(如lock等等),太多了,學(xué)了你們自然知道,我也不說的太詳細了。推薦看《Java 并發(fā)編程藝術(shù)》+《Java編發(fā)編程實戰(zhàn)》。

各種文件流:file,inputStream,outputStream等等,反正就是各種文件流,看書時你們自然會看到,不詳細介紹。

虛擬機:虛擬機是必須學(xué)習的了,重點是GC部分,推薦看《深入理解Java虛擬機:JVM 高級特性與最佳實踐》,一本就差不多夠了,多看四五遍就行了。

其他:還有很多,如反射,注解,異常等。

2、JavaWeb 入門

學(xué)了上面那么多,啥程序、網(wǎng)站也沒寫出來,有點難受?沒事,這個時候,我們就要開始擼網(wǎng)站了,如果是以 Java 作為開發(fā)語言的,那么 JavaWeb 是必須學(xué)的了。這個時候你可以入門學(xué)習下這些(注意,不用深入,快速找個視頻入門就可以了)

1、mysql、html+css+js 、 tomcat、xml等。推薦看視頻,自己去搜索 JavaWeb的視頻,那么哪里不會補哪里,這些知識,幾個小時就可以入門一門的了。

2、servlet+jsp 系列。

不建議直接學(xué)習框架,也是應(yīng)該先學(xué)習 servlet,這些底層才是最重要滴。

相關(guān)視頻:自己B站搜索一個吧,盡量找時長短一點的,不推薦那些幾百集的。

3、三大框架

Servlet 寫太麻煩了,只有認真學(xué)過 servlet 的人才能吹框架的好處,所以先學(xué) servlet 在來學(xué)習框架,主要有三大框架:Spring + SpringMVC + Mybatis。

其實 SpringMVC 也是屬于 Spring 吧,MVC 只是一種思想,這里學(xué)習順序是先建議學(xué)習 Spring,直接看視頻入門學(xué)習就可以了,后面在買書。視頻還是那句話,B 站搜索。黑馬的講的不錯,我當時也是看黑馬的。

3、中間件的學(xué)習

必須中間件:redis,其他我也沒學(xué)過,這學(xué)過這一門,Redis 感覺人人都得學(xué)啊,推薦書籍《Redis 設(shè)計與實現(xiàn)》、《Redis開發(fā)與運維》。我先看后者,感覺后者適合入門,然后在看前者的。

由于我這篇文章是給一個大致的學(xué)習方向的,我就不說的太詳細了,不然得單獨來一篇《Java學(xué)習路線》了。

對于 Java 的學(xué)習,我覺得你會了上面這些,我覺得可以去嘗試找實習了,應(yīng)該也能找的到,大二大三去體驗一波學(xué)習還是挺好的。

五、計算機基礎(chǔ)的學(xué)習

看過我文章的都知道,我一直強大計算機基礎(chǔ)的重要性,所以這里必須列舉要學(xué)的有哪些。剛才說了選擇一門語言深入,你在深入學(xué)習的過程中,肯定也在學(xué)習學(xué)校開設(shè)的專業(yè)課,包括:計算機網(wǎng)絡(luò) + 操作系統(tǒng) + 數(shù)據(jù)庫 + 匯編 + 計算機組成原理 + 編譯原理 等等。

而這些,我認為是非常重要的,對于秋招的同學(xué)來說,只要你會這些,就算你是深入學(xué)習 Java的,然后你去應(yīng)聘 C++ 崗,我覺得也問題不大,你和面試官說我不會 C++ 就可以了,大不了到時候轉(zhuǎn)崗。我雖然是 Java 技術(shù)棧的,但是我面的公司,都不是 Java 技術(shù)棧的,例如 小米,Shopee,字節(jié)跳動,騰訊等。但是,這些都問題不大,你只要會這些基礎(chǔ) + 算法,而且,在秋招,特別是對于一些大公司,關(guān)于語言的,其實問的也不是很多,基礎(chǔ)問的特別多,所以你會基礎(chǔ),面試會占很多優(yōu)勢。下面按照學(xué)習的優(yōu)先級,給這些課程排個序。

其實給他們排優(yōu)先級是不大好的,這樣給他們排,感覺容易被大佬噴,不過沒辦法,對于小白來說,我還是想排以下順序

1、計算機網(wǎng)絡(luò) + 操作系統(tǒng)

2、數(shù)據(jù)庫 + 計算機組成原理(數(shù)據(jù)庫相應(yīng)你們可能已經(jīng)先學(xué)過 MySQL 了)

3、匯編 + 編譯原理

不過,如果你們還是在校的大一大二,那么可以根據(jù)你們課程的學(xué)習順序來,但是,我建議有時間的可以提前學(xué),不一定要等到學(xué)校教了才學(xué),反正大部分老師講的很一般,但時候你學(xué)過的話,可以當做復(fù)習,或者學(xué)其他。

書籍推薦

《計算機網(wǎng)絡(luò)自頂向下》、《圖解 http》、《深入理解計算機操作系統(tǒng)》、《匯編語言》(王爽寫的)。

之前寫過很多文章,所以這里不寫的太具體了,具體的可以看我之前寫過的文章。

六、總結(jié)

我覺得對于大學(xué)四年來學(xué),上面這些是最核心的,也是必須學(xué)的。但是僅僅是上面這些還是不夠的,上面的這些一兩年就可以學(xué)完的。所以你還有很多其他時間,那么你可以學(xué)一些自己感興趣的,多折騰,多豆鼓,而我上面學(xué)的,希望你都學(xué)。

前兩年都在折騰,特別是第一年,但是,我始終一直學(xué)習那些比較核心的課程。再次強調(diào),這篇文章不是讓你成為大神的,學(xué)完也不是多厲害,而是,給處于大學(xué)迷茫、不知道學(xué)啥的你,一個方向,無論你是否是科班,如標題所說,普普/大眾。不過我相信,當你學(xué)完了這些,你應(yīng)該會有自己的學(xué)習方向了。

最后,是希望各位還在校的學(xué)生,大一可以好好浪,但也要保持應(yīng)有的學(xué)習時間,之后,就好好學(xué)習吧。不管你是名校還是非名校,我覺得你在只要這幾年認真學(xué),進大公司的幾率,真的非常大,這絕對不是雞湯。


適合普通大學(xué)生的后端通用學(xué)習路線的評論 (共 條)

分享到微博請遵守國家法律
长海县| 汉阴县| 涡阳县| 张家港市| 广南县| 曲靖市| 屯昌县| 平舆县| 乐清市| 神池县| 武川县| 西盟| 嘉黎县| 郴州市| 建德市| 浦北县| 将乐县| 吴桥县| 江口县| 漳平市| 阜平县| 石屏县| 固镇县| 屏边| 宜昌市| 巩留县| 子长县| 合川市| 西林县| 开江县| 南和县| 修水县| 辛集市| 宁夏| 合水县| 巴塘县| 盐城市| 丰台区| 怀远县| 石门县| 正镶白旗|