十大優秀編程項目,讓你的簡歷金光閃閃

全文共 3241 字,預計學習時長 6 分鐘

被問到如何學習編程時,最常聽到的問題就是:“有沒有什麼新項目的好點子?”

一些老套的答案有:“做一個象棋遊戲” 或者 “命令行界面”。

這些答案沒有錯,但這些例子不符合現代編程的需要。現代軟件編寫需要經常使用軟件服務化(SaaS)和網絡應用,這意味着程序員需要了解如何在線編程。

用戶網站或應用程序的編程需要服務器、身份驗證和數據庫,這個過程十分複雜。它會迫使你使用高難度的技術互動,而這些互動在開發井字遊戲命令行時永遠不會用到。

其中一些可以由亞馬遜雲計算服務或其他大公司常用的第三方來管理。同樣,這有助於你接觸到行業中有幫助且大量使用的技術。這將成爲你簡歷上更具實踐性的一筆,也有助於你學習使用新技術。

小貼士:如果你選擇了一個複雜的項目,那麼一次專注於構建一個特性。一口氣構建一個完整的網站或應用程序是很困難的。首先,創建一個登錄界面,或者在用戶登錄後創建主登錄頁面。如果試圖立刻完成整個項目,那麼你很可能會失敗。

娛樂向網站

1. 一個無需人工干預就能發佈前十名博客的網頁抓取器

某些項目推薦帖子存在問題:他們推薦的項目沒有激勵程序員繼續開發。例如,很多人建議建造一個爬蟲工具。

一旦你建立了網頁爬蟲並抓取了數據,你會怎麼做?

爲什麼不利用這些數據建一個網站呢?不一定要很花哨或擁有很多瀏覽量,這個爬蟲可以將數據拉入數據庫,然後選擇最受歡迎的博客。它可以複製該博客的標題和幾個句子,然後創建一個在線分享的帖子。這個項目看似簡單,但會令人印象深刻,讓你與衆不同。

通過這個網站,你已經表明自己可以做的不僅僅是對系統的一小部分進行編碼。相反,可以從整個系統的角度思考。你需要考慮如何實現流程自動化、管理數據庫、創建網站和選擇博客。據此,你還可能擁有一個有形的最終產品。

如果沒有有形的最終產品,你可能會變得沒有動力,僅僅滿足於創建一個爬蟲工具。

另外,說不定你的網站會變得很流行!

所需技能:數據庫、網頁爬蟲工具、自動化、網頁開發(用於博客)和通用編程。

2. 使用 Meetup 和 Eventbrite APIs 的事件提醒系統

你想去看樂隊或喜劇表演,可最終因忘記而錯過?也許你所在的地區有一個關於數據科學或大數據的免費會議,但是卻因爲忘記檢查而錯過參與。

爲什麼不使用 Meetup 和 Eventbrite APIs 製作自己的彙集器呢?當關鍵字出現在事件描述或標題中時,它就會提醒你。現在,假設 Meetup 和 Eventbrite 都有相似的功能,但嘗試建立自己的系統總是十分有趣。

你可以定製系統,讓它按照你想要的方式工作,甚至可以將它做成一個網站,讓其他人也可以收到提醒。通過這個項目,你可以練習使用兩種不同的 API,比較和歸納兩種 API 中你喜歡或不喜歡的部分。因此,如果負責構建一個應用編程接口,你將更好地瞭解什麼是有效的,什麼是無效的。

所需技能:API、數據庫、自動化、網絡開發和通用編程。

3. 一個 9GAG 的複製網站

當創建自己的項目時,你不需要每次都重造輪子。試着先創造一個可靠的基礎網站,允許用戶登錄、發佈照片和動圖、滾動訂閱等。接下來,可以加入更多有趣的特性,例如關注、點贊和搜索——特別是搜索功能,它能讓你深入瞭解推薦系統和機器學習的工作原理。

試着複製受歡迎的網站總是十分有趣。實際上,這是一種很好的學習方式,因爲你必須對每個特性進行逆向工程。逆向工程是一項偉大的技能,因爲作爲一名軟件工程師,你將不斷地維護他人代碼,你需要用他們的思維方式進行思考。

所需技能:機器學習(推薦系統)、數據庫、自動化、網絡開發和通用編程。

零售向網站

你是否曾經嘗試爲朋友挑選合適的禮物?如果你能創建一個網站,預測什麼樣的禮物適合朋友呢?這個網站可以讓目標用戶創建一個賬戶,或是僅是得到一個推薦。

同樣,這也爲創建需要身份驗證、數據庫開發等的帳戶提供了機會。

該項目的另一個重要部分是你可以使用亞馬遜的應用編程接口作爲附屬鏈接。你將學習到以下內容:第一,瞭解如何使用應用編程接口,輕鬆閱讀應用編程接口文檔。第二,如果你做得好,就可以通過用戶購買的每件產品獲得佣金。

通過這個項目,你也可以創建一個基礎的機器學習模型。可以創建一個測驗,篩選出最好的禮物,然後根據人們點擊該禮物的迴應率,學習驅動模型。

所需技能:API、數據庫、通用編程和應用程序開發。

5. 物物交換和交易網站

考慮創建與 OfferUp 相似的網站。與其花錢,不如創建一個只允許交易的網站。這個概念將迫使你開發一些需要思考的特性。沒有計劃的話,就不能開展這個項目。

如何發佈、在哪裏找到最近發佈的項目、以及如何搜索——這都是你可以構建的獨立功能。此外,你需要考慮用戶將如何互動,甚至他們實際上是如何進行交易的。

這個想法在現實生活中不一定有用——但它能提升你作爲程序員所掌握的技能。

所需技能:數據庫、網絡開發、通用編程和應用程序開發(如果你選擇製作一個應用程序的話)。

B2B 網站

6. 發票和合同管理系統

合同和發票管理非常複雜。合同中可能有許多難以追蹤的細微條款和規定。

因此,即使你將它簡化爲一些核心組件,這依然一個非常好的項目。將複雜的業務流程轉化爲軟件並不容易。但正因如此,本項目是一個很好的挑戰。

再次強調,我們不會把它複雜化。你需要採取一個基本特徵,比如輸入合同條款,並首先開發這一部分。然後,你可以添加其他功能,如發票跟蹤、合同分析和預測。

所需技能:過程管理、數據庫、網絡開發和通用編程。

7. 任務管理系統

像 KanbanFlow 這樣的任務板由幾個模塊化特性構建而成,因此是一個很好的項目。起始部分會花費你一點工夫,因爲需要建立一個耐用的、動態的用戶界面。事實上,這個項目可能需要兩個人合作:一個人在前端工作,另一個人在後端工作。

不要因此而氣餒!這實際上是一個提高溝通和團隊合作技能的機會。你們兩人需要談論設計,確保雙方都能完全理解,並且知道你們的模塊將連接到哪裏。

這比看起來更具挑戰性。

所需技能:溝通、前端、數據庫、網絡開發和通用編程。

8. 求職板

任何旨在擁有不同類型用戶的項目都需要有趣的設計。如何確保僱主和潛在求職者都能通過體驗網站以滿足自身需求?和其他大多數項目一樣,你不需要同時關注所有項目。首先嚐試創建職務公告,然後可以關注求職者及其反應。

所需技能:數據庫、網絡開發和通用編程。

9. 根據標準化數據集預測利潤的網站

大多數公司都擁有許多非常標準化的數據集,包括成本中心的會計數據、賬戶、行描述,最後則是實際交易成本。

數據集標準化讓創建分析變得更容易,這就是它的偉大之處。你可以嘗試創建一個標準化的儀表板,幫助公司預測支出,查看每月支出,並儘可能幫助他們改善支出。

對該項目來說,可能要花很多時間學習如何確保數據安全。當然,我們建議在深入研究安全性前,首先嚐試構建側重於獲取並顯示標準化數據數據的模塊。這是一個永遠繞不開的難題!

所需技能:預測、業務邏輯、數據庫、網絡開發和通用編程。

遊戲創意

10. 貪喫蛇

如果在本世紀初就用過手機的話,那你可能已經玩過貪喫蛇了。這是一個簡單的遊戲,但是你可以試着讓事情變得更復雜!首先,從嘗試開發遊戲開始。

你需要弄清楚如何在線開發遊戲。Sebastian Opperman 的《霓虹貪喫蛇》是一個很好的開始。之後可以添加一些很酷的新功能,比如特殊物品或者特殊能力。

這是一個玩耍和娛樂的機會。該項目並不是非常技術化,因爲不會有很多用戶註冊並使用該網站。然而,如何保持遊戲在線運行是一個很好的挑戰。

所需技能:網絡開發、通用編程和用戶界面。

真心希望這個列表能激勵你創建一個超棒的新項目。可以把它添加到你的簡歷中,並在面試中談論它。也許你會因此成爲一家市值十億美元的創業公司的下一任 CEO!

“不積跬步,無以至千里”,希望未來的你能:有夢爲馬 隨處可棲!加油,少年!

關注公衆號:「Java 知己」,每天更新Java知識哦,期待你的到來!

  • 發送「Group」,與 10 萬程序員一起進步。
  • 發送「面試」,領取BATJ面試資料、面試視頻攻略。
  • 發送「玩轉算法」,領取《玩轉算法》系列視頻教程。
  • 千萬不要發送「1024」…
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章