<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          如果讓你重新學計算機。。。

          共 3171字,需瀏覽 7分鐘

           ·

          2023-06-20 10:50

          作者:匿名用戶?

          鏈接:https://www.zhihu.com/question/492545174/answer/3008961441

          cxuan 按:

          這是一篇偏實用性質(zhì)的"論計算機首先應(yīng)該學習什么"的回答,與以往長篇大論推薦你學習各種枯燥的大部頭書不同,下面這個回答能讓你更快的建立起學習計算機的興趣,相信你按照下面推薦的方式能夠做到快速入門,樹立自信,這樣才能走的更遠。

          但凡有人給你推薦如下關(guān)鍵詞

          C/C++,《C++ primer plus》,ACM,《算法導論》,國外名校課程(CSAPP,mit的分布式,cmu數(shù)據(jù)庫),高數(shù)線代,編譯原理,源代碼

          請直接忽略!

          那些回答太過于理想化,學習以上內(nèi)容,耗時巨大,難度極高,和實際編程太遠,對找工作的提升并不顯著,簡單說就是性價比不高。本人本科時也被誤導得很深,大一就買了《算法競賽入門指導》,毫無疑問吃灰了。本人舍友買了《算法導論》《C++ primer plus》,他也是一頁也沒有看過。

          大家不要本末倒置了,學代碼的目的就是為了找工作賺錢,而不是為了看書獲得成就感。有些人是博士畢業(yè)才開始轉(zhuǎn)碼的,從頭學這些東西,時間上根本耗不起;就算是計算機科班,自學這些大部頭,對個人的自控力、自制力要求也極高,能做到的寥寥無幾。

          首先聲明一下,本人選資料/推薦路徑的邏輯:

          1,優(yōu)中選優(yōu)。個人經(jīng)驗,給別人推薦學習材料,給自己找學習材料,一定要少,千萬不要高估自己的自控力,千萬不要羅列一堆,除非是自學大神,否則根本不太可能學完

          2,能看視頻,就不看書。不知道為什么這么多人喜歡推薦看書,回想高中時期,沒有幾個人是靠自己啃書本學成大神的,大多數(shù)還是靠上課,報補習班聽講來學習的。視頻效率高于書本,這是必然的。

          3,重視代碼實踐。計算機是實踐學科,紙上學來終覺淺,只有動手敲代碼才能學好。

          4,先學實用的技術(shù),再學用處不大的計算機基礎(chǔ)知識。計算機太多太雜了,而且技術(shù)進步很快,盲目學底層用處不大。

          5,一切面向找工。90%的人,學計算機是為了高薪,只有找到工作才能賺錢,所以本文完全面向找工。

          下面是具體步驟

          第一步:編程初體驗

          何為編程,先要有面向過程編程的思維,再要有數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)知識,再就是有面向?qū)ο蟮乃季S概念。這些東西,各個語言都是相通的,也是編程的地基。

          而學這些最好的教程,就是伯克利CS61B伯克利的CS61B,是基礎(chǔ)的入門編程課,講授數(shù)據(jù)結(jié)構(gòu)和算法,學完了編程能力超過80%的985 CS畢業(yè)生!

          要知道這個課程語言是Java,Java可以說是現(xiàn)在最火熱的開發(fā)語言,學透了Java找工作不成問題。而且CS61B的labs也是其中最精華的部分,跟著一步一步的做,不要偷懶,做完了編程能力絕對夠了

          img

          第二步:確定技術(shù)棧

          這時你需要自學大量實用的技術(shù)了,而不是在那里自學什么操作系統(tǒng)OS,數(shù)據(jù)庫的實現(xiàn),還有什么分布式distributed system

          • 走前端就學習JS,JQuery,Vue/React/Angular
          • 走后端就學Spring,學數(shù)據(jù)庫
          • 走Data就學數(shù)據(jù)庫+Python
          • 走MLE就自學國外熱門的AI網(wǎng)課

          這些才是和工作聯(lián)系最緊密的,這些技術(shù)的工作崗位也是最多的。很多CS畢業(yè)生,大學四年過去了,連一個前后端的項目都搞不定,是不是很搞笑?這時候做幾個project,好寫在簡歷上,為你進一步到公司/實驗室實踐打好基礎(chǔ)。

          網(wǎng)站推薦Udemy,bilibi,freeCodeCamp,其他好的平臺也歡迎同學們補充

          img

          第三步:實踐出真知

          去公司實習,比你自己悶在家里面閉門造車,效果好得多。你自學沒有人監(jiān)督,98%的人都堅持不下來。去公司實習,可以領(lǐng)工資,增加你學CS的信心;可以認識更多的人,增加人脈;可以理解公司的流程,了解公司技術(shù)棧,對應(yīng)的查漏補缺。

          更關(guān)鍵的是,實習可以豐富簡歷。等實習結(jié)束,你的簡歷上可以寫個實習經(jīng)歷了,不是比很多大學生課內(nèi)project厲害嗎?沒有實習,很難獲得全職;沒有小廠實習,很難獲得大廠實習;這都是一步一步來的。

          做科研同理,去實驗室搬磚,每周都有組會,督促你每日學習進步,時間久了說不準可以發(fā)論文了。同時還可以和導師取得相應(yīng)的聯(lián)系,出國推薦信也有了著落。

          反觀有些人,在那里死磕ACM,磕了半天也沒啥獎,保研出國都撈不著,最后不是挺可悲嗎?正確的路線應(yīng)該怎么走?

          • SDE路線:自學技術(shù)棧 -> 小廠實習 -> 國內(nèi)外企/大廠實習 ?> 美國大廠實習 -> 美國SDE全職
          • MLE路線:自學AI網(wǎng)課 -> 實驗室做科研 ?-> 國內(nèi)算法崗 -> 美國MLE實習 ?-> 美國MLE全職
          • 科學家路線:自學AI網(wǎng)課 -> 實驗室做科研 -> 名校CS PhD -> openAI等大廠的Research Scientist

          img
          img

          第四步:全力備面試

          leetcode被說了無數(shù)遍了,如果你CS61B學好了,算法題是不難的。如果要面試找工作,grind75的list,直接刷2遍就可以的,有不會的就網(wǎng)上搜視頻講解!但是不要本末倒置了,工作中基本上用不到算法題的。

          img

          國內(nèi)面試有時候還有八股文,這個有了實際的工作經(jīng)驗,項目經(jīng)驗,同時學過了61b,八股文就是水到渠成的。然后再看看面經(jīng)查漏補缺,全力備戰(zhàn)校招。

          以上路徑,就是最優(yōu)解。

          相當于把打怪升級的路子,手把手教給你了。你要是卷王,喜歡閉門造車,那你大可以死磕《算法導論》《編譯原理》。你要是普通人,走我說的路徑,是讓你最快獲得CS工作/阻力最小的方法。


          PS:國內(nèi)CS的教學,純純浪費時間,不要指望國內(nèi)本科能教你啥,即使是清北復交。(還記得清華雨課堂嗎,還記得清華小學期Python深度學習網(wǎng)絡(luò)嗎)

          PS2:數(shù)據(jù)庫,計算機網(wǎng)絡(luò),操作系統(tǒng),編譯原理,這些有點概念就行了,國外大作業(yè)都是讓你自己實現(xiàn)一遍加深理解,其實不是必須的。有這個時間先學前后端,去大廠實習反而更好。

          PS3:cmu的數(shù)據(jù)庫,是讓你自己動手寫數(shù)據(jù)庫,只有去數(shù)據(jù)庫公司實習工作才用得到。mit的分布式也是面向大廠infra崗位的。

          PS4:大學計算機學的,大學物理,高數(shù),匯編語言,微機原理,對編程找工作一點作用都沒有。

          PS5:評論區(qū)太多人是學生思維了,他們說這樣學成了技校,把我也看笑了。他們總是高估自己未來的努力,仿佛自己穿越回去,就能每天學習12小時,把這些大部頭全部啃完一樣,但是我明確的告訴你,不可能的。

          PS6:很多人說你這樣會基礎(chǔ)不牢,問題是我沒有說不學這種cmu數(shù)據(jù)庫這種大部頭,而是先學有用的技術(shù)。等你有了工作,那些大部頭在業(yè)余時間精進就好了,而不是在你還沒有工作的時候就搞那些。

          PS7:很多人對“基礎(chǔ)”有蜜汁崇拜,仿佛打好了基礎(chǔ)就可以秒天秒地一樣,然而事實卻完全相反。計算機是一個變化很快的領(lǐng)域,不同技術(shù)棧的基礎(chǔ)也不一樣。機器學習深度學習這些,出來了不過10年,假如一個人要走算法崗的,那他學30年前的《算法導論》,完全是浪費時間,懂嗎。

          PS8:很多人說我這些沒法寫操作系統(tǒng),沒法寫數(shù)據(jù)庫,我只能說沒有仔細看文章。我說的技術(shù)棧,并不是僅僅是前端后端。

          你要去寫游戲,要去做數(shù)據(jù)分析,要去寫C++,去做quant researcher,做分布式,HPC,數(shù)據(jù)庫,編譯,驗證,硬件相關(guān),做quant dev,讀PhD,完全可以,每個方向的發(fā)力點都不一樣,要學得技術(shù),努力的方向,完全不一樣,在哪里盲目學《編譯原理》,完全是腦子進水了。

          PS9:還有人說基礎(chǔ)學的好就不會被裁員的,太過于學生思維了,夏蟲不可語冰。

          PS10:很多人說要打基礎(chǔ),我的路線是培養(yǎng)純碼農(nóng),我也只是笑笑。本人的路線,最專注的就是編程能力代碼能力。本人本碩都是計算機的,因為代碼能力不行,錯失了/沒有好好利用很多實習機會/科研機會/上課的項目,借著cs61b和Udemy的視頻打好編程的底子,以后干啥都行。

          瀏覽 43
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  色老板精品在线 | 操逼无码播放一级片 | 亚洲成人视频在线免费观看 | 欧美爱爱视频免费一级 | 豆花视频国产原创 |