假期不想在躺屍中度過?推薦你十個優質編程網站

撰文 | 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)。

精英程序員交流社區,定期發布面試題、面試技巧、求職信息等。

推薦閱讀:

TAG:信息技術IT | 演算法 | 編程 |