1. HackerRank
該網站在程式設計界非常出名,從初級到高階,開發人員到招聘經理等大多數程式相關崗位的人都知道這個網站。
在面試過程中,也有一些企業讓我來這個網站刷題,因此,你可以經常到這刷題鞏固知識點。
網站地址:https://www.hackerrank.com/
2. TopCoder
TopCoder是最早的程式設計比賽網站之一,其中就有演算法挑戰賽,你可以使用其程式碼編輯器線上進行操作。單輪比賽每月在特定時間進行幾次,編碼員相互競爭,根據分數和解題時間排名。
在TopCoder上排名靠前的使用者都是非常優秀的程式設計師,並且是經常參加各種程式設計競賽的人。排名最高的人將擁有自己的部落格,在那裡他們可以寫有關程式設計競賽、演算法、數學等所有他們想和大家分享的東西。
網站地址:https://www.topcoder.com/challenges/
3.Geekforgeeks
如果你在執行演算法時遇到難題,在Google上搜索解決方案時,你可能會經常看到以下頁面。
這個頁面說實話看起來有點醜,分類也不是很好,但是,它有許多常見演算法練習的解決方案。每個解決方案包括許多不同的方法,以及每種方法的複雜性,這是一種非常有幫助的網站。
網站地址:https://practice.geeksforgeeks.org/
4. Leetcode
演算法面試都是從簡單的問題開始,中級問題則是用於評估你的個人能力,困難問題則是為Facebook/谷歌面試而準備的,這個網站還有一個優秀的地方是它可評估你程式碼的效能,看看你的程式碼執行的快還是慢,是否可以進行最佳化等。
網站地址:https://leetcode.com/
5.Daily Coding Problem
和其他網站不同的是,Daily Coding Problem上面沒有習題列表,但是,如果你輸入自己的電子郵箱,他會每天向你傳送一種演算法面試題給你嘗試解答。題型同樣也根據難易程度劃分,Amazon / Google等公司的一些面試題就出自這裡,假如你購買了高階套餐,就會獲得解決方案。
網站地址:https://www.dailycodingproblem.com/
6.Exercism.io
如果說以上網站是讓你刷演算法題的網站,那麼Exercism就是讓你學習程式設計的好地方。
儘管Exercism.io上面也有很多習題,但這些練習並不側重於演算法,而是側重於程式語言的某一方面:
使用if / else迴圈日期處理,字串處理如何處理錯誤,編寫非同步程式碼等我使用此網站來了解有關Golang和Elixir的更多資訊,如果你已經程式設計了一段時間,想學習一種新的語言,學習一種新的思維方式,那就去Exercism.io吧!
網站地址:https://exercism.io/