18 個鍛鍊程式設計技能的網站

Reset發表於2016-08-03

程式設計幾乎已經成為了人類所知每個行業的必要組成部分,它幫助組織和維護大型系統的方式是無可比擬的,所以越來越多的人開始了他們的程式設計之旅。

要學習程式設計,你可以通過互動式平臺或者書本,隨便一種你覺得最適合和容易的學習方式。但是,有時候這樣還不夠,我們想要練習一些新的東西。

程式設計最很大程度上是關於創造力,是你產生新鮮有趣想法的能力。但是,有時候因為在處理普通問題上花去了大量時間,我們都忘記了創造力。我不是很肯定這是不是程式設計挑戰產生的原因,但它們一定可以幫你想出自己的想法來程式設計。

可以說,程式設計挑戰可以極好地:

  • 學習另闢蹊徑地完成事情
  • 練習一種新的程式語言
  • 遇到關鍵問題進行解決
  • 保持我們的大腦敏銳且專注
  • 玩得開心!

在我尋找最好的程式設計挑戰的過程中,我把列表縮小到五個好資源。相信它們可以在你的程式設計之旅中極大地幫助你,或者可以滿足學習和探索電腦科學更多領域的目的。

[topcoder]

18 個鍛鍊程式設計技能的網站

你能賺到真金白銀,而且它被近一百萬程式設計師所支援,所以我很肯定一定能遇到許多有挑戰性的東西。我這麼說,是因為我相信有些剛起步的程式設計愛好者可能會覺得topcoder比較難。

可以參加每天或者每週的程式設計挑戰,兩者都極其困難,而且需要非常好的思維技巧來完成。但這是值得的,因為它最終會為你的簡歷增色不少。

HackerEarth

18 個鍛鍊程式設計技能的網站

HackerEarth提供一種軟體即服務應用(SaaS),來對應試者的技術和邏輯能力進行自動評估。作為一個整合和挑選開發者的平臺,它也幫助企業招才納賢。

它們經常新增挑戰,你可以提前幾個星期註冊,這樣可以在你要參加之前提前準備和了解。和TopCoder一樣,這是一個高質量的網站,提供需要深思熟慮的挑戰,而且也證實以後會對你的事業有所裨益。

Coderbyte

18 個鍛鍊程式設計技能的網站

Coderbyte是Kickstarter資助的專案(雖然,它本身在這項運動之前就已經存在了),而且它針對完全的初學者和類似中級程式設計師。

它是由Daniel Borowski在2012年發起的,而且此後發展成一個由喜歡在空閒時間解決程式設計問題的程式設計師們自行維護的社群。

如果有什麼不明白的,你也可以提問,這個社群也是比較活躍的。所以你應該很有可能得到答案。很多人都熱愛Coderbyte,我看到的全部都是正面評價。

Project Euler

18 個鍛鍊程式設計技能的網站

Project Euler大概是世界上最受歡迎的程式設計挑戰網站,而且自從十多年前推出之後,就成為了成千上萬使用者的家園。你可以每週新增一個額外的挑戰,不過我敢肯定,要想搞定已經在等待解決的450多個問題已經要花點時間了。

它們設立得並不是很難,反而更加需要關鍵的思考和解決問題,以此來幫助你成長和學習你所使用的語言。這一切都是為了鍛鍊你進步,確保你充分理解自己在做什麼。

你可以從WikipediaRedditStack Overflow 和 Google Code.上更多地瞭解Project Euler。

Daily Programmer

18 個鍛鍊程式設計技能的網站

我們要用我個人的最愛來做個總結:Reddit的Daily Programmer。如果你想更多地學習語言和解決問題,這是一個極精彩的值得加入的討論區。我想以它目前的狀態,你可以每週解決三個獨特的問題。

更不用說已經有數百個可以解決了。你在評論裡創造的每次提交都會被社群成員檢視,所以你可以得到關於你解法的意見和答案。

強力推薦。

Codility Train

18 個鍛鍊程式設計技能的網站

你可以得到多個提前訂製和提前思考過的挑戰,而且可以用多種程式語言提交。它們都按照合適的難度排序了,大概有40-50個可以檢視。

每一個都詳細解釋了最終程式應該做什麼,而且據我所見-每一個也都有時間限制,所以不能鬆懈!

SPOJ

18 個鍛鍊程式設計技能的網站

Sphere Online Judge是一個有成千上萬個可以讓你成天解決的程式設計挑戰所組成的社群。它支援輸入所有你可以想到的程式語言,而且在它背後還有一個優秀社群始終如一地有效幫助著社群的論壇。

CodeChef

18 個鍛鍊程式設計技能的網站

CodeChef是由Directi創造的,作為一種挑戰和參與開發者社群的方法,同時也提供一個練習、競爭和提高的平臺。它由一大堆待解決的問題所驅動,而且你可以得到別人解決已知程式設計挑戰的原始碼。

它被分成了幾個難度等級,而且網站本身是一個大小合理的社群。看起來真的是一個很棒的挑戰網站。

CodeEval

18 個鍛鍊程式設計技能的網站

作為一個希望向僱主和其他開發者展示自己程式設計技巧的開發者,你可以加入CodeEval。你要參與和加入幾個不同地區的競賽,但大部分是建立一個產品或者應用,並得到現金獎勵作為回報。同時,你可以參與程式設計挑戰,可以在解決之後加到你未來的簡歷上,給你的潛在僱主留下良好的第一印象。

它致力於幫助開發者們宣傳他們在自己工作領域的經驗,而且看起來做得非常好。

HackerRank

18 個鍛鍊程式設計技能的網站

我立刻就喜歡上HackerRank的是它關於人工智慧的那部分挑戰,它們非常酷,而且讓高階程式設計師也有東西可以玩。它的背後是Y Combinator、SVAngel和許多其他公司。絕對有很多黑客在攻克這些。

Talentbuddy

Talentbuddy是一個友好的地方,你可以通過有趣的面向面試的方法,來練習解決問題的能力。我想你也許會覺得這個網站關於人際交往的部分稍微有一點煩人,但是總的來說它有一些非常好的可以學習的課程,甚至還有MongoDB的東西可以練習-能看到高階的挑戰總是好的!

Codewars

18 個鍛鍊程式設計技能的網站

Codewars有一個很好的程式設計挑戰的方法,而且很認真地對待他們的作品。我試著找到正確的詞語來形容它,不過這裡有Codewars提供的一段十分鐘的介紹視訊。

我覺得你會喜歡它的,就像社群裡很多開發者已經喜歡的那樣。

Rosalind

18 個鍛鍊程式設計技能的網站

這是個稍微比較特別的方法,但仍然不失是一個很棒的解決和學習程式設計問題的方法。Rosalind提供一些關於生物資訊學的挑戰,你可以按照自己的節奏來解決。

FightCode

18 個鍛鍊程式設計技能的網站

你可以編寫你自己的機器人,然後用它們來和社群裡的其他成員比拼。它是一種“即編即用”型的平臺,但如果是初學這種方法或者只是想找點樂趣,它還是非常有用的。試試看這些文件,好更瞭解它一些。

Codeforces

18 個鍛鍊程式設計技能的網站

Exercism

18 個鍛鍊程式設計技能的網站

Kaggle

18 個鍛鍊程式設計技能的網站

CodinGame

CodinGame 對程式設計師來說是一個巨大的挑戰,如果你想提升程式設計技能,玩CodinGame是一種有趣的方式。

18 個鍛鍊程式設計技能的網站

更多 → 《一大波能提高程式設計技能的遊戲

上面哪一個,可以算是你自己的最愛?

相關文章