如何通過自學找到一份開發的工作?
目前工作:測試開發工程師,主要負責底層組件的白盒測試。去年大學畢業工作到現在。工作比較清閑,平時有較多時間自學。
背景:本科是計算機專業,平時僅僅上上課而已,知識掌握的很有限。大約今年6月份的時候對編程產生了濃厚的興趣,開始了自學之路。
最近4個月自學內容:
比較仔細的學習了《c++primer》,並對每個習題都自己寫代碼實現了一遍,包括稍微複雜一點的例子。
認真讀完了《effective c++》,《effective stl》。
比較仔細的學完了《數據結構與演算法分析》,並把其中的每種數據結構和演算法都用c++實現了一遍。包括各種線性表,樹(二叉樹、AVL樹、RB樹的各種操作),圖(BFS、DFS、prim、kruskal、djkstra、floyd、拓撲排序、關鍵路徑等)查找演算法,排序演算法。
期望:通過接下來半年的自學,在明年四五月份的時候找到一份開發的工作,最好是C++方面的。
接下來的計劃:
2-3個月認真學完《csapp》並做完書上的習題。1-2個月時間學完《tcp/ip詳解卷一》,理解tcp協議。然後利用零碎時間閱讀《深度探索c++對象模型》和《stl源碼剖析》。
練手項目,準備自己寫一個mini小型的STL庫。如果可能的話,在學完tcpip後,實現一個memcache。
最後再花半個月時間複習數據結構和演算法。
不知道自己是否是閉門造車,學習方法和計劃是否有問題。
希望各位前輩和大神指點一下,給點建議和意見,謝謝!^_^
從15年8月開始關注這個問題,今天終於能給出自己的答案了。
自學前水平:只會用C輸出helloworld,對指針沒有任何抵抗力;
自學過程:主要是參考蕭大的編程入門指南進行學習:
1. 哈佛大學公開課:計算機科學cs50;
2. 麻省理工公開課:計算機科學和 Python 編程導論;
3. 斯坦福大學公開課:編程範式;
4. 麻省理工學院公開課:演算法導論;(1-4都可以在網易公開課找到)
5. 結合SICP 解題集閱讀了《計算機程序的構造和解釋》;(只看了前三章)
結合The Hardware/Software Interface公開課閱讀《深入理解計算機系統》(時間不夠,沒做習題)CSAPP偏硬體角度,學習操作系統看的是《現代操作系統》;
6. 結合演算法公開課學習了《演算法導論》;(學得很吃力)
7. 學習《演算法》紅寶書,書上的數據結構與演算法代碼都手動敲了一遍,
結合VisuAlgo,效果拔群;
8. 在語言層面上,學習了《C語言編程》,《C++Prime》,《笨方法學Python》;(只是閱讀書籍,沒有去做題實踐,學習效果很不理想)
9. 學習《Flask web開發》動物書,利用PyCharm一步一步搭建網站;
10.在慕課網上完成了「Linux運維工程師」系列課程學習,自己裝了個虛擬機熟悉Linux的常用操作與命令;
11.學習《計算機網路自頂向下方法》,《TCP/IP》核心卷一,熟悉計算機網路基礎
12.學習《SQL必知必會》,《高性能MySQL》(由於水平不夠,沒太看懂);
13.開始用git管理自己的代碼,學習github上的優秀源代碼;
14.學習markdown,用hexo搭建個人博客,記錄自己的學習過程;
15.結合《深入理解Nginx》學習Nginx源碼;
16.深入學習Java:閱讀《Thinking in java》(太厚沒看完),熟悉SSM框架,閱讀《深入理解Java虛擬機》;
—————————————————————————————————————
反思:在學習的過程中有時非常浮躁,急功近利,反而沒有真正學進去,基礎不紮實
大部分工作都在閱讀,沒有代碼的練習與實踐,對於code的學習是不完整的
學習知識後要用思維導圖或博客整理總結,不時復
校招準備:到了16年7月,從實習公司辭職回學校準備校招:
1.牛客網上的專項練習:Java、計算機基礎、Linux等1000多道選擇題都刷了一遍,記錄錯題與答案,導入到印象筆記,每天複習;
2.在線編程中的:《程序員面試金典》、leetcode(easy/medium)都刷了一遍,《劍指offer》書看了一遍,題刷了兩遍;
3.各大互聯網公司的歷年真題都做了一遍;
4.針對各個公司的面經進行準備;
校招經歷:互聯網公司的校招都來得非常早,一般八月底就開始了,我採用的是海投策略,一個月內筆試了30餘家公司(線上筆試與現場筆試),也是自己能力不夠,編程題稍微出的難點就不能AC,最終接到面試通知的不到十家,每天筆試、面試、跑宣講會對體力也是一個很大的挑戰,所幸的是,每次筆試面試都能學到很多東西,臉皮也變厚了;
現在我已經拿到了幾個offer,最終選擇了深圳的一家還算有名的公司,福利待遇也不錯,對於我這樣一個轉行的小碼農來說,已經很滿意了。但我也知道自己在編程上還是個小學生,基礎仍然很不紮實,需要花大量的時間和精力去彌補,在以後的工作和生活中我也會不斷保持努力學習的。
個人經歷:我是武漢一所不知名學校的研究生,學歷上沒有什麼優勢,研二時在武漢一家國企從事純硬體的實習,雖然公司福利待遇不錯,領導也對我關心,但是仍然對所做的事情沒有激情,也是在這個時候看到了蕭大的編程入門指南,便開始一步一步自學,每天上下班公交都在抓緊時間看公開課,在公司不方便就躲在廁所里看,現在想來也是頗不容易;
今年年初,經過朋友推薦,一個非常好的機會去了北京一家外企實習,一路貴人不斷,熱心的老員工,有愛的實習同學,給力的學長;雖然沒做什麼重要的項目,但是卻適應了學校到公司的轉變,通過跟進項目,學習了公司的系統開發流程與規範,還是很有收穫的;
最後非常感謝@蕭井陌和@Badger引我走入編程的大門;
感謝@藍色,@RednaxelaFX和@Coldwings專業的回答幫我解惑;
感謝@vczh帶我發現更大的世界;
多說一句:今年的校招明顯感覺到筆試題比前幾年要難,很多公司的名額也開始縮減,數十個應屆生搶奪一個崗位的事情更是常常發生,所以想通過自學轉行的同學請好好考慮清楚再做決定吧。
以上就是我的一些自學編程的經驗,也有很多不足的地方,僅供大家參考,希望能對大家有所幫助。
※作家會愛上自己寫出來的人么?
※如何評價2016年司法考試?
※為什麼張傑謝娜確實看起來很土?
TAG:知乎 |
※這些人的腦洞到底是怎麼開發出來的,我也好想要開發一波!
※開發商,如何把窗戶做到極致?
※開發商做好的飄窗可以拆掉嗎?我家學潮流這樣裝,物業看到都楞了
※開發 | 再不這樣做,你的小程序就無法通過審核了!
※設計師如何與開發者合作一 什麼是為開發而設計?
※如何做一個自我開發的職場達人
※廚師是如何開發一道新菜的?
※手機麻將遊戲開發現在怎麼樣了?未來怎麼發展?
※這家公司瘋了,把工程師派到印刷廠幾年,就為開發好一套軟體!
※我們的大腦,真的只開發了一成?
※一消息出爐,開發商把自己套路了,新房價不必再猜!
※做開發十年,我總結出了這些開發經驗
※如何儘力開發自心向善的一面?
※放棄了CEO職位,做回了軟體開發,這人的腦子裡到底在想什麼?
※觸樂專訪了《美好世界》開發者,還在工作室的柜子里發現了一把榔頭
※開發客戶這麼難,到底怎麼破?
※你的APP開發爛尾,也許一開始就註定了
※蘋果發布會上的AR工具包,有多少開發者注意到了呢?
※開發商的一些不為人知的事情!