如何通過自學找到一份開發的工作?
01
學習過程
比較仔細的學習了《c++primer》,並對每個習題都自己寫程式碼實現了一遍,包括稍微複雜一點的例子。
認真讀完了《effective c++》,《effective stl》。
比較仔細的學完了《資料結構與演算法分析》,並把其中的每種資料結構和演算法都用c++實現了一遍。包括各種線性表,樹(二叉樹、AVL樹、RB樹的各種操作),圖(BFS、DFS、prim、kruskal、djkstra、floyd、拓撲排序、關鍵路徑等)查詢演算法,排序演算法。
2-3個月認真學完《csapp》並做完書上的課後習題(由於時間的關係,沒有在做家庭作業),順帶學習了一些gcc的嵌入彙編的用法。
讀完了《深度探索C++物件模型》,物件C++底層實現機制有了一定的瞭解。
讀完了《TCP IP詳解卷一》
讀了《APUE》的大部分內容以及《UNP卷一》有關TCP/UDP的部分,略過了SCTP的部分。
研究學習陳碩的muduo網路庫原始碼,受益良多,在期間發現過其中的一兩個小問題,提了幾個pull request,研究完了muduo原始碼後又看了其相關的書《Linux多執行緒服務端程式設計 》
學習了雲風的skynet網路庫的小部分原始碼,主要為了瞭解actor模式和reactor的異同。
學習了google test框架的部分原始碼,弄懂了內部的的執行原理。
刷《劍指offer》的所有習題。
刷leetcode,程式碼在liyuan989/leetcode · GitHub,由於時間的關係大約刷了130道就開始找工作了。
02
關於練手專案
寫了簡易STL,C++協程庫,以及一些http server,rpc之類的。
03
關於找工作
由於基本都是同學朋友內推,不存在簡歷被HR篩掉了。
其實自己都驚訝在找工作的時候有些異常順利,因為面試官問的問題很少有答不上來的。絕大多數問題個人感覺不難,大多都是問的一些比較基礎、底層的東西,比如互斥鎖底層是怎麼實現的?如何用C語言實現C++的異常,說說基本思路這樣的問題。然後就是根據簡歷上寫的東西來問。
另外一個要說的就是紙上手寫演算法題了,手寫程式碼和機器上寫程式碼的感覺不一樣,我個人是沒事自己在紙上寫寫一些基本的演算法來熟悉,比如快排、堆排序之類的。
然後面試要問的演算法題一般都不難,多數都是翻轉連結串列,判斷連結串列是否有環,迴文數,找出連結串列倒數第k個數這樣的題目。
很少遇到問二叉樹的問題,沒有遇到過問圖的相關問題。唯一碰到一個動態規劃的問題,就是最典型的最長公共子序列問題,難點的就是百度第一面最後問了一個leetcode上hard難度的原題,總的來說刷一些題還是很有必要的。
04
驅動力是什麼
對於我來說驅動力就是興趣和堅持吧,再一個就是有一種「做一件事就要把它做好的信念」。
講一下我個人的兩個經歷。
在我中學的時候對籃球很有興趣,但是剛開始的時候運球都運不穩,更別說上籃、突破、三威脅之類的高階動作了。然後我就在網上找到了張衛平老師的籃球教學系列視訊,學基本的運球動作,投籃動作以及基本步法,在家裡沒事都會練練步法。每天晚上傍晚看不太清的時候都去練投籃找投籃感覺,然後看NBA學一兩個實用的晃人、假動作技巧,再慢慢練習。最終在高中的時候進了當時的校籃球隊,拿了當時市高中比賽的冠軍。
另一個就是關於WOW了。高中畢業的時候被一幫從地球年代就開始玩的同學拉去玩WOW了,由於之前沒有玩過類似WOW的網遊,什麼都不懂,完完全全的一個小白,一下副本就被隊友、同學罵。然後呢,我就去NGA看各種攻略貼、精華帖、視訊。仔細研究每一個技能的描述,冷卻時間。慢慢的,下各種副本團隊時候DPS都超過了我的同學,再到後來加入了伺服器FD團隊,拿過幾個伺服器首殺,單個BOSS的DPS排行也進過WOL全球前10。PVP方面也是的,開始在奧格門口是個人都能虐我,然後我每天觀摩那些高手怎麼放技能,怎麼銜接,然後每天泡在奧格門口決鬥練習,看NGA刀鋒山的各種精華帖,看各種PVP視訊,慢慢的在奧格門口幾乎沒有對手了,成為了所謂的門神。後來覺得決鬥沒意思,就開始玩競技場,也是這樣的一個學習過程,最後也打到了角鬥士龍。
最後,我很喜歡劉未鵬先生說過的一句話,送給大家:
興趣遍地都是,專注和持之以恆才是真正稀缺的。
公眾號內回覆“1”帶你進粉絲群!
相關文章
- 自學程式設計,如何找到自己的第一份程式設計師工作?程式設計師
- 自學的程式設計師如何找到好工作?程式設計師
- 文章-自學的程式設計師如何找到好工作?程式設計師
- 自學程式設計的人,都是怎麼找到自己的第一份工作的?程式設計
- ******這樣的情況,可以找到一份Go開發的工作嗎?Go
- 自學前端能找到工作嗎?前端
- 自學Java找到20k的工作Java
- 轉行做IT,你是怎麼找到第一份開發工作?
- 我是如何在自學程式設計9個月後找到工作的程式設計
- 找一份Go開發的工作Go
- 如果自學java,學多久可以自己找到工作?Java
- 堅持程式設計:如何找到一份工程師工作程式設計工程師
- 2018年跳槽指南:如何找到一份人工智慧相關的工作?人工智慧
- 大專生自學大資料到找到工作的前前後後大資料
- 好程式設計師web前端分享前端學習路線自學如何找到工作程式設計師Web前端
- 自學web前端達到什麼水平,才能z找到工作?Web前端
- 如何從零基礎自學到獲得第一份程式設計工作?程式設計
- 通過開源如何賺錢生存發展
- 金三銀四來臨,軟體測試員如何找到一份適合自己的工作?
- Java學到什麼程度能找到一份還不錯的工作Java
- 8種跡象表面你已找到了一份理想中的工作
- Java學到什麼程度可以找到第一份工作Java
- 大學畢業要寫多少行程式碼,才能不用花錢培訓就找到一份開發工作?行程
- 零基礎自學java要多久 學完能找到工作嗎Java
- 我是如何在Stack Overflow找到工作的
- 如何通過微信開發實現財富自由
- java開發工程師會什麼才能找到工作?Java工程師
- 如何在Google得到一份工作Go
- 想自學java不參加長沙Java培訓能找到工作嗎?Java
- 通過 find 命令找到你要找的東西
- 如何通過binlog 輕鬆的找到沒有及時提交的事物(infobin工具)
- 不參加長沙Java培訓,自學Java什麼程度可以找到工作?Java
- 軟體測試培訓分享:軟體測試自學能找到工作嗎
- [譯] 我是如何找到谷歌 UX 設計工作的谷歌UX
- 如何在經濟寒冬中找到好工作?
- Aaron Swartz:如何得到一份像我這樣的工作?
- [請教]自學以後如何能找工作的問題?
- 程式設計培訓班出來的,如何找到工作程式設計