專欄 | 九章算法程序員
網址 | http://www.jiuzhang.com面試
對於軟件開發人員來講,保持編程的競技水平是很是有必要的。算法
經過解決不一樣類型的編程難題,迎接不一樣類型的編程挑戰,不只能讓你成爲處理問題的高手,幫助你瞭解編程語言的複雜性,還能讓你學習到更多新的算法,變得愈來愈優秀。編程
下面是10個優質的編程網站,有利於幫助你們提升編程技能,準備技術面試,促進你們的職業發展。微信
1數據結構
TopCoder編程語言
TopCoder 是最先的在線編程競技平臺之一,該網站提供了一系列的算法挑戰,在這裏,你能夠:編輯器
使用他們的代碼編輯器直接進行在線做答。函數式編程
參加該網站舉辦的 SRMs 挑戰項目。該比賽將會在每個月按期舉辦,做爲參賽者,你須要以最快的速度,與衆多其餘的編程挑戰者進行比拼。函數
他們還會贊助競賽,若是你寫出最好的解決方案,就能夠拿到獎勵!
2
HackerRank
HackerRank 側重於**「計算機科學」**主題,在算法、數學、SQL、函數式編程、AI 等衆多不一樣領域爲挑戰者們提供了相應的編程題目。在這裏,你能夠:
直接在線完成挑戰在線。
HackerRank 針對每一項挑戰都專門成立了討論區與排行榜。而它提供的大多數挑戰都來自於社論,讓你瞭解挑戰內容的同時,思考如何提出解決方案。而且除了挑戰對應的這篇社論,你目前沒法查看其餘挑戰者在 HackerRank 上的解決方案。
3
LintCode
LintCode 收集了網上一些最多見、最高頻的編程題目,支持中英雙語:
相比其餘的一些網站,LintCode 的編程挑戰覆蓋的領域更多,包括算法、數據結構,人工智能,系統設計等衆多領域。
若是你在準備軟件工程面試,在 LintCode 刷題是頗有幫助的,它的每道題都有詳細的解答,能幫助你更好地理解。
LintCode 有一個模擬面試專欄,精選 Facebook, Amazon, Google, Linkedin 等IT企業的面試題,真實還原面試流程,專門爲求職者準備。
LintCode 有《Cracking the Coding Interview》《劍指offer》等算法學習書籍的配套習題庫,可供初學者練習。
LintCode 還有本身舉辦的編程比賽,不少算法愛好者會在這裏PK,切磋技藝。
4
GeeksforGeeks
對於**「算法和數據結構」**主題,GeeksforGeeks 有不少很好的文章、解釋和代碼解決方案。在這裏,你能夠:
在在線編輯器中進行挑戰。
在該網站的代碼解決方案中,你會看到解題者是如何將一個複雜的問題分解成更簡單的部分,並提出代碼解決方案的。
若是你正在準備一個軟件工程的面試,也能夠用這個網站準備和複習更難的算法問題。
5
Coderbyte
Coderbyte 提供了200多種編程挑戰。在這裏,你能夠:
使用10種編程語言中的一種進行在線挑戰。
看到網站發佈的大多數挑戰的官方解決方案。
查看該網站其餘80萬用戶爲同一挑戰提供的解決方案。
除了編程挑戰以外,Coderbyte 還提供算法和數據結構、Web開發等編程訓練營的預備課程以及一系列關於面試準備的相應課程,被不少頂級編程訓練營所推薦。
6
Codewars
Codewars提供了大量由他們本身的社區提交和編輯的編程挑戰,在這裏,你能夠:
使用多種編程語言像打遊戲升級同樣進行挑戰。
經過在線編輯器直接完成每項挑戰。
經過實戰訓練來提高編程開發技能。
查看關於每一個挑戰的討論以及每一個用戶解決方案。
經過挑戰來得到分數和排名。
7
CodeFights
CodeFights提供了一組編程挑戰,在這裏,你能夠:
在在線編輯器中進行挑戰。
在專門的用戶挑戰論壇中參與討論。
與**「機器人」**比拼!
8
CodinGame
CodinGame這個網站很特別,他跟一些競爭性編程網站有所不一樣。它不是簡單地經過生成一組輸出來實現編程挑戰,而是以玩遊戲的方式經過在線編程完成相應挑戰。這是一個很棒的網站,有些遊戲很是有趣,而且遊戲界面和圖形設計很是精美。
9
CodeChef
CodeChef是一家印度的編程競賽網站,它提供了數百個挑戰供你選擇。在這裏,你能夠:
經過在線編輯器來進行編程。
根據自身的編程能力,選擇不一樣技術等級不一樣類別的編程挑戰。
在他們創建的程序員社區中進行交流併爲論壇編寫教程。
參加 CodeChef 的編程競賽。
10
Codeforces
Codeforces 是一家總部位於俄羅斯的競賽編程網站,它會按期舉辦在線比賽,而且競賽選手是世界上一些最優秀的程序員。他們的挑戰一般須要用到高等數學和算法,若是你是一個編程新手,他們的挑戰極可能對你來講難度比較大。