<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>

          GitHub 上最勵志的計(jì)算機(jī)自學(xué)教程

          共 3411字,需瀏覽 7分鐘

           ·

          2020-10-01 07:59


          十三 賈浩楠 發(fā)自 凹非寺
          量子位 報(bào)道 | 公眾號 QbitAI

          谷歌工程師條件:名校出身、CS專業(yè)背景、博士學(xué)位加持,技術(shù)過硬?

          國外一個叫John Washam的小哥告訴你:不用,自學(xué)8個月也可以!

          John Washam勵志要成為一名谷歌軟件工程師,但沒有CS專業(yè)背景的他,只能通過自己的努力來達(dá)成理想。

          于是,8個月的時(shí)間里,小哥花了數(shù)千小時(shí)閱讀書籍、編寫代碼、觀看CS技術(shù)講座,一路披荊斬棘、打怪升級。

          最終,雖然沒有去谷歌,但他人到中年,還順利成為了一名亞馬遜AWS的技術(shù)專家,年薪百萬。

          更加難能可貴的是,小哥還將自學(xué)經(jīng)驗(yàn)編寫成了一份教程,在GitHub上線以來,已收獲近133k星的好評。

          正如他所說:

          即便沒有面上(?)夢寐以求的谷歌,但是教程,也可以用來好好充實(shí)一下自己。

          PS:教程有中文版哦~~

          GitHub超13萬星自學(xué)寶典

          是什么樣的編程教程,能如此火爆?

          小哥最初的目的是“考上”谷歌,于是每天自學(xué)8-12個小時(shí),堅(jiān)持了8月有余。邊學(xué)還順手整理出了這份自學(xué)項(xiàng)目。

          不過在完成這項(xiàng)學(xué)習(xí)計(jì)劃后,他最終被亞馬遜錄取,成為一名軟件工程師。

          Washam表示:

          無論你要面試哪家軟件公司,這里的項(xiàng)目可以讓你做好充分的準(zhǔn)備,包括像亞馬遜、Facebook、谷歌和微軟這樣的科技巨頭。

          接下來,我們就跟著Washam的腳步去了解一下這份面試寶典。

          選擇語言、必備知識資源

          首先要做的就是選擇一門語言,在Google一般是C++、Java、Python,有時(shí)也會用到JavaScript、Ruby。背后還有一些如SQL、HTML等技術(shù)沒有列出。

          接著開始學(xué)習(xí)計(jì)算機(jī)硬件知識:

          然后補(bǔ)充計(jì)算機(jī)專業(yè)的基礎(chǔ)數(shù)學(xué)知識,如算法復(fù)雜度 / Big-O / 漸進(jìn)分析法、數(shù)據(jù)結(jié)構(gòu)、樹、排序、圖論。

          此外還有遞歸、動態(tài)規(guī)劃、組合與概率、NP&NP-完全和近似算法、緩存、線程與進(jìn)程、系統(tǒng)設(shè)計(jì)、可伸縮性、數(shù)據(jù)處理。

          看到這么多知識點(diǎn),你會不會覺得有點(diǎn)懵呢?Washam告訴你一點(diǎn)小技巧。

          因?yàn)槟悴豢赡芤槐榫陀涀∷兄R點(diǎn)。所以需要把要回顧的知識點(diǎn)做成抽認(rèn)卡 (flashcard):正常的及帶有代碼的,類似于背單詞。

          每種卡都會有不同的格式設(shè)計(jì)。項(xiàng)目主頁中就有抽認(rèn)卡的源代碼,可以根據(jù)自己的學(xué)習(xí)特點(diǎn)去制作。

          Washam還留有一組 ASCII 碼表、OSI 堆棧、Big-O 記號及更多的小抄紙,以便在空余的時(shí)候可以學(xué)習(xí)。每編程半個小時(shí)就要休息一下,并去回顧你的抽認(rèn)卡。

          當(dāng)然,論文的閱讀也是必不可少的,尤其是谷歌曾經(jīng)發(fā)表的一些基礎(chǔ)技術(shù)論文。

          書籍則推薦一些關(guān)于算法和C++編程之類的。

          Google面試注意事項(xiàng)

          面試的第一步當(dāng)然是要有一份好的簡歷,這樣才能為你爭取到寶貴的面試機(jī)會。知名科技博主Steve Yagge給出了10個貼士,幫你做出一份還不錯的簡歷。

          這位Steve曾經(jīng)在亞馬遜、Google都工作過,Washam的這個項(xiàng)目就大量地引用了他的技術(shù)博客內(nèi)容。

          在面試時(shí),你可能會遇到這20個問題,每個問題準(zhǔn)備 2-3 種回答。準(zhǔn)備點(diǎn)故事,而不要只是擺一些你完成的事情的數(shù)據(jù)。

          面試官在也會問你還有哪些問題,不要說自己沒有什么要問題,可以試試問一些此類問題:

          當(dāng)然,進(jìn)入Google也不意味著結(jié)束,你還要新的學(xué)習(xí)過程。

          Washam還有一份附加內(nèi)容,包括Emacs和Vim、Unix命令行工具、密碼學(xué)。這些內(nèi)容雖然不會直接用到,但是會大大提高你的效率。

          一個Web前端的新征程

          其實(shí)嚴(yán)格來講,John并不是一個編程小白。

          從高中起,John就開始學(xué)習(xí)編程,學(xué)的是BASIC語言,這還在是上世紀(jì)90年代。

          大學(xué)畢業(yè)拿到經(jīng)濟(jì)學(xué)學(xué)位后,他先是在軍隊(duì)服役兩年,駐扎韓國。

          退役后他留在韓國教英語,突然發(fā)現(xiàn)自己離開CS領(lǐng)域的這幾年間,太多的新技術(shù)新工具出現(xiàn),自己的知識結(jié)構(gòu)出現(xiàn)了斷層,無法支撐起一個程序員的職業(yè)生涯了。

          于是他利用一切業(yè)余時(shí)間,艱苦地學(xué)習(xí)Perl、HTML、CSS(當(dāng)時(shí)這還是新東西)、JavaScript和SQL。

          終于在2001年,John正式成為了一個網(wǎng)頁開發(fā)程序員,開始了19年的碼農(nóng)生涯。

          截止2017年,John的職業(yè)生涯可謂十分成功:在大小公司都有過任職、組建管理過項(xiàng)目團(tuán)隊(duì)、經(jīng)營壯大過初創(chuàng)公司,自己還親自創(chuàng)辦了3家軟件公司,其中2家至今還在健康運(yùn)營。

          按照J(rèn)ohn自己的話說,這十幾年的工作經(jīng)歷,將他鍛煉成了一個合格的程序員、一個優(yōu)秀的產(chǎn)品經(jīng)理、一個CEO、一個市場銷售。

          但是他的目標(biāo)不止于此。他的夢想是在谷歌任職軟件工程師,在充滿智慧和創(chuàng)造力的團(tuán)隊(duì)里提高自己。

          最初他認(rèn)為憑自己的工作經(jīng)驗(yàn)可以輕松獲得職位,但拿到了谷歌面試題他才發(fā)現(xiàn)自己欠缺太多。

          一個優(yōu)秀的軟件工程師應(yīng)該精通數(shù)據(jù)結(jié)構(gòu)和算法、匯編語言、內(nèi)存設(shè)計(jì)等,還要綜合考慮代碼和程序結(jié)構(gòu)對機(jī)器在應(yīng)用場景下的影響。

          于是他以這份谷歌試題為指導(dǎo),開始了編程自學(xué)。

          并且在github上建立了「9894項(xiàng)目」,因?yàn)楣雀杞⑴c1998年9月4日。

          后來這個項(xiàng)目改名為現(xiàn)在的「coding interview university」。

          CS自學(xué)三點(diǎn)注意事項(xiàng)

          John結(jié)合自己的學(xué)習(xí)經(jīng)歷,給出了三點(diǎn)自學(xué)編程的建議。

          一、早問早計(jì)劃,不要想當(dāng)然

          John最大的教訓(xùn)是自己花了太多時(shí)間學(xué)習(xí)根本用不上的東西,比如他曾經(jīng)用了3周時(shí)間閱讀了1000多頁C++的資料,但是最后面試和工作中用的卻是Python。

          這是John的算法學(xué)習(xí)資料,最后證明走了冤枉路

          原因是他擔(dān)心面試時(shí)可能會被問到。

          這個例子不是說C++沒必要學(xué)。

          而是強(qiáng)調(diào)你要提前收集信息做出計(jì)劃,在不同的項(xiàng)目上分配合理的學(xué)習(xí)時(shí)間,提高效率。切忌「我覺得……」

          二、視頻比看書效率更高

          觀看視頻的學(xué)習(xí)效率自然要比自己啃書快。

          找到好的教學(xué)視頻,意味著你有更多的時(shí)間實(shí)際演練編程題目。

          三、反復(fù)溫習(xí)十分重要

          不斷反復(fù)是形成記憶的關(guān)鍵,正如我們在上文提到的,John推薦使用記憶卡。

          他自己制作了1792個電子記憶卡。一有空閑時(shí)間就掏出來溫習(xí),比如超市排隊(duì)時(shí)、公交車上等等。

          對于一個卡片的的問題,回答正確還不夠,John會在一段時(shí)間內(nèi)多次回答正確才會標(biāo)記為「已掌握」。

          最終這位小哥沒有去谷歌,而是接到了亞馬遜的offer,現(xiàn)在他在亞馬遜做軟件工程師。

          但是他自己說之前的學(xué)習(xí)經(jīng)歷并不是無用功,現(xiàn)在他已經(jīng)全面掌握了軟件工程的基本技能,無懼工作中的任何挑戰(zhàn),并且實(shí)現(xiàn)自我飛躍的那一天越來越近。

          而且John小哥的經(jīng)歷,也不局限于程序員本身,多于更多人而言,也有值得參考之處。

          他認(rèn)定了一個目標(biāo),然后制定計(jì)劃、勤奮付出,最后天道酬勤獲得回報(bào)。

          John可能也是一個「一萬小時(shí)定律」的擁躉,但就算按照他每天12小時(shí)、堅(jiān)持8個月(每月31天),他從一個網(wǎng)站前端到AWS技術(shù)專家,歷時(shí)也不過2976小時(shí)——遠(yuǎn)未到1萬小時(shí)。

          但就是這樣目標(biāo)堅(jiān)定的8個月,John從入門到獲得大廠認(rèn)可,百萬年薪加持。

          外媒調(diào)查亞馬遜軟件工程師平均年薪超過百萬人民幣

          這是我們在GitHub看到最勵志的故事,也是我們希望讓更多人看到的原因,并且由衷希望更多人因?yàn)檫@樣的經(jīng)歷和分享,創(chuàng)造屬于自己的故事。

          坊間笑談太多的“從入門到放棄”,但也有人“從入門到百萬年薪”。

          生命不息,奮斗不止,Keep walking~

          傳送門:

          GitHub項(xiàng)目地址:
          https://github.com/jwasham/coding-interview-university

          電子記憶卡項(xiàng)目地址:
          https://github.com/jwasham/computer-science-flash-cards

          參考鏈接

          個人博客:
          https://www.freecodecamp.org/news/why-i-studied-full-time-for-8-months-for-a-google-interview-cc662ce9bb13/

          推薦閱讀:

          完全整理 | 365篇高質(zhì)技術(shù)文章目錄整理

          算法之美 : 棧和隊(duì)列

          主宰這個世界的10大算法

          徹底理解cookie、session、token

          淺談什么是遞歸算法

          專注服務(wù)器后臺技術(shù)棧知識總結(jié)分享

          歡迎關(guān)注交流共同進(jìn)步

          瀏覽 36
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <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>
                  国产无码内射 | 欧美三级片视频在线播放 | 免费视频在线观看一区 | 欧美一級黃色A片免費看野花 | 在线看黄片视频 |