女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

GitHub上最勵志的計算機自學:John Washam

算法與數據結構 ? 來源:算法與數據結構 ? 作者:算法與數據結構 ? 2020-10-10 16:58 ? 次閱讀

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

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

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

更加難能可貴的是,小哥還將自學經驗編寫成了一份教程,在GitHub上線以來,已收獲近10萬星的好評。

正如他所說:

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

PS:教程有中文版哦~~

GitHub超10萬星自學寶典

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

小哥最初的目的是“考上”谷歌,于是每天自學8-12個小時,堅持了8月有余。邊學還順手整理出了這份自學項目。

不過在完成這項學習計劃后,他最終被亞馬遜錄取,成為一名軟件工程師。

Washam表示:

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

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

選擇語言、必備知識資源

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

接著開始學習計算機硬件知識:

然后補充計算機專業的基礎數學知識,如算法復雜度 / Big-O / 漸進分析法、數據結構、樹、排序、圖論。

此外還有遞歸、動態規劃、組合與概率、NP&NP-完全和近似算法、緩存、線程與進程、系統設計、可伸縮性、數據處理。

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

因為你不可能一遍就記住所有知識點。所以需要把要回顧的知識點做成抽認卡(flashcard):正常的及帶有代碼的,類似于背單詞。

每種卡都會有不同的格式設計。項目主頁中就有抽認卡的源代碼,可以根據自己的學習特點去制作。

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

當然,論文的閱讀也是必不可少的,尤其是谷歌曾經發表的一些基礎技術論文。

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

Google面試注意事項

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

這位Steve曾經在亞馬遜、Google都工作過,Washam的這個項目就大量地引用了他的技術博客內容。

在面試時,你可能會遇到這20個問題,每個問題準備 2-3 種回答。準備點故事,而不要只是擺一些你完成的事情的數據。

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

當然,進入Google也不意味著結束,你還要新的學習過程。

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

一個Web前端的新征程

其實嚴格來講,John并不是一個編程小白。

從高中起,John就開始學習編程,學的是BASIC語言,這還在是上世紀90年代。

大學畢業拿到經濟學學位后,他先是在軍隊服役兩年,駐扎韓國。

退役后他留在韓國教英語,突然發現自己離開CS領域的這幾年間,太多的新技術新工具出現,自己的知識結構出現了斷層,無法支撐起一個程序員的職業生涯了。

于是他利用一切業余時間,艱苦地學習Perl、HTML、CSS(當時這還是新東西)、JavaScript和SQL。

終于在2001年,John正式成為了一個網頁開發程序員,開始了19年的碼農生涯。

截止2017年,John的職業生涯可謂十分成功:在大小公司都有過任職、組建管理過項目團隊、經營壯大過初創公司,自己還親自創辦了3家軟件公司,其中2家至今還在健康運營。

按照John自己的話說,這十幾年的工作經歷,將他鍛煉成了一個合格的程序員、一個優秀的產品經理、一個CEO、一個市場銷售。

但是他的目標不止于此。他的夢想是在谷歌任職軟件工程師,在充滿智慧和創造力的團隊里提高自己。

最初他認為憑自己的工作經驗可以輕松獲得職位,但拿到了谷歌面試題他才發現自己欠缺太多。

一個優秀的軟件工程師應該精通數據結構和算法、匯編語言、內存設計等,還要綜合考慮代碼和程序結構對機器在應用場景下的影響。

于是他以這份谷歌試題為指導,開始了編程自學。

并且在github上建立了「9894項目」,因為谷歌建立與1998年9月4日。

后來這個項目改名為現在的「coding interview university」。

CS自學三點注意事項

John結合自己的學習經歷,給出了三點自學編程的建議。

一、早問早計劃,不要想當然

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

△這是John的算法學習資料,最后證明走了冤枉路

原因是他擔心面試時可能會被問到。

這個例子不是說C++沒必要學。

而是強調你要提前收集信息做出計劃,在不同的項目上分配合理的學習時間,提高效率。切忌「我覺得……」。

二、視頻比看書效率更高

觀看視頻的學習效率自然要比自己啃書快。

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

三、反復溫習十分重要

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

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

對于一個卡片的的問題,回答正確還不夠,John會在一段時間內多次回答正確才會標記為「已掌握」。

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

但是他自己說之前的學習經歷并不是無用功,現在他已經全面掌握了軟件工程的基本技能,無懼工作中的任何挑戰,并且實現自我飛躍的那一天越來越近。

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

他認定了一個目標,然后制定計劃、勤奮付出,最后天道酬勤獲得回報。

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

但就是這樣目標堅定的8個月,John從入門到獲得大廠認可,百萬年薪加持。

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

這是我們在GitHub看到最勵志的故事,也是我們希望讓更多人看到的原因,并且由衷希望更多人因為這樣的經歷和分享,創造屬于自己的故事。

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

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

傳送門:

GitHub項目地址:
https://github.com/jwasham/coding-interview-university

電子記憶卡項目地址:
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/

責任編輯:xj

原文標題:GitHub上最勵志的計算機自學教程

文章出處:【微信公眾號:算法與數據結構】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 計算機
    +關注

    關注

    19

    文章

    7626

    瀏覽量

    90163
  • CS
    CS
    +關注

    關注

    0

    文章

    55

    瀏覽量

    24948
  • GitHub
    +關注

    關注

    3

    文章

    481

    瀏覽量

    17449

原文標題:GitHub上最勵志的計算機自學教程

