最近一位有著15年經(jīng)驗(yàn)的老程序員和我們他認(rèn)為最酷的6個(gè)學(xué)習(xí)編程/算法的網(wǎng)站,以下為他的博客原文: 我是一位擁有15年工作經(jīng)驗(yàn)的程序員,從高中畢業(yè)的第一年就開始學(xué)習(xí)算法,畢業(yè)之后出國留學(xué),便走上了算法研究道路。 但是,工作三年后,我更喜歡做產(chǎn)品/軟件而不是研究。我轉(zhuǎn)向技術(shù)/工程而非算法。但是,我個(gè)人認(rèn)為對(duì)于開發(fā)人員來說,了解算法仍然很重要。而且我不認(rèn)為一個(gè)不了解算法的人可以通過谷歌/Facebook的面試。
1. HackerRank 該網(wǎng)站在編程界非常出名,從初級(jí)到高級(jí),開發(fā)人員到招聘經(jīng)理等大多數(shù)程序相關(guān)崗位的人都知道這個(gè)網(wǎng)站。
hackerrank上有很多算法題,難度從低到高,除此之外,還有各種算法和數(shù)據(jù)結(jié)構(gòu)(甚至是SQL)的題。你可以直接在上面編寫代碼,直接運(yùn)行并查看結(jié)果,還可以查看評(píng)論看看看其他人都是如何解題的。 在面試過程中,也有一些企業(yè)讓我來這個(gè)網(wǎng)站刷題,因此,你可以經(jīng)常到這刷題鞏固知識(shí)點(diǎn)。 網(wǎng)站地址:https://www.hackerrank.com/ 2. TopCoder TopCoder是最早的程序設(shè)計(jì)比賽網(wǎng)站之一,其中就有算法挑戰(zhàn)賽,你可以使用其代碼編輯器在線進(jìn)行操作。單輪比賽每月在特定時(shí)間進(jìn)行幾次,編碼員相互競爭,根據(jù)分?jǐn)?shù)和解題時(shí)間排名。
在TopCoder上排名靠前的用戶都是非常優(yōu)秀的程序員,并且是經(jīng)常參加各種編程競賽的人。排名最高的人將擁有自己的博客,在那里他們可以寫有關(guān)編程競賽、算法、數(shù)學(xué)等所有他們想和大家分享的東西。 網(wǎng)站地址:https://www.topcoder.com/challenges/ 3.Geekforgeeks 如果你在執(zhí)行算法時(shí)遇到難題,在Google上搜索解決方案時(shí),你可能會(huì)經(jīng)??吹揭韵马撁妗?/p>
這個(gè)頁面說實(shí)話看起來有點(diǎn)丑,分類也不是很好,但是,它有許多常見算法練習(xí)的解決方案。每個(gè)解決方案包括許多不同的方法,以及每種方法的復(fù)雜性,這是一種非常有幫助的網(wǎng)站。 網(wǎng)站地址:https://practice.geeksforgeeks.org/ 4. Leetcode 另一個(gè)很受歡迎的算法培訓(xùn)網(wǎng)站是Leetcode。這個(gè)網(wǎng)站的算法數(shù)量并不亞于hackerrank,它主要有3個(gè)難度級(jí)別,分別是Easy / Medium / Hard(有些簡單的問題也非常困難)。
算法面試都是從簡單的問題開始,中級(jí)問題則是用于評(píng)估你的個(gè)人能力,困難問題則是為Facebook/谷歌面試而準(zhǔn)備的,這個(gè)網(wǎng)站還有一個(gè)優(yōu)秀的地方是它可評(píng)估你代碼的性能,看看你的代碼運(yùn)行的快還是慢,是否可以進(jìn)行優(yōu)化等。 網(wǎng)站地址:https://leetcode.com/ 5.Daily Coding Problem
和其他網(wǎng)站不同的是,Daily Coding Problem上面沒有習(xí)題列表,但是,如果你輸入自己的電子郵箱,他會(huì)每天向你發(fā)送一種算法面試題給你嘗試解答。題型同樣也根據(jù)難易程度劃分,Amazon / Google等公司的一些面試題就出自這里,假如你購買了高級(jí)套餐,就會(huì)獲得解決方案。 網(wǎng)站地址:https://www.dailycodingproblem.com/ 6.Exercism.io
如果說以上網(wǎng)站是讓你刷算法題的網(wǎng)站,那么Exercism就是讓你學(xué)習(xí)編程的好地方。
盡管Exercism.io上面也有很多習(xí)題,但這些練習(xí)并不側(cè)重于算法,而是側(cè)重于編程語言的某一方面:
使用if / else循環(huán)
日期處理,字符串處理
如何處理錯(cuò)誤,編寫異步代碼等
我使用此網(wǎng)站來了解有關(guān)Golang和Elixir的更多信息,如果你已經(jīng)編程了一段時(shí)間,想學(xué)習(xí)一種新的語言,學(xué)習(xí)一種新的思維方式,那就去Exercism.io吧! 網(wǎng)站地址:https://exercism.io/ 以上就是我要和大家分享的6個(gè)超酷的用來學(xué)習(xí)算法的網(wǎng)站,我個(gè)人認(rèn)為你不需要所有都去使用,如果想在面試之前進(jìn)行練習(xí),建議是用Skilled / Hackerrank / Leetcode。如果你是想學(xué)習(xí)一門新的編程語言那就直接選擇Exercism。
-
算法
+關(guān)注
關(guān)注
23文章
4624瀏覽量
93110 -
編程
+關(guān)注
關(guān)注
88文章
3633瀏覽量
93854 -
編輯器
+關(guān)注
關(guān)注
1文章
806瀏覽量
31228
原文標(biāo)題:6個(gè)超酷的網(wǎng)站,專門用于學(xué)習(xí)算法
文章出處:【微信號(hào):TheAlgorithm,微信公眾號(hào):算法與數(shù)據(jù)結(jié)構(gòu)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論