月 | 目標 | 活動 | 資源 |
---|---|---|---|
1年 | 基礎 | ||
1-2個月 | 編程基礎知識(Python/C ++) | - 學習基本的編程概念:變量,數據類型,循環,條件。練習編寫小型代碼片段。 | - 編碼器或udacity:“ python的介紹” - SoloLearn應用程序 |
- 每天在諸如hackerrank或Leetcode之類的平台上代碼(易於級別)。 | -Hackerrank/Leetcode初學者級問題 | ||
第3個月 | 數據結構簡介 | - 研究基本數據結構:陣列,鏈接列表,堆棧和隊列。實踐相關問題。 | - YouTube:William Fiset的“數據結構易於高級課程” |
- 構建迷你項目(例如,簡單的計算器或測驗遊戲)以應用您所學的內容。 | - 基於項目的學習:freecodecamp,devprojects | ||
第4個月 | LinkedIn和GitHub設置 | - 設置LinkedIn和GitHub配置文件,包括簡單的生物和圖片。 | - YouTube上的LinkedIn和GitHub教程 |
- 將您的第一個項目發佈在GitHub上,並與LinkedIn上的同學和編碼對等相連。 | - Amigoscode(YouTube)的“ GitHub&LinkedIn配置文件優化” | ||
第5個月 | 繼續DSA練習 | - 練習專注於二元樹和遞歸基礎知識的問題。旨在每週解決至少3個問題。 | -Geeksforgeeks:“數據結構基礎知識” |
- 參與編碼社區,例如Codechef或Leetcode的每週挑戰。 | -Codechef比賽和Leetcode每週挑戰 | ||
第6-7個月 | 學習HTML,CSS,JavaScript | - 了解Web開發的基礎知識,創建簡單的響應網頁。 | - 約翰·霍普金斯大學(Johns Hopkins University)在Coursera上的“ HTML,CSS,JavaScript” |
- 開始建立個人投資組合網站。 | -FreecodeCamp的HTML/CSS課程 | ||
第8個月 | 簡單的全棧項目 | - 了解Node.js或Django的基礎知識,並創建一個簡單的CRUD應用程序。 | - YouTube:Traversy Media的“完整堆棧Web開發課程” |
- 將項目部署在GitHub頁面或Vercel上。 | - Vercel或GitHub頁面部署教程 | ||
第9個月 | 年中評論和算法的基礎知識 | - 審查DSA的進度,旨在在Leetcode上解決20-30個完成的問題。 | - Leetcode或Hackerrank個人資料審查和進度 |
- 研究分類算法,如QuickSort,Mergesort和插入排序。 | - 與Tim的Tech上的YouTube上的“為初學者分類算法”播放列表 | ||
第10個月 | 探索黑客馬拉松 | - 參加黑客馬拉松以獲得曝光(從初學者友好的虛擬曝光開始)。 | - 即將到來的黑客馬拉鬆的DevPost -MLH(大聯盟黑客)網站 |
- 練習在團隊中構建快速項目,專注於協作和集思廣益。 | -MLH初學者黑客馬拉松(以觀察者或貢獻者的身份加入) | ||
11-12月 | 加深DSA技能 | - 研究高級數據結構:堆,圖,哈希地圖。 | - 教育。io:“ ACE編碼訪談” -Hackerrank數據結構 |
- 參加在線編碼競賽,以提高速度和解決問題的策略。 | - CodeForces競賽和ATCODER初學者競賽 | ||
第二年 | 中級技能和項目 | ||
1個月 | 開始競爭性編程(CP) | - 開始競爭性編程,解決CodeForces和CodeChef上的問題。 | - YouTube:Errichto的播放列表的“競爭性編程” |
- 練習動態編程基礎知識(從簡單的DP問題開始)。 | - Aditya Bhargava的“動態編程 - 初學者指南”(中文) | ||
第2個月 | 數據結構和系統設計 | - 研究可伸縮性,REST API基礎知識並構建基本的REST API。 | - FreeCodeCamp(YouTube)的“學習REST API” |
- 探索與REST API相關的GITHUB上的開源項目。 | -Github搜索使用過濾器for初學者友好的存儲庫 -Gitlab的開源列表 | ||
第3個月 | 建立一個全棧項目 | - 使用React and Express.js(或Django)構建社交媒體克隆或博客平台。 | - 在YouTube上進行反應並表達教程(Traversy Media) |
- 部署在像Heroku這樣的平台上。 | - “將React應用程序部署到Heroku”(Heroku官方指南) | ||
第4個月 | 增強LinkedIn和簡歷 | - 通過您的全棧項目更新LinkedIn和GitHub配置文件,詳細介紹了所使用的技術堆棧。 | - LinkedIn學習:“建立令人印象深刻的LinkedIn個人資料” |
- 與所需領域的專業人員聯繫,並在個人資料中獲得反饋。 | - YouTube:有影響力的U | ||
第5個月 | 黑客準備 | - 開始參加黑客馬拉松並從事團隊中的現實世界問題。 | - 黑客馬拉松列表的DevPost -MLH(大聯盟黑客)提前挑戰 |
- 專注於快速原型製作,UI/UX基礎知識和推銷項目思想。 | - IDEO在Coursera上的“設計思維” | ||
第6-7個月 | 實習搜索 | - 在LinkedIn和InternShala等工作門戶網站上申請實習。 | - 實習生,LinkedIn Jobs和Angellist實習 |
- 量身定制履歷,用於特定角色,並使用github展示項目。 | - 技術簡歷手冊的“如何為技術撰寫簡歷” | ||
第8個月 | DSA高級和模擬面試 | - 研究高級算法:圖形,動態編程和練習模擬訪談。 | - leetcode and pramp(模擬面試平台) |
- 與朋友或在線進行1-2個模擬訪談以建立信心。 | - 用於模擬技術訪談的PRAMP | ||
第9個月 | 建立和部署一個現實世界項目 | - 像任務管理器一樣構建具有用戶身份驗證和數據庫集成的應用程序。 | - YouTube:FreeCodeCamp的“構建完整的堆棧Mern應用程序” |
- 在Vercel或Digitalocean上部署以獲得部署流程的經驗。 | - Digitalocean部署指南 | ||
第10個月 | 探索開源 | - 為開源項目做出貢獻,尤其是在Hacktoberfest期間。 | - hacktoberfest by Digitalocean -Github開源指南 |
- 使用git和github進行版本控制和協作。 | - YouTube上的Traversy Media通過Traversy Media的“ Git和Gitub速成課程” | ||
11-12月 | 競爭性編程和完善DSA | - 旨在在諸如LeetCode之類的平台上始終如一地解決中等問題。 | - leetcode中和硬問題集 |
- 專注於提高解決問題的速度和準確性。 | -Codechef和Codeforces高級比賽 | ||
第三年 | 高級技能和實習 | ||
1個月 | 系統設計與高級全棧開發 | - 研究高級系統設計概念,例如負載平衡,緩存和微服務。 | - Donne Martin在Github上的“系統設計底漆” |
- 建立一個展示這些技能的項目,專注於性能和可擴展性。 | - “可擴展的網絡架構”課程 | ||
第2個月 | 實習和麵試準備 | - 申請競爭性實習,並準備以系統設計和算法為重點的訪談。 | -Glassdoor和Internshala用於工作申請 |
- 練習模擬面試並為行為問題做準備。 | - 訪談。oio和Leetcode面試準備 | ||
第3個月 | 高級數據結構(嘗試,細分樹) | - 加深對複雜數據結構和算法的了解,重點是訪談。 | - MIT OpenCourseware在YouTube上的“高級數據結構” |
- 處理邊緣案例並優化解決方案的問題。 | -Hackerrank高級問題集 | ||
第4個月 | 網絡和品牌建設 | - 參加行業網絡研討會,編碼聚會以及與專業人員的網絡。 | -Metup.com進行技術活動,LinkedIn活動 |
5-12月 | 專業和項目 | - 基於興趣的AI,數據科學或網絡安全等領域的專業項目。 | - 高級主題的Coursera/EDX課程 - 數據科學項目的Kaggle |
- 專注於通過項目,實習和現實世界的經驗完成全面的投資組合。 | -Github投資組合,LinkedIn個人資料改進 |