文章出處:【微信號:TheAlgorithm,微信公眾號:算法與數據結構】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    云端超級計算機使用教程

    云端超級計算機是一種基于云計算的高性能計算服務,它將大量計算資源和存儲資源集中在一起,通過網絡向用戶提供按需的計算服務。下面,AI部落小編為
    的頭像 發表于 12-17 10:19 ?479次閱讀

    工業中使用哪種計算機

    在工業環境中,工控機被廣泛使用。這些計算機的設計可承受極端溫度、灰塵和振動等惡劣條件。它們比標準消費類計算機更耐用、更可靠。工業計算機可控制機器、監控流程并實時收集數據。其堅固的結構和專業功能
    的頭像 發表于 11-29 14:07 ?603次閱讀
    工業中使用哪種<b class='flag-5'>計算機</b>?

    量子計算機與普通計算機工作原理的區別

    超越世界最強大的超級計算機,完成以前不可想象的任務!這意味著量子計算機可能會徹底改變我們的生活。 在本文中,我們將先了解普通計算機的工作原理,再深入探討量子
    的頭像 發表于 11-24 11:00 ?1248次閱讀
    量子<b class='flag-5'>計算機</b>與普通<b class='flag-5'>計算機</b>工作原理的區別

    工業計算機類型介紹

    工業領域沒有計算機的世界就像沒有管弦樂隊的交響樂,缺乏實現最佳性能所需的和諧和精確度。計算機徹底改變了工業的運作方式,將效率、準確性和創新推向了新的高度。事實,根據最近在印度進行的一項研究
    的頭像 發表于 11-04 15:56 ?572次閱讀
    工業<b class='flag-5'>計算機</b>類型介紹

    計算機接口位于什么之間

    計算機接口是計算機硬件和軟件之間、計算機與外部設備之間以及計算機各部件之間傳輸數據、控制信息和狀態信息的硬件設備和軟件程序。它在計算機系統中
    的頭像 發表于 10-14 14:02 ?1065次閱讀

    計算機存儲系統的構成

    計算機存儲系統是計算機中用于存放程序和數據的設備或部件的集合,它構成了計算機信息處理的基礎。一個完整的計算機存儲系統通常包括多個層次的存儲器,從高速緩存(Cache)到主存儲器(Mai
    的頭像 發表于 09-26 15:25 ?2188次閱讀

    簡述計算機總線的分類

    計算機總線作為計算機系統中連接各個功能部件的公共通信干線,其結構和分類對于理解計算機硬件系統的工作原理至關重要。以下是對計算機總線結構和分類的詳細闡述,內容將涵蓋總線的基本概念、內部結
    的頭像 發表于 08-26 16:23 ?4767次閱讀

    晶體管計算機和電子管計算機有什么區別

    晶體管計算機和電子管計算機作為計算機發展史上的兩個重要階段,它們在多個方面存在顯著的區別。以下是對這兩類計算機在硬件、性能、應用以及技術發展等方面區別的詳細闡述。
    的頭像 發表于 08-23 15:28 ?3342次閱讀

    計算機系統的組成和功能

    計算機系統是一個復雜而龐大的概念,它涵蓋了計算機硬件、軟件以及它們之間相互作用的所有元素。為了全面而深入地探討計算機系統,本文將從定義、組成、功能、發展歷程以及未來趨勢等方面進行詳細闡述。
    的頭像 發表于 07-24 17:41 ?2149次閱讀

    DRAM在計算機中的應用

    DRAM(Dynamic Random Access Memory,動態隨機存取存儲器)在計算機系統中扮演著至關重要的角色。它是一種半導體存儲器,用于存儲和快速訪問數據,是計算機主內存的主要組成部分。以下是對DRAM在計算機中的
    的頭像 發表于 07-24 17:04 ?2585次閱讀

    什么是工業計算機(IPC)?

    工業電腦也稱為IPC,其組件專門設計用于工業工作環境。因此,工業計算機特別堅固,基于強大的處理器,可以根據相應的應用進行單獨調整。工業計算機的典型方面:耐惡劣環境(包括灰塵、水、濺水、寒冷、炎熱
    的頭像 發表于 06-24 18:01 ?1444次閱讀
    什么是工業<b class='flag-5'>計算機</b>(IPC)?

    工業控制計算機的特點 工業控制計算機的應用領域

    工業控制計算機是一種專門為工業自動化和控制系統設計的計算機。它具有高度的可靠性、穩定性和實時性,能夠滿足工業生產過程中對控制精度和響應速度的嚴格要求。 工業控制計算機的特點 高可靠性 :工業控制
    的頭像 發表于 06-16 11:30 ?1976次閱讀

    工業控制計算機與普通個人計算機相比有何區別?

    引言 隨著科技的不斷發展,計算機在各個領域的應用越來越廣泛。在眾多計算機類型中,工業控制計算機和普通個人計算機是兩種常見的計算機。盡管它們在
    的頭像 發表于 06-11 10:45 ?1451次閱讀

    計算機視覺的主要研究方向

    計算機視覺(Computer Vision, CV)作為人工智能領域的一個重要分支,致力于使計算機能夠像人眼一樣理解和解釋圖像和視頻中的信息。隨著深度學習、大數據等技術的快速發展,計算機視覺的研究和應用取得了顯著進步。本文將對
    的頭像 發表于 06-06 17:17 ?1654次閱讀

    工業計算機與普通計算機的區別

    在信息化和自動化日益發展的今天,計算機已經成為了我們日常生活和工作中不可或缺的工具。然而,在計算機領域中,工業計算機和普通計算機雖然都具備基本的計算
    的頭像 發表于 06-06 16:45 ?2300次閱讀