原文:
https://news.cnblogs.com/n/578490/
英文原文:The 10 most popular coding challenge websites for 2017
翻譯:Vincent
譯者注:如果你想不斷地提高自己的編程技能平道,那么不斷嘗試去解決那些編程中的難題沥阱,這是一個非常不錯的途徑。作者在本篇文章中列舉出了 10 個編程挑戰(zhàn)網(wǎng)站少梁,你想嘗試一下嗎?以下為譯文矫付。
如果你正在在學習編程凯沪,那么我可以告訴你一個提高技能的好方法,那就是是敢于去解決編碼過程中遇到的難題买优。解決不同類型的難題妨马,可以幫助你成為一名優(yōu)秀的問題解決者樟遣;不管編程語言多復雜,你也會得心應手身笤;另外在面試準備以及學習新算法等很多方面豹悬,都會讓你變得越來越出色。
下面是一些非常受大眾歡迎的編程難題網(wǎng)站列表液荸,文章還對每個網(wǎng)站所提供的信息進行了一番簡短的描述瞻佛。
1. TopCoder
TopCoder 是最開始的在線競技編程平臺之一。它提供了很多的算法挑戰(zhàn)娇钱,用戶可以使用平臺上的編輯器直接完成挑戰(zhàn)伤柄。每個月該平臺會提供幾次它們最受歡迎的 Single Round Matches,比賽要求用戶在特定的時間內(nèi)與他人競爭文搂,看誰解決問題的速度更快适刀。
TopCoder 上排名靠前的用戶都是很有競爭力的程序員,他們會定期參加各種比賽煤蹭。這些用戶還可以通過名稱為 ALGORITHMS WEEKLY BY PETR MITRICHEV 的博客平臺去發(fā)表一些關于編程競賽笔喉、算法、數(shù)學等方面的文章硝皂。
2. Coderbyte
Coderbyte 提供了 200 多項編碼挑戰(zhàn)常挚,挑戰(zhàn)者可以使用 10 門編程語言中的任意一種直接在線解決(看看這個例子)。這些挑戰(zhàn)的難易程度各不相同稽物。
另外 Coderbyte 還提供了很多的算法教程奄毡,入門視頻和面試準備的課程。與 HackerRank 和其它網(wǎng)站不同贝或,用戶可以查看其他挑戰(zhàn)者提供的解決方案吼过,而不是 Coderbyte官方發(fā)布的。
Project Euler 提供了很多關于計算機科學和數(shù)學領域的挑戰(zhàn)咪奖。挑戰(zhàn)內(nèi)容大致都是要求挑戰(zhàn)者編寫一段小程序從而為某個數(shù)學公式或方程式提供解決方案盗忱。
由于不支持直接在編輯器上編程,因此需要用戶在自己的電腦上先寫好解決方案赡艰,然后在網(wǎng)站上再提供出來售淡。
4. HackerRank
HackerRank 提供了很多不同領域的挑戰(zhàn),比如算法慷垮、數(shù)學揖闸、SQL、函數(shù)式編程料身、人工智能等等汤纸。挑戰(zhàn)者可以直接在線完成所有挑戰(zhàn)(看看這個例子)。HackerRank 針對每一項挑戰(zhàn)專門成立了討論和領導委員會芹血,而大多數(shù)挑戰(zhàn)來自于一篇社論贮泞,它解釋了更多的挑戰(zhàn)楞慈,以及如何接近它提出解決方案。除了這篇社論啃擦,你目前還不能看到其他用戶在 HackerRank 上的解決方案囊蓝。
HackerRank 還支持用戶提交應用程序,而且通過解決公司發(fā)起的編碼挑戰(zhàn)令蛉,挑戰(zhàn)者還有機會獲得一份工作聚霜。
5. CodeChef
CodeChef 是一家位于印度的編程競賽網(wǎng)站,該網(wǎng)站提供了數(shù)百種挑戰(zhàn)珠叔。挑戰(zhàn)者可以通過在線編輯器進行編程蝎宇,而且還可以根據(jù)自身的編程能力去查看已經(jīng)分類好的適合于自己的挑戰(zhàn)題目(請查看本示例)。CodeChef 有一個龐大的編程社區(qū)祷安,為論壇提供幫助姥芥,負責編寫教程,而且也會參加 CodeChef 的編碼競賽汇鞭。
6. CodeEval
CodeEval 類似于 HackerRank凉唐,它還提供了很多公司發(fā)起的挑戰(zhàn),如果能很好地完成這些挑戰(zhàn)虱咧,你還有機會得到一份工作熊榛。公司可以創(chuàng)建挑戰(zhàn)和舉辦競爭比賽來招募新的工作人員。挑戰(zhàn)者可以在這里查看當前的挑戰(zhàn)列表腕巡。
7. Codewars
Codewars 提供了很多的編碼挑戰(zhàn),這些挑戰(zhàn)都是由他們自己社區(qū)提交和編輯的血筑。挑戰(zhàn)者可以用幾種語言在編輯器中直接在線完成挑戰(zhàn)绘沉。用戶還可以查看針對每個挑戰(zhàn)的討論以及其他用戶的解決方案。
8. LeetCode
LeetCode 是一個很受歡迎的在線判題系統(tǒng)豺总,它提供了 190 道挑戰(zhàn)題目车伞,這些題目可以幫助挑戰(zhàn)者為面試做好技術準備。挑戰(zhàn)者可以用 9 種編程語言直接在線完成挑戰(zhàn)喻喳。雖然該網(wǎng)站不支持查看其他用戶的解決方案另玖,但用戶可以為自己的解決方案提供統(tǒng)計數(shù)據(jù),例如與其他用戶相比表伦,代碼運行速度如何谦去。
他們也有一個專門為面試準備的 Mock Interview 部分,這是由他們自己主持的編碼競賽蹦哼,其中有一些文章幫助用戶更好地了解某些問題鳄哭。
9. SPOJ
Sphere Online Judge (SPOJ)是一個在線判題系統(tǒng),提供 20000 多個編程挑戰(zhàn)纲熏。挑戰(zhàn)者可以直接通過在線編輯器中提交代碼妆丘。SPOJ 還舉辦了自己的競賽锄俄,并有一個區(qū)域專門供用戶討論編碼挑戰(zhàn)。他們目前沒有像其他網(wǎng)站那樣提供任何官方解決方案或社論勺拣。
10. CodinGame
CodinGame 與其他網(wǎng)站有點不同奶赠,因為它不是簡單地在編輯器中去完成編碼挑戰(zhàn),而是讓挑戰(zhàn)者真正游戲的药有。用戶可以在這里看到當前提供的游戲列表毅戈,在這里看到一個示例。這個游戲有一個問題描述塑猖,測試用例竹祷,和一個編輯器,你可以在其中一個 20 + 的編程語言編寫你的代碼羊苟。
雖然這個網(wǎng)站不同于上面提到的那些有競爭力的編程網(wǎng)站塑陵,但對于那些喜歡挑戰(zhàn)并參與競賽的程序員來說,它還是很受歡迎額蜡励。
本文所提及的都是根據(jù)以下內(nèi)容整理出來的:一些是我本人瀏覽網(wǎng)站時關注到的令花,一些是通過谷歌搜索和基于 Quora 上的文章,還有一些是諸如這類文章或者那類文章里面涉及到的凉倚。我還經(jīng)常訪問一些類似于r/learnprogramming 這樣的論壇和看板兼都,看看那里的用戶通常推薦哪些網(wǎng)站。免責聲明:我在 Coderbyte 工作稽寒,這也是上面提到的網(wǎng)站之一扮碧。