程序員面試、算法研究、編程藝術、紅黑樹、機器學習5大系列集錦html
國外前端
1https://www.topcoder.com/java
TopCoder 是最先的在線編程競技平臺之一,該網站提供了一系列的算法挑戰,在這裏,你能夠:python
使用他們的代碼編輯器直接進行在線做答。程序員
參加該網站舉辦的 SRMs 挑戰項目。該比賽將會在每個月按期舉辦,做爲參賽者,你須要以最快的速度,與衆多其餘的編程挑戰者進行比拼。面試
他們還會贊助競賽,若是你寫出最好的解決方案,就能夠拿到獎勵!算法
2https://www.hackerrank.com/shell
HackerRank 側重於「計算機科學」主題,在算法、數學、SQL、函數式編程、AI 等衆多不一樣領域爲挑戰者們提供了相應的編程題目。在這裏,你能夠:數據庫
直接在線完成挑戰在線。編程
HackerRank 針對每一項挑戰都專門成立了討論區與排行榜。而它提供的大多數挑戰都來自於社論,讓你瞭解挑戰內容的同時,思考如何提出解決方案。而且除了挑戰對應的這篇社論,你目前沒法查看其餘挑戰者在 HackerRank 上的解決方案。
LintCode 收集了網上一些最多見、最高頻的編程題目,支持中英雙語:相比其餘的一些網站,LintCode 的編程挑戰覆蓋的領域更多,包括算法、數據結構,人工智能,系統設計等衆多領域。
若是你在準備軟件工程面試,在 LintCode 刷題是頗有幫助的,它的每道題都有詳細的解答,能幫助你更好地理解。
LintCode 有一個模擬面試專欄,精選 Facebook, Amazon, Google, Linkedin 等IT企業的面試題,真實還原面試流程,專門爲求職者準備。
LintCode 有《Cracking the Coding Interview》《劍指offer》等算法學習書籍的配套習題庫,可供初學者練習。
LintCode 還有本身舉辦的編程比賽,不少算法愛好者會在這裏PK,切磋技藝。
4https://www.geeksforgeeks.org/
對於「算法和數據結構」主題,GeeksforGeeks 有不少很好的文章、解釋和代碼解決方案。在這裏,你能夠:
在在線編輯器中進行挑戰。
在該網站的代碼解決方案中,你會看到解題者是如何將一個複雜的問題分解成更簡單的部分,並提出代碼解決方案的。
若是你正在準備一個軟件工程的面試,也能夠用這個網站準備和複習更難的算法問題。
Coderbyte 提供了200多種編程挑戰。在這裏,你能夠:
除了編程挑戰以外,Coderbyte 還提供算法和數據結構、Web開發等編程訓練營的預備課程以及一系列關於面試準備的相應課程,被不少頂級編程訓練營所推薦。
Codewars提供了大量由他們本身的社區提交和編輯的編程挑戰,在這裏,你能夠:
使用多種編程語言像打遊戲升級同樣進行挑戰。
經過在線編輯器直接完成每項挑戰。
經過實戰訓練來提高編程開發技能。
查看關於每一個挑戰的討論以及每一個用戶解決方案。
經過挑戰來得到分數和排名。
CodeFights提供了一組編程挑戰,在這裏,你能夠:
在在線編輯器中進行挑戰。
在專門的用戶挑戰論壇中參與討論。
與「機器人」比拼!
CodinGame這個網站很特別,他跟一些競爭性編程網站有所不一樣。它不是簡單地經過生成一組輸出來實現編程挑戰,而是以玩遊戲的方式經過在線編程完成相應挑戰。這是一個很棒的網站,有些遊戲很是有趣,而且遊戲界面和圖形設計很是精美。
CodeChef是一家印度的編程競賽網站,它提供了數百個挑戰供你選擇。在這裏,你能夠:
經過在線編輯器來進行編程。
根據自身的編程能力,選擇不一樣技術等級不一樣類別的編程挑戰。
在他們創建的程序員社區中進行交流併爲論壇編寫教程。
參加 CodeChef 的編程競賽。
Codeforces 是一家總部位於俄羅斯的競賽編程網站,它會按期舉辦在線比賽,而且競賽選手是世界上一些最優秀的程序員。他們的挑戰一般須要用到高等數學和算法,若是你是一個編程新手,他們的挑戰極可能對你來講難度比較大。
包含在線編程練習和課程視頻
包含數據結構、遊戲設計、動畫類編程題
13https://programmingpraxis.com/
此網站編程練習不保存分數、不排名、不競賽
有590道題,會顯示難度水平和提交完成率
15https://www.hackerearth.com/zh/
註冊賬號後可參與編程練習(有內推到知名企業的機會)
16https://leetcode.com/
在線刷題網站,在線編程刷題、在線判題
國內:
1. [牛客OJ](在線編程_C++Java前端經典筆試面試題庫) 題目挺全的,包含《劍指Offer》66題,校招真題105題,leecode148題,ACM訓練題7418題(變態),計算機考研複製233題,華爲機試108題,還有一些其餘js題。但支持語言很少,都支持C++和java,c#、js、python2.7一部分支持。AC不經過會提供使題目錯誤的輸入,但每每格式不規範。總的來講題量不少,系統通常。
2. [51NOD](最新動態 - 51Nod) 題目有546題,AC不經過會有對應的輸入輸出,不過須要分值購買來下載看,分值能夠經過刷題獲得,裏面也有關於貪心算法和動態規劃的學習教程,曹鵬博士講的,只有作完教程分值才能返還,很是好的一個網站。目前支持19種主流語言,支持python2和python3,case設計也很是合理。
3. [浙江大學 Online Judge(ZOJ](http://acm.zju.edu.cn). 國內最先也是最有名氣的OJ,有不少高手在上面作題。打開速度快。
4 [北京大學 Online Judge(POJ)](Welcome To PKU JudgeOnline>)創建較晚,但題目加得很快,如今題數和ZOJ不相上下,特色是舉行在線比賽比較多,數據比ZOJ上的要弱,有時候一樣的題一樣的程序,在ZOJ上WA,在POJ上就能AC。不過感受pku的題目要難不少。這個題庫的一大特色就是 OnlineJudge功能強大,其實pku如今已是中國最好的ACM網站。
5. 補充下,國內有個仿照leecode作的[lintcode](LintCode - 編程面試題在線訓練平臺),lintcode剛出來的時候我作了幾道題比較了一下,有些時候lintcode能過的代碼放在leetcode就會有test case掛掉,不過那也是很久之前了,如今應該發展的挺好了,雖然還在發展之中,但感受lintcode作的UI很不錯,很差的地方就是沒有像leecode的討論區,非獲得九章算法 - 幫助更多中國人找到好工做,硅谷頂尖IT企業工程師實時在線授課爲你傳授面試技巧去查答案,固然查詢只支持英文喲,好比查醜數要輸入"ugly"纔會查的到,兩個網站分開來也是想賺培訓班的錢吧。但他只提供答案沒有論壇高手的解題討論並無卵用,這點我以爲leecode比較好。好的地方除了UI就是lintcode會有leetcode的付費題,同時他的ladder挺好用的,能夠練一下每一個題型的經典題。推薦先刷完leecode的免費題,再來lintcode上玩。
6. [賽馬網](賽碼網-IT筆試加分利器) 自帶沒幾道題目,並且有一次刷他自帶的題目體驗很很差,記得有道題目顯示其餘人「正確提交的答案」其實都是錯誤的,而本身提交的正確答案卻顯示不經過,看那些所謂的正確答案甚至是其餘題目裏的答案,想跟客服反應還找不到渠道,只有qq羣。。。他家商業合做作的挺不錯,京東、今日頭條等那他作筆試平臺,你們要是想刷名企的題目卻是能夠來這的,但刷其餘題目,呵呵。。。
7. 謝謝
姆姆姆 提到hihoCoder ,前些天微軟以他爲平臺展開的筆試,和微軟有一腿,以前舉辦過編程之美挑戰賽,特色是每週都有針對性的一道難題等着你去AC,有詳細講解,月賽的題目均由來自北京大學等一流高校的ACM隊員出題。OJ編輯環境適合Emacs、vim或者最簡單的文本編輯,支持主流編程語言:g++,c#,python2,java,討論區活躍度並不高,發的代碼沒有自動識別語法高亮的,統一的黑色markdown,前端要努努力了。此外我以爲代碼提交不人性化,我用safri、firefox瀏覽器提交的代碼狀態不會自動跳轉,必須刷新下你才知道是從waiting到ac了仍是re了,還有估計底層集羣比較小,人一多提交就很慢,刷了半天仍是waiting。總的來講沒事來這每週刷個題也不錯,興致來了去參加個小比賽樂樂,但長期對着這個界面刷題我是受不了。
國外:
1. [leetcode ](LeetCode Online Judge) 能夠說是最著名的網站了,海量編程題包含數據庫和shell試題,支持 C, C++, Java, Python, C#, JavaScript, Ruby, Bash, MySQL.喜歡用python的同窗注意能夠支持python3了,另外提供致使ac不經過的的輸入和輸出,易於修改程序。
2. [俄羅斯薩拉托夫國立大學(Saratov State University)(SGU)](Saratov State University :: Online Contester) SGU是俄羅斯薩拉托夫國立大學(Saratov StateUniversity)用於培養ACM選手的訓練網站。這個網站的建成時期較晚,但隨着比賽的舉行以及新題目的加入,這個題庫的題目也日漸豐富。這個題庫的一大特色就是 OnlineJudge功能強大,它不只使你避開了多數據處理的繁瑣操做,還能告訴你程序錯在了第幾個數據。這一點雖然與ACM的Judge有些出入,可是卻方便了調試程序。與UVA相比,這裏的題目在時間空間上要求都比較嚴格,並且更多的考察選手對算法的掌握狀況,因此特別推薦衝擊NOI的選手也來作一作。