国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

    文章

    7806

    瀏覽量

    93191
  • CS
    CS
    +關注

    關注

    0

    文章

    55

    瀏覽量

    25541
  • GitHub
    +關注

    關注

    3

    文章

    488

    瀏覽量

    18664

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    十進制計算機硬件體系結構及“獨值”量化邏輯運算革命(一)

    采用“獨值”量化邏輯理論設計十進制數字計算機,十進制網絡計算機,十進制模擬計算機,十進制模糊計算機,實現計算機類型多樣化,
    的頭像 發表于 01-29 09:13 ?972次閱讀
    十進制<b class='flag-5'>計算機</b>硬件體系結構及“獨值”量化邏輯運算革命(一)

    工控機與普通計算機的核心差異解析

    在工業自動化和智能制造領域,計算機設備作為核心控制單元,其選擇直接影響整個系統的穩定性與可靠性。工控機與普通計算機雖同屬計算設備,但其設計目標、性能側重和應用場景存在根本性差異。準確理解這些差異,是進行正確設備選型的基礎。
    的頭像 發表于 11-25 14:45 ?1782次閱讀
    工控機與普通<b class='flag-5'>計算機</b>的核心差異解析

    龍架構計算機系統能力核心課程教學研討會圓滿舉行

    2025年11月8日,由教育部計算機類專業系統能力課程群虛擬教研室指導、北京航空航天大學計算機學院主辦的龍架構計算機系統能力核心課程教學研討會在京舉行。
    的頭像 發表于 11-14 13:52 ?645次閱讀

    貿澤電子開售全新Arduino UNO Q單板計算機

    貿澤電子開售全新Arduino UNO Q單板計算機。Arduino UNO Q單板計算機(SBC)將高性能計算與實時控制結合,提供理想的創新平臺。
    的頭像 發表于 11-08 09:50 ?1345次閱讀

    【作品合集】賽昉科技VisionFive 2單板計算機開發板測評

    、OpenSUSE、OpenKylin、OpenEuler、Deepin等,及在這些操作系統運行的各類軟件。 活動詳情地址: 【RISC-V專題】VisionFive 2單板計算機免費試用 作品合集: 作者
    發表于 09-04 09:08

    工業計算機的重要性

    工業計算機對某些行業至關重要。我們將在下面詳細解釋這些行業中的工業計算機應用。1.制造與工業自動化工業級計算機非常適合制造工廠,特別是那些想要自動化裝配過程的工廠。在這樣的環境中,工業計算機
    的頭像 發表于 07-28 16:07 ?563次閱讀
    工業<b class='flag-5'>計算機</b>的重要性

    自動化計算機經過加固后有什么好處?

    讓我們討論一下部署堅固的自動化計算機的一些好處。1.溫度范圍寬自動化計算機經過工程設計,配備了支持寬溫度范圍的組件,使自動化計算解決方案能夠在各種不同的極端環境中運行。自動化計算機能夠
    的頭像 發表于 07-21 16:44 ?617次閱讀
    自動化<b class='flag-5'>計算機</b>經過加固后有什么好處?

    自動化計算機的功能與用途

    工業自動化是指利用自動化計算機來控制工業環境中的流程、機器人和機械,以制造產品或其部件。工業自動化的目的是提高生產率、增加靈活性,并提升制造過程的質量。工業自動化在汽車制造中體現得最為明顯,其中許多
    的頭像 發表于 07-15 16:32 ?742次閱讀
    自動化<b class='flag-5'>計算機</b>的功能與用途

    工業計算機與商用計算機的區別有哪些

    工業計算機是一種專為工廠和工業環境設計的計算系統,具有高可靠性和穩定性,能夠應對惡劣環境下的自動化、制造和機器人操作。其特點包括無風扇散熱技術、無電纜連接和防塵防水設計,使其在各種工業自動化場景中
    的頭像 發表于 07-10 16:36 ?740次閱讀
    工業<b class='flag-5'>計算機</b>與商用<b class='flag-5'>計算機</b>的區別有哪些

    Blue Lion超級計算機將在NVIDIA Vera Rubin運行

    德國萊布尼茨超算中心(LRZ)將迎來全新超級計算機 Blue Lion,其算力比該中心現有的 SuperMUC-NG 高性能計算機提升了約 30 倍。這臺新的超級計算機將在 NVIDIA Vera Rubin 架構
    的頭像 發表于 06-12 15:39 ?1143次閱讀

    NVIDIA技術賦能歐洲最快超級計算機JUPITER

    NVIDIA 宣布,搭載 NVIDIA Grace Hopper 平臺的 JUPITER 超級計算機成為歐洲最快超級計算機,其運行 HPC 和 AI 工作負載的速度是第二名的兩倍以上。
    的頭像 發表于 06-12 15:33 ?1422次閱讀

    工業計算機如何設計用于沖擊和振動

    工業計算機是為挑戰消費級系統耐用性的環境而構建的。在制造業、運輸業、國防和采礦業等領域,計算機面臨著持續的沖擊、振動和其他物理壓力。設計這些系統以在這種條件下保持可靠需要卓越的工程和創新技術。本文
    的頭像 發表于 05-19 15:27 ?494次閱讀
    工業<b class='flag-5'>計算機</b>如何設計用于沖擊和振動

    一文帶你了解工業計算機尺寸

    工業計算機是現代自動化、人工智能(AI)和邊緣計算的支柱。這些堅固耐用的系統旨在承受惡劣的環境,同時為關鍵應用提供可靠的性能。然而,由于有這么多可用的外形尺寸,為您的工業計算機選擇合適的尺寸可能是
    的頭像 發表于 04-24 13:35 ?1039次閱讀
    一文帶你了解工業<b class='flag-5'>計算機</b>尺寸

    計算機網絡入門指南

    計算機網絡是指將地理位置不同且具有獨立功能的多臺計算機及其外部設備,通過通信線路連接起來,在網絡操作系統、網絡管理軟件及網絡通信協議的管理和協調下,實現資源共享和信息傳遞的計算機系統。
    的頭像 發表于 04-22 14:29 ?2243次閱讀
    <b class='flag-5'>計算機</b>網絡入門指南

    NVIDIA 宣布推出 DGX Spark 個人 AI 計算機

    的 DGX? 個人 AI 超級計算機。 ? DGX Spark(前身為 Project DIGITS)支持 AI 開發者、研究人員、數據科學家和學生,在臺式電腦對大模型進行原型設計、微調和推理。用
    發表于 03-19 09:59 ?779次閱讀
       NVIDIA 宣布推出 DGX Spark 個人 AI <b class='flag-5'>計算機</b>