<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上最勵(lì)志的計(jì)算機(jī)自學(xué)教程

          共 3631字,需瀏覽 8分鐘

           ·

          2020-11-15 00:31

          首先來看一下谷歌工程師的要求:名校出身、CS(Computer Science,計(jì)算機(jī)科學(xué))專業(yè)背景、博士學(xué)位加持,技術(shù)過硬?

          這么苛刻的條件,成為谷歌工程師是不是特別難?國外一個(gè)叫 John Washam 的小哥告訴你:不用,自學(xué) 8 個(gè)月也可以!

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

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

          最終,雖然沒有去成谷歌,還順利成為了一名亞馬遜 AWS 的技術(shù)專家,年薪百萬(亞馬遜真心也不錯(cuò))。

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

          項(xiàng)目地址如下所示:

          https://github.com/jwasham/coding-interview-university

          小哥說:“即便沒有面上夢寐以求的谷歌,但是這份教程,也算是好好充實(shí)了一下自己。”

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

          小哥表示:

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

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

          首先要做的就是選擇一門編程語言,在 Google,一般是 C++、Java、Python,有時(shí)也會(huì)用到 JavaScript、Ruby。

          接著開始學(xué)習(xí)計(jì)算機(jī)的一些知識(shí),比如說計(jì)算機(jī)是如何處理一段程序的,編譯器是如何工作的,浮點(diǎn)數(shù)是如何存儲(chǔ)的。

          然后是算法復(fù)雜度、Big-O(用于描述函數(shù)漸近行為的數(shù)學(xué)符號(hào))、漸進(jìn)分析法、數(shù)據(jù)結(jié)構(gòu)(數(shù)組、鏈表、堆棧、隊(duì)列、哈希表、圖)。以及二分查找、按位運(yùn)算。

          還有樹這塊,知識(shí)點(diǎn)比較多,我畫一個(gè)思維導(dǎo)圖:

          排序這塊的知識(shí)點(diǎn)也不少,繼續(xù)上思維導(dǎo)圖:

          此外還有遞歸、動(dòng)態(tài)規(guī)劃、組合與概率、NP(非決定性多項(xiàng)式集合,是計(jì)算理論中最重要的集合之一)和 NP-完全和近似算法、緩存、線程與進(jìn)程、系統(tǒng)設(shè)計(jì)。

          這么多知識(shí)點(diǎn),是不是覺得有點(diǎn)懵逼?

          來看一下小哥的經(jīng)驗(yàn)心得:

          1)意識(shí)到你不可能一遍就記住所有的知識(shí)點(diǎn),這點(diǎn)心理建設(shè)很重要。

          2)把要回顧的知識(shí)點(diǎn)做成抽認(rèn)卡:正常的及帶有代碼的,類似于背單詞。然后在抽認(rèn)卡上做筆記,在你真正懂得如何解決問題之前,多問自己幾次。重復(fù)地問答可幫助您深刻記住該知識(shí)點(diǎn)。

          3)回顧,回顧,回顧,每編程半個(gè)小時(shí)就要休息一下,并去回顧你的抽認(rèn)卡。

          4)專注。在學(xué)習(xí)的過程中,往往會(huì)有許多令人分心的事占據(jù)著我們寶貴的時(shí)間。因此,專注和集中注意力是非常困難的。

          學(xué)到一定程度后,就可以準(zhǔn)備面試了。面試的第一步當(dāng)然是要有一份好的簡歷,這樣才能為你爭取到寶貴的面試機(jī)會(huì)。

          Steve Yagge 給出的 10 個(gè)小貼士可以幫你做出一份還不錯(cuò)的簡歷。

          1)一開始,沒人在乎你,所以不要在簡歷上談你的希望、目標(biāo)、夢想、抱負(fù)。

          2)盡量使用純文字,不要花里胡哨的。

          3)記得檢查,不要出現(xiàn)錯(cuò)別字。一些英文術(shù)語一定要大小寫敏感。

          4)不要在簡歷中記錄你參與了什么,而是實(shí)際做了什么。

          5)不要盲目夸大自己。

          6)不要在簡歷上羅列一些無關(guān)緊要的證書。

          7)請(qǐng)不要輕易說“精通”二字。

          8)不要妄自菲薄,自信點(diǎn)。

          9)不要寫一些無聊的內(nèi)容。

          10)實(shí)事求是。

          Steve Yagge 曾經(jīng)在亞馬遜和 Google 工作過,因此他的建議還是很值得參考的。

          在面試時(shí),你可能會(huì)遇到這 20 個(gè)問題:

          • 你為什么想得到這份工作?
          • 你解決過的最有難度的問題是什么?
          • 面對(duì)過的最大挑戰(zhàn)是什么?
          • 見過的最好或者最壞的設(shè)計(jì)是怎么樣的?
          • 對(duì)某項(xiàng) Google 產(chǎn)品提出改進(jìn)建議。
          • 你作為一個(gè)個(gè)體同時(shí)也是團(tuán)隊(duì)的一員,如何達(dá)到最好的工作狀態(tài)?
          • 你的什么技能或者經(jīng)驗(yàn)是你的角色中不可或缺的?為什么?
          • 你在某份工作或某個(gè)項(xiàng)目中最享受的是什么?
          • 你在某份工作或某個(gè)項(xiàng)目中面臨過的最大挑戰(zhàn)是什么?
          • 你在某份工作或某個(gè)項(xiàng)目中遇到過的最蛋疼的 Bug 是什么樣的?
          • 你在某份工作或某個(gè)項(xiàng)目中學(xué)到了什么?
          • 你在某份工作或某個(gè)項(xiàng)目中哪些地方還可以做的更好?

          你最好為每個(gè)問題準(zhǔn)備 2-3 種回答,可以通過故事的形式來回答,面試官會(huì)更喜歡聽。

          在你回答完所有問題之后,并不意味著全部都結(jié)束了。如果面試官問你:“你有什么問題嗎?”千萬不要說自己什么問題了!可以試試下面這些問題:

          • 團(tuán)隊(duì)多大規(guī)模?
          • 開發(fā)周期是怎樣的? 會(huì)使用瀑布流/極限編程/敏捷開發(fā)么?
          • 經(jīng)常會(huì)為 deadline 加班么? 或者是有彈性的?
          • 團(tuán)隊(duì)里怎么做技術(shù)選型?
          • 每周平均開多少次會(huì)?
          • 你覺得工作環(huán)境有助于員工集中精力嗎?
          • 目前正在做什么工作?
          • 喜歡這些事情嗎?
          • 工作期限是怎么樣的?

          如果你順利獲得了夢想的職位,那么恭喜你!當(dāng)然,這并不意味著一切都結(jié)束了,你還需要堅(jiān)持學(xué)習(xí),得到一份工作只是一個(gè)新的開始。

          下面這些內(nèi)容推薦給你繼續(xù)學(xué)習(xí)下:

          當(dāng)然了,小哥之所以這么優(yōu)秀,是有原因的。

          從高中起,小哥就開始學(xué)習(xí)編程,學(xué)的是 BASIC 語言,這還在是上世紀(jì) 90 年代。大學(xué)畢業(yè)拿到經(jīng)濟(jì)學(xué)學(xué)位后,他先是在軍隊(duì)服役兩年,駐扎韓國。

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

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

          終于在 2001 年,小哥正式成為了一個(gè)網(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īng)歷,將他鍛煉成了一個(gè)合格的程序員、一個(gè)優(yōu)秀的產(chǎn)品經(jīng)理、一個(gè) CEO、一個(gè)市場銷售。

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

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

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

          于是他以一份谷歌試題為指導(dǎo),開始了自學(xué)編程。并且在 GitHub 上創(chuàng)建了「9894項(xiàng)目」,因?yàn)楣雀杞⒂?998 年 9月 4 日。后來這個(gè)項(xiàng)目改名為現(xiàn)在的「coding interview university」。

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

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

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

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

          2)初學(xué)時(shí),視頻比看書效率更高

          初學(xué)時(shí),視頻就像老師一樣,快速引導(dǎo)你入門。但想要深入的話,還得通過讀書深入的學(xué)習(xí),課余時(shí)間也很重要。

          3)反復(fù)溫習(xí)

          不斷反復(fù)是形成記憶的關(guān)鍵,正如我們?cè)谏衔奶岬降模「缤扑]使用記憶卡。

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

          小哥說,他現(xiàn)在他已經(jīng)全面掌握了軟件工程的基本技能,無懼工作中的任何挑戰(zhàn),并且實(shí)現(xiàn)自我飛躍的那一天越來越近。

          對(duì)于我們普通人來說,也應(yīng)該像小哥一樣,認(rèn)定一個(gè)目標(biāo),然后制定計(jì)劃、勤奮付出,最后天道酬勤獲得回報(bào)。

          小哥可能是「一萬小時(shí)定律」的擁躉,但就算按照他每天 12 小時(shí)、堅(jiān)持 8 個(gè)月(每月 31 天)算,也不過 2976 個(gè)小時(shí)——遠(yuǎn)未到 1 萬個(gè)小時(shí)。

          但就是這樣目標(biāo)堅(jiān)定的 8 個(gè)月,小哥成功獲得了大廠(雖然不是谷歌,但亞馬遜軟件工程師的平均年薪也超過百萬人民幣了)認(rèn)可。

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

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

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

          PS:來看一下這份140k+ 星的面試攻略的部分目錄:

          真心不錯(cuò),怎么獲得中文版呢?

          微信搜索“沉默王二”公眾號(hào),或者掃描下面的二維碼,后臺(tái)回復(fù)關(guān)鍵字「奮斗」獲取在線閱讀地址以及離線的 PDF。


          瀏覽 66
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

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

          手機(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>
                  欧美一级视频亚洲一级视频免费 | 免费日本aa视频 | 亚洲无码五区 | 欧美精品一级 | 91大庆哥 在线观看 |