2017年最受歡迎的10個程式設計挑戰網站
譯者注:如果你想不斷地提高自己的程式設計技能,那麼不斷嘗試去解決那些程式設計中的難題,這是一個非常不錯的途徑。作者在本篇文章中列舉出了10個程式設計挑戰網站,你想嘗試一下嗎?以下為譯文。
如果你正在在學習程式設計,那麼我可以告訴你一個提高技能的好方法,那就是是敢於去解決編碼過程中遇到的難題。解決不同型別的難題,可以幫助你成為一名優秀的問題解決者;不管程式語言多複雜,你也會得心應手;另外在面試準備以及學習新演算法等很多方面,都會讓你變得越來越出色。
下面是一些非常受大眾歡迎的程式設計難題網站列表,文章還對每個網站所提供的資訊進行了一番簡短的描述。
TopCoder是最開始的線上競技程式設計平臺之一。它提供了很多的
TopCoder上排名靠前的使用者都是很有競爭力的程式設計師,他們會定期參加各種比賽。這些使用者還可以通過名稱為ALGORITHMS WEEKLY BY PETR MITRICHEV的部落格平臺去發表一些關於程式設計競賽、演算法、數學等方面的文章。
Coderbyte提供了200多項編碼挑戰,挑戰者可以使用10門程式語言中的任意一種直接線上解決(看看這個例子)。這些挑戰的難易程度各不相同。
另外Coderbyte還提供了很多的演算法教程,入門視訊和面試準備的課程。與HackerRank和其它網站不同,使用者可以檢視其他挑戰者提供的解決方案,而不是Coderbyte*官方*釋出的。
Project Euler提供了很多關於電腦科學和數學領域的挑戰。挑戰內容大致都是要求挑戰者編寫一段小程式從而為某個數學公式或方程式提供解決方案。
由於不支援直接在編輯器上程式設計,因此需要使用者在自己的電腦上先寫好解決方案,然後在網站上再提供出來。
HackerRank提供了很多不同領域的挑戰,比如演算法、數學、SQL、函數語言程式設計、人工智慧等等。挑戰者可以直接線上完成所有挑戰(看看這個
HackerRank還支援使用者提交應用程式,而且通過解決公司發起的編碼挑戰,挑戰者還有機會獲得一份工作。
CodeChef是一家位於印度的程式設計競賽網站,該網站提供了數百種挑戰。挑戰者可以通過線上編輯器進行程式設計,而且還可以根據自身的程式設計能力去檢視已經分類好的適合於自己的挑戰題目(請檢視本示例)。CodeChef有一個龐大的程式設計社群,為論壇提供幫助,負責編寫教程,而且也會參加CodeChef的編碼競賽。
CodeEval類似於HackerRank,它還提供了很多公司發起的挑戰,如果能很好地完成這些挑戰,你還有機會得到一份工作。公司可以建立挑戰和舉辦競爭比賽來招募新的工作人員。挑戰者可以在這裡檢視當前的挑戰列表。
Codewars提供了很多的編碼挑戰,這些挑戰都是由他們自己社群提交和編輯的。挑戰者可以用幾種語言在編輯器中直接線上完成挑戰。使用者還可以檢視針對每個挑戰的討論以及其他使用者的解決方案。
LeetCode是一個很受歡迎的線上判題系統,它提供了190道挑戰題目,這些題目可以幫助挑戰者為面試做好技術準備。挑戰者可以用9種程式語言直接線上完成挑戰。雖然該網站不支援檢視其他使用者的解決方案,但使用者可以為自己的解決方案提供統計資料,例如與其他使用者相比,程式碼執行速度如何。
他們也有一個專門為面試準備的Mock Interview部分,這是由他們自己主持的編碼競賽,其中有一些文章幫助使用者更好地瞭解某些問題。
Sphere Online Judge(SPOJ)是一個線上判題系統,提供20000多個程式設計挑戰。挑戰者可以直接通過線上編輯器中提交程式碼。SPOJ還舉辦了自己的競賽,並有一個區域專門供使用者討論編碼挑戰。他們目前沒有像其他網站那樣提供任何官方解決方案或社論。
CodinGame與其他網站有點不同,因為它不是簡單地在編輯器中去完成編碼挑戰,而是讓挑戰者真正遊戲的。使用者可以在這裡看到當前提供的遊戲列表,在這裡看到一個示例。這個遊戲有一個問題描述,測試用例,和一個編輯器,你可以在其中一個20 +的程式語言編寫你的程式碼。
雖然這個網站不同於上面提到的那些有競爭力的程式設計網站,但對於那些喜歡挑戰並參與競賽的程式設計師來說,它還是很受歡迎額。