【GitHub 熱門】中年工程師自創「面試寶典」,苦練8 個月轉 ...

文章推薦指數: 80 %
投票人數:10人

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

更加難能可貴的是,小哥還將自學經驗編寫成了一份教程,在 ... Share 【為什麼我們挑選這篇文章】程式設計每年都在變化,本文原作者JohnWasham當年求學時C++都算新潮了,更別說Python,聽都沒聽過,但為了完成人生目標「到Google工作」,他幫自己設計了一套學習寶典,雖然最後沒進Google,但只用了8個月就進到亞馬遜AWS,還是非常強大!(責任編輯:鍾佳瑀) 本文經AI新媒體量子位(公眾號ID:QbitAI)授權轉載,轉載請聯繫出處 作者:量子位 Google工程師條件:名校出身、CS專業背景、博士學位加持,技術過硬?國外一個叫JohnWasham的小哥告訴你:不用,自學8個月也可以! JohnWasham勵志要成為一名Google軟體工程師,但沒有CS專業背景的他,只能通過自己的努力來達成理想。

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

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

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

正如他所說: 即便沒有面上(?)夢寐以求的Google,但是教程,也可以用來好好充實一下自己 (教程有中文版哦~~) GitHub超10萬星自學寶典 是什麼樣的程式設計教程,能如此火爆? 小哥最初的目的是「考上」Google,於是每天自學8-12個小時,堅持了8月有餘。

邊學還順手整理出了這份自學專案。

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

Washam表示: 無論你要面試哪家軟體公司,這裡的資料可以讓你做好充分的準備,包括去像亞馬遜、Facebook、Google和微軟這樣的科技巨頭。

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

1.選擇語言、必備知識資源 首先要做的就是選擇一門語言,在Google一般是C++、Java、Python,有時也會用到JavaScript、Ruby。

背後還有一些如SQL、HTML等技術沒有列出。

接著開始學習計算機硬體知識: 然後補充計算機專業的基礎數學知識,如算法複雜度/Big-O/漸進分析法、數據結構、樹、排序、圖論。

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

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

因為你不可能一遍就記住所有知識點。

所以需要把要回顧的知識點做成 Flashcard:正常的及帶有程式碼的,類似於背單詞。

每種卡都會有不同的格式設計。

專案主頁中就有Flashcard的程式碼,可以根據自己的學習特點去製作。

Washam還留有一組ASCII碼表、OSI堆棧、Big-O記號及更多的小抄紙,以便在空閑的時候可以學習。

每coding半個小時就要休息一下,並去回顧你的Flashcard。

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

書籍則推薦一些關於算法和C++程式設計之類的。

2.Google面試注意事項 面試的第一步當然是要有一份好的履歷,這樣才能為你爭取到寶貴的面試機會。

知名科技部落客SteveYagge給出了10個tips,幫你做出一份還不錯的簡歷。

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

在面試時,你可能會遇到這20個問題,每個問題準備2-3種回答。

準備點故事,而不要只是擺一些你完成的事情的數據。

面試官在也會問你還有哪些問題,不要說自己沒有什麼要問題,可以試試問一些此類問題: 當然,進入Google也不意味著結束,你還要新的學習過程。

Washam還有一份附加內容,包括Emacs和Vim、Unix命令行工具、密碼學。

這些內容雖然不會直接用到,但是會大大提高你的效率。

3.一個Web前端的新征途 其實嚴格來講,John並不是一個程式設計小白。

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

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

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

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

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

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

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

但是他的目標不止於此。

他的夢想是在Google任職軟體工程師,在充滿智慧和創造力的團隊裡提高自己。

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

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

於是他以這份Google試題為指導,開始了程式設計自學。

並且在GitHub上建立了「9894專案」,因為Google建立於1998年9月4日。

後來這個專案改名為現在的「codinginterviewuniversity」。

4.CS自學三點注意事項 John結合自己的學習經歷,給出了三點自學程式設計的建議。

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

這是John的C++學習資料,最後證明走了冤枉路 原因是他擔心面試時可能會被問到。

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

而是強調你要提前收集信息做出計劃,在不同的專案上分配合理的學習時間,提高效率。

切忌「我覺得……」。

二、影片比看書效率更高 觀看影片的學習效率自然要比自己啃書快。

找到好的教學影片,意味著你有更多的時間實際演練程式設計題目。

三、反復溫習十分重要 不斷反復是形成記憶的關鍵,正如我們在上文提到的,John推薦使用記憶卡。

他自己製作了1792個電子Flashcard。

一有空閒時間就掏出來溫習,比如超市排隊時、公車上等等。

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

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

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

I’maboutaspreparedasIcanbe.Ican’tkeepstudyingandputtingofftheapplicationforever.Atsomepoint,Ihavetotaketheleap. Iseeabrightfutureahead. Thanksfortakingthetimetoreadmystory. 而且John小哥的經歷,也不侷限於工程師本身,多於更多人而言,也有值得參考之處。

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

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

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

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

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

生命不息,奮鬥不止,Keepwalking~ 傳送門: GitHub專案地址 Flashcard參考牌組 John的部落格分享 (本文經AI新媒體量子位授權轉載,並同意TechOrange編寫導讀與修訂標題,原文標題為〈GitHub上最励志的计算机自学教程:8个月,从中年Web前端到亚马逊百万年薪软件工程师|中文版〉,首圖來源:Unsplash。

) 你可能有興趣 ◊【照片動動動起來】Google跟柏克萊用Python寫出全新讓靜態圖2D轉3D的無痛方式!  ◊微軟工程師推出Python零基礎課程,用10分鐘的短片讓你輕鬆上手!  ◊程式教育納入課綱,中學生該學Python還是Java?其實科技思維才是重點 Share 馬上訂閱CONNECT▼ NowReading 【GitHub熱門】中年工程師自創「面試寶典」,苦練8個月轉職AWS拿百萬年薪 4minread 最新文章 雲端運算人工智慧 雲端服務 數位轉型應用 資訊安全 資訊科技 新經濟新零售 數位金融 虛擬貨幣 數位行銷 通訊科技5G/6G 太空 低軌道衛星 電信通訊 新科技 供應鏈智慧製造 半導體 IoT 未來生活電動車 能源創新 智慧城市 觀看影音新工作進行式 以人為本,醫療新服務 線上教育,素養學習篇 線上教育,數位落差篇 0% ✕ Close 徵才 最新文章 雲端運算 人工智慧 雲端服務 數位轉型應用 資訊安全 資訊科技 新經濟 新零售 數位金融 虛擬貨幣 數位行銷 通訊科技 5G/6G 太空 低軌道衛星 電信通訊 新科技 供應鏈 智慧製造 半導體 IoT 未來生活 電動車 能源創新 智慧城市 公共服務 數位醫療 線上學習 數位政府與未來治理 網路民主與公民 投資創新 新投資 新人才 創業故事 觀看影音 科技橘子 品牌簡介 ABOUTUS 聯絡我們 ✕ 徵才 最新文章 雲端運算 人工智慧 雲端服務 數位轉型應用 資訊安全 資訊科技 新經濟 新零售 數位金融 虛擬貨幣 數位行銷 通訊科技 5G/6G 太空 低軌道衛星 電信通訊 新科技 供應鏈 智慧製造 半導體 IoT 未來生活 電動車 能源創新 智慧城市 公共服務 數位醫療 線上學習 數位政府與未來治理 網路民主與公民 投資創新 新投資 新人才 創業故事 觀看影音 新工作進行式 以人為本,醫療新服務 線上教育,素養學習篇 線上教育,數位落差篇 品牌簡介 ABOUTUS 聯絡我們 LatestPosts 【專訪】把太陽能監控服務做到極致,慧景科技下一步如何挾台灣成功經驗出海? 【你的工作習慣正透露著生活品味】散發著獨特魅力的「知性派」有3個工作哲學 台灣油電車換車潮來臨!科技業工程師如何選到CP值好車,營造移動間的幸福哲學? 【追求財富自由!】矽谷人才紛紛跳槽到加密貨幣新創,Google還為此傷透腦筋 探索藍色經濟!「海底機器人」代替人類描繪海底樣貌,電力問題如何解? 為提供您更好的網站服務,本網站會使用Cookies及其他相關技術優化用戶體驗,繼續瀏覽本網站即表示您同意上述聲明了解隱私權政策同意並關閉視窗Manageconsent Close PrivacyOverview Thiswebsiteusescookiestoimproveyourexperiencewhileyounavigatethroughthewebsite.Outofthese,thecookiesthatarecategorizedasnecessaryarestoredonyourbrowserastheyareessentialfortheworkingofbasicfunctionalitiesofthewebsite.Wealsousethird-partycookiesthathelpusanalyzeandunderstandhowyouusethiswebsite.Thesecookieswillbestoredinyourbrowseronlywithyourconsent.Youalsohavetheoptiontoopt-outofthesecookies.Butoptingoutofsomeofthesecookiesmayaffectyourbrowsingexperience. Necessary Necessary AlwaysEnabled Necessarycookiesareabsolutelyessentialforthewebsitetofunctionproperly.Thesecookiesensurebasicfunctionalitiesandsecurityfeaturesofthewebsite,anonymously. CookieDurationDescriptioncookielawinfo-checkbox-analytics11monthsThiscookieissetbyGDPRCookieConsentplugin.Thecookieisusedtostoretheuserconsentforthecookiesinthecategory"Analytics".cookielawinfo-checkbox-functional11monthsThecookieissetbyGDPRcookieconsenttorecordtheuserconsentforthecookiesinthecategory"Functional".cookielawinfo-checkbox-necessary11monthsThiscookieissetbyGDPRCookieConsentplugin.Thecookiesisusedtostoretheuserconsentforthecookiesinthecategory"Necessary".cookielawinfo-checkbox-others11monthsThiscookieissetbyGDPRCookieConsentplugin.Thecookieisusedtostoretheuserconsentforthecookiesinthecategory"Other.cookielawinfo-checkbox-performance11monthsThiscookieissetbyGDPRCookieConsentplugin.Thecookieisusedtostoretheuserconsentforthecookiesinthecategory"Performance".viewed_cookie_policy11monthsThecookieissetbytheGDPRCookieConsentpluginandisusedtostorewhetherornotuserhasconsentedtotheuseofcookies.Itdoesnotstoreanypersonaldata. Functional Functional Functionalcookieshelptoperformcertainfunctionalitieslikesharingthecontentofthewebsiteonsocialmediaplatforms,collectfeedbacks,andotherthird-partyfeatures. Performance Performance Performancecookiesareusedtounderstandandanalyzethekeyperformanceindexesofthewebsitewhichhelpsindeliveringabetteruserexperienceforthevisitors. Analytics Analytics Analyticalcookiesareusedtounderstandhowvisitorsinteractwiththewebsite.Thesecookieshelpprovideinformationonmetricsthenumberofvisitors,bouncerate,trafficsource,etc. Advertisement Advertisement Advertisementcookiesareusedtoprovidevisitorswithrelevantadsandmarketingcampaigns.Thesecookiestrackvisitorsacrosswebsitesandcollectinformationtoprovidecustomizedads. Others Others Otheruncategorizedcookiesarethosethatarebeinganalyzedandhavenotbeenclassifiedintoacategoryasyet. SAVE&ACCEPT



請為這篇文章評分?