導語:這些編程挑戰網站能夠用來磨練技巧、準備面試以及發展職業生涯。給本身立個 flag,千萬不要再收藏卻不看了~git
文/ iTrey Huffine程序員
譯/ 之餚web
來源/ levelup.gitconnected.com面試
要想成爲一名開發人員,刷代碼題很重要。不管你是想爲面試作準備仍是學習一門新的編程語言,這些網站都能幫你得到成長爲優秀工程師所需的技能。不管是Python, Ruby, JavaScript, Golang, TypeScript或者其餘任何語言,你均可以找到符合你需求的網站。如下是咱們精選出的8大編程學習網站。算法
1編程
Codewars數據結構
codewars.com編程語言
Codewars讓學習編程變得很是有趣,參照遊戲設計理念,他們提供積分和排名系統以及公會。他們爲20多種不一樣語言設置了各類挑戰,若是你實在作不出來,還有討論板塊能夠參照其餘用戶的解法。
編輯器
你也能夠查看關於每項挑戰的討論,以及用戶的解法。你還能從解決挑戰當中賺到分數,從而提升本身在排行榜上的排位。函數式編程
2
HackerRank
hackerrank.com
HackerRank題目更難一點,也有除了基礎編程以外的功能。 你能夠學習好幾個領域的知識,包括算法,數學,SQL,函數式編程,AI等等。 此外,它還爲用戶提供了行業公司裏所面臨的編程問題,促使用戶提交實際應用,將所學訴諸工做。每道題都有獨立的排行榜,並提供答案來解釋如何解決問題。
還有一篇編輯評論,能夠解釋本項挑戰的更多內容,而且提供解決方案的思考路徑(www.hackerrank.com/challenges/simple-array-sum)。
3
Coderbyte
CodeFights.com
Coderbyte很是適合用來準備面試。它總共有兩百多道題,每題都有10個不一樣的語言可供選擇。你能夠查看官方解答或者其餘用戶提交的答案。 除了編程題以外,他們還有計算機基礎知識和web開發課程。
Coderbyte 曾因其豐富的面試題準備庫而獲得頂級編程訓練營(傳送門:coderbyte.com/organizations)的推薦。
4
CodinGame
codingame.com
CodinGame整個以遊戲挑戰爲設計基礎,讓你邊學代碼邊玩。你寫出的代碼能夠直接推進遊戲的進度。它提供了大量的語言選項,並且沒有什麼壓力,學起來會很開心。每一個遊戲附帶一個問題描述和測試案例指引你前進。這種新的學習方式還不快來嘗試一波?
5
LeetCode
leetcode.com
LeetCode在你找工做的時候頗有用,裏面的問題能讓你學會面試所需的技能。 實際上LeetCode只關心找工做。他們有OJ來斷定你的回答正確與否,你還有機會參加模擬面試。對於那些迫切找工做的人來講,一切都能從LeetCode開始。
優達菌也有製做過幾期 leetcode 精華答題攻略,你想學習的話,請關注咱們訂閱號,回覆「leetcode」便可。
6
TopCoder
topcoder.com
Topcoder可能更適合高級用戶,這和它很是特別的用戶體驗有關。 它是第一批引入排名概念的編程挑戰網站之一。 他們的挑戰是讓開發人員在特定時間裏進行一項稱爲「單輪比賽」的一對一比賽,勝者能夠獲取現金獎勵。
7
Project Euler
projecteuler.net
Project Euler已經在編程挑戰領域裏久經沙場。 雖然它的UI可能不是最優雅的,但它用許多編程語言提供了大量的挑戰,且更聚焦於解決數學問題。該網站設計簡潔,你會快速沉浸於刷題的快樂中。
8
CodeFights
codefights.com
CodeFights在提供代碼題的同時還搭建了工程師找工做的平臺。此外,他們還擁有一個名爲「公司機器人」的獨特功能,開發者能夠和一些科技界大牌公司旗下的編程機器人同臺競技。
9
GeeksforGeeks
geeksforgeeks.com
在算法和數據結構領域,GeeksforGeeks 有最好的文章、解釋和代碼解決方案資源。你能夠參考這個示例(傳送門:www.geeksforgeeks.org/shortest-common-supersequence/),看到他們是怎樣把一個複雜問題分紅比較簡單的部分,如何解釋其解法以及提供代碼解決方案的。
他們還有一個在線編輯器,你能夠在看答案以前先用它練練手。若是你在準備軟件工程師的面試,真心得用用這個網站來作點兒準備,以及複習一下那些困難的算法問題。
10
Codeforces
codeforces.com
Codeforce是一個位於俄羅斯的編程比賽網站,它會按期舉辦競賽,會有全球頂尖的程序員們參賽。若是你是個新手程序員,他們的挑戰可能會太難(示例:http://codeforces.com/problemset/problem/908/C)。他們的挑戰一般要求高深的數學和算法知識。
本文就介紹這麼多啦,做爲過來人的你,確定還有不少常常光顧的編程挑戰網站,不妨借這個機會在評論中和你們分享吧。