程序猿(ID:imkuqin) 猿妹編譯
編譯自:https://medium.freecodecamp.org/the-10-most-popular-coding-challenge-websites-of-2016-fb8a5672d22f程序員
編程幾乎已經成爲了人類所知每一個行業的必要組成部分,現在有愈來愈多的人開始了他們的編程之旅。web
若是你正在在學習編程,那麼我能夠告訴你一個提升技能的好方法,那就是勇於去解決編碼過程當中遇到的難題。解決不一樣類型的難題,能夠幫助你成爲一名優秀的問題解決者。面試
我整理了一些很是受歡迎的編程難題網站列表,而且作了簡單介紹,但願它們能夠在你的編程之旅中幫助到你:算法
一、TopCoder編程
這個網站能夠說是一個程序設計比賽的網站,有近一百萬程序員所支持,該網站每一個星期都有兩次網上在線比賽,根據比賽的結果對參賽者進行新的排名。參賽者可使用他們的代碼編輯器直接在線自行完成挑戰。根據參賽者完成時間長短排名。編程語言
TopCoder上排名靠前的用戶都是很是有潛力的程序員,他們會按期參加各類比賽。這些用戶還能夠經過名稱爲「ALGORITHMS WEEKLY BY PETR MITRICHEV」的博客平臺去發表一些關於編程競賽、算法、數學等方面的文章。編輯器
二、Coderbyte函數式編程
Coderbyte 是 Kickstarter 資助的項目(在 Kickstarter 支持以前這個網站就已經存在了),並且它針對徹底的初學者和相似中級程序員。函數
Coderbyte 提供了 200 多種編碼挑戰,挑戰者能夠從 10 種編程語言任選一個,直接在線解決問題。挑戰的範圍從簡單(查找字符串中的最大單詞)到複雜。學習
他們還提供一系列算法教程,包括教程視頻和麪試準備課程。與HackerRank和其餘相似網站不一樣的是,除了 Coderbyte 發佈的官方解決方案外,用戶還能夠查看其餘用戶提供的解決方案。
三、Project Euler
Project Euler 提供了不少關於計算機科學和數學領域的挑戰。Project Euler 大概是世界上最受歡迎的編程挑戰網站,它們設立得並非很難,反而更加須要關鍵的思考和解決問題,以此來幫助你成長和學習你所使用的語言。這一切都是爲了鍛鍊你進步,確保你充分理解本身在作什麼。
你不能直接在網站上的編輯器編碼,因此你須要在本身的電腦上編寫一個解決方案,而後在他們的網站上提交解決方案。
四、HackerRank
HackerRank提供了不少不一樣領域的挑戰,好比算法、數學、SQL、函數式編程、人工智能等等。它關於人工智能的那部分挑戰,它們很是酷,並且讓高級程序員也有東西能夠玩。它的背後是 Y Combinator、SVAngel 和許多其餘公司。絕對有不少黑客在攻克這些。
HackerRank 還針對每一項挑戰專門成立了討論和領導委員會,而大多數挑戰來自於一篇社論,它解釋了更多的挑戰,以及如何接近它提出解決方案。除了這篇社論,你目前還不能看到其餘用戶在 HackerRank 上的解決方案。
HackerRank 還支持用戶提交應用程序,能夠適用於工做、解決公司贊助編碼的挑戰。
五、CodeChef
CodeChef 是一家位於印度的編程競賽網站,由 Directi 創造的,該網站提供了數百種挑戰。挑戰者能夠經過在線編輯器進行編程,並且還能夠根據自身的編程能力去查看適合於本身水平的挑戰題目,CodeChef 有一個大小合理的編程社區,用戶能夠參與論壇討論,編寫教程,並且還能參加 CodeChef 的編碼競賽。
六、CodeEval
CodeEval 與 HackerRank 相似,它也提供了一系列公司贊助的編碼挑戰,若是可以很好的完成挑戰,還可能幫助你找到工做或者是現金鼓勵等。公司會舉辦競爭挑戰賽,以此來招募新開發人員進行工做。參賽者在這裏看到當前的挑戰列表。
七、Codewars
Codewars 提供了不少由他們本身社區提交的編碼挑戰,挑戰者能夠選用多種語言在編輯器中直接在線完成挑戰。用戶還能夠查看每一個挑戰的討論以及其餘用戶的解決方案。不少人用過以後都表示很好用。
八、LeetCode
LeetCode 是一個很受歡迎的在線判題系統,它提供了幾百道挑戰題目,這些題目能夠幫助挑戰者爲面試作好技術準備。挑戰者能夠用 9 種編程語言直接在線完成挑戰。雖然該網站不支持查看其餘用戶的解決方案,但用戶能夠爲本身的解決方案提供統計數據,例如與其餘用戶相比,代碼運行速度等等。
網站還設有一個專門爲面試準備的 Mock Interview 部分,這是由他們本身創辦的編碼競賽,網站上有一些文章能夠幫助你提供更好的解題思路
九、SPOJ
Sphere Online Judge(SPOJ)是一個在線判題系統,提供 20000 多個編程挑戰。它支持全部你能想到的編程語言,並且在它背後還有一個優秀活躍的社區論壇。用戶能夠直接經過在線編輯器提交代碼。SPOJ 還舉辦了本身的競賽,並用戶能夠自由討論編程挑戰題目。不過,他們目前沒有像其餘網站那樣提供任何官方解決方案或社論。
十、CodinGame
CodinGame 與其餘網站有點不一樣,由於它不是簡單地在編輯器中去完成編碼挑戰,而是讓挑戰者真正參與在線遊戲代碼的編寫。用戶能夠在這裏看到當前提供的遊戲列表和一個示例。這個遊戲有一個問題描述,測試用例,和一個編輯器,你能夠在 20 多個編程語言中任選一種編寫你的代碼。
十一、Codeforces
Codeforces 是一家爲計算機編程愛好者提供的在線評測系統該網站由薩拉托夫國立大學的一個團體創立並負責運營。在編程挑戰賽中,選手有 2 個小時的時間去解決 5 道題,經過得分排名,選手能夠看到實時的排名(Standing),也能夠選擇查看好友的排名,還能夠看到某題有多少人經過等信息。
在 cf,全部的用戶根據在以往比賽中的表現被賦予一個 Rating 並冠以不一樣的頭銜,名字也會以不一樣的顏色顯示,好比 Expert 是藍色,Master 是黃色。
十二、hackerearth.com
HackerEarth 成立於2013年,是一家來自印度的、面向程序員的挑戰比賽、招聘服務網站,經過編程比賽,幫助企業挑選優秀的程序員。HackerEarth 根據記錄每一個人的編程過程,經過特殊的算法模型來爲企業主推薦合適的開發者,並最終由僱主決定人選。
1三、atcoder.jp
這個網站是 日本最大的算法競賽網站,題風很棒。有英文和日文題解,很貼心,可是咱們應該不多有人可以用日語看題看網站,不過,你能夠將網站調成英文的。
1四、hihocoder.com
風格跟 ACM 很像,每週都會有一個競賽題目,能夠參與其中,每月還會舉辦通常編程月賽,同其餘參賽者們同臺競技,同時還有討論社區可供用戶討論算法、分享經驗等,並且也會像你推薦工做機會
1五、codefights.com
CodeFights 是一家將練習編程的過程變爲遊戲過程的初創公司。參賽者既能夠選擇人機對戰模式,也能夠選擇挑戰其它玩家。目前擁有 50 萬活躍用戶!可讓用戶在對戰之中不斷提升本身的編程技巧。社交遊戲與編程的結合是這個網站最大的特色
1六、Timus Online Judge URAL
Timus Online Judge 是一個俄羅斯最大的在線題庫, 有不少本身獨有的題目。由由烏拉爾聯邦大學管理,該網站的比賽規則相似於ACM,比賽分爲團隊賽和我的挑戰賽,比賽時間5個小時,一般有十幾個問題,經過參賽者提交的解決方案計算得分。
1七、lintcode.com
在線刷題網站,聚集了各大公司的算法面試題。有階梯式訓練題庫,幫你選好應該刷的題目,特別適合小白和懶人。評測數獨很快,最大的中文在線題庫。
年度挑戰賽類型:
1八、Google Code Jam
Google Code Jam 是一項由 Google 主辦的國際程序設計競賽。該項賽事始於 2003 年,旨在幫助 Google 發掘潛在的工程領域頂級人才。比賽內容包括一系列的算法問題,參賽者必須在指定時間內解決。參賽者容許使用任意自選編程語言和開發環境來解答問題。
1九、Facebook Hacker Cup
Facebook Hacker Cup 是一個由 Facebook 臉譜主辦的國際性的編程比賽 。競賽始於 2011 年,是做爲一種手段來招募工程技術人才。比賽由必需要在一個固定的時間內解決的一組算法問題組成,參賽者可使用任何編程語言和發展環境去找他們的解決方案。
Facebook 將此次競賽做爲一個重要的人才招募平臺,用以吸引優秀的程序設計人員加盟。預選賽的前 25 名將被邀請到Facebook總部進行決賽,決賽勝者將被授予全球"最佳黑客"稱號,同時得到 5000 美圓獎金。
20、ACM 國際大學生程序設計競賽
ACM 國際大學生程序設計競賽(英文全稱:ACM International Collegiate Programming Contest (簡稱 ACM-ICPC 或 ICPC))是由美國計算機協會(ACM)主辦的,一項旨在展現大學生創新能力、團隊精神和在壓力下編寫程序、分析和解決問題能力的年度競賽。通過近 40 年的發展,ACM 國際大學生程序設計競賽已經發展成爲全球最具影響力的大學生程序設計競賽。賽事目前由 IBM 公司贊助。
本文所說起的都是根據如下內容整理出來的:一些是我本人瀏覽網站時關注到的,一些是經過谷歌搜索和基於 Quora 上的文章,還有一些在一些文章中遇到過的。我還常常逛一些相似於 r/learnprogramming 這樣的論壇,查看論壇用戶一般推薦哪些網站。
--------------------- 本文來自 程序員頭條 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/UzV80PX5V412NE/article/details/78653695?utm_source=copy