假期不想在躺屍中度過?推薦你十個優質編程網站
撰文 | April
專欄 | 九章演算法
對於軟體開發人員來說,保持編程的競技水平是非常有必要的。
通過解決不同類型的編程難題,迎接不同類型的編程挑戰,不僅能讓你成為處理問題的高手,幫助你了解編程語言的複雜性,還能讓你學習到更多新的演算法,變得越來越優秀。下面是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.LeetCode
LeetCode是一個題庫,裡面有許多編程面試的題目,你可以在線編譯運行。通過刷LeetCode可以保持編程狀態,同時對於技術面試也有很大幫助。難度較高。
10.Codeforces
Codeforces 是一家總部位於俄羅斯的競賽編程網站,它會定期舉辦在線比賽,並且競賽選手是世界上一些最優秀的程序員。他們的挑戰通常需要用到高等數學和演算法,如果你是一個編程新手,他們的挑戰很可能對你來說難度比較大。
推薦閱讀
線段樹知識點總結
NoSQL和SQL的選用
還在浪費時間學貪心演算法么?告訴你三個不需要學習貪心法的理由!
歡迎關注我的微信公眾號:九章演算法(ninechapter)。
精英程序員交流社區,定期發布面試題、面試技巧、求職信息等。
推薦閱讀: