10 populārākās kodēšanas izaicinājuma vietnes [Atjaunināts 2020. gadam]

Lielisks veids, kā uzlabot savas prasmes, mācoties kodēt, ir risināt kodēšanas problēmas. Dažādu veidu izaicinājumu un mīklu risināšana var palīdzēt kļūt par labāku problēmu risinātāju, apgūt programmēšanas valodas smalkumus, sagatavoties darba intervijām, apgūt jaunus algoritmus un daudz ko citu.

Zemāk ir saraksts ar dažām populārām kodēšanas izaicinājumu vietnēm ar īsu aprakstu par to, ko katra piedāvā.

1. TopCoder

TopCoder ir viena no oriģinālām platformām konkurētspējīgai programmēšanai tiešsaistē. Tajā ir saraksts ar algoritmiskiem izaicinājumiem no pagātnes, kurus varat veikt pats tiešsaistē, izmantojot viņu kodu redaktoru. Viņu iecienītās Single Round spēles tiek piedāvātas dažas reizes mēnesī noteiktā laikā, kur jūs sacenšaties ar citiem, lai visātrāk risinātu izaicinājumus ar labāko rezultātu.

TopCoder labākie lietotāji ir ļoti labi konkurētspējīgi programmētāji un regulāri piedalās programmēšanas sacensībās. Visaugstāk novērtētais lietotājs uztur savu emuāru ar nosaukumu Petror Mitrichev katru nedēļu nosauktie algoritmi, kur viņš raksta par kodēšanas sacensībām, algoritmiem, matemātiku un daudz ko citu.

2. Coderbyte

Coderbyte nodrošina vairāk nekā 200 kodēšanas izaicinājumus, kurus jūs varat atrisināt tieši tiešsaistē vienā no 10 programmēšanas valodām (skatiet šo piemēru). Uzdevumi svārstās no vienkāršiem (atrodot virknē lielāko vārdu) līdz pat smagiem (izdrukājiet grafika maksimālo kardinalitātes atbilstību).

Viņi arī nodrošina algoritmu apmācību, ievada video un interviju sagatavošanas kursu kolekciju. Atšķirībā no HackerRank un citām līdzīgām vietnēm, jūs varat apskatīt citu lietotāju piedāvātos risinājumus, izņemot Coderbyte publicētos oficiālos risinājumus.

3. Projekta Euler

Projekts Euler nodrošina lielu problēmu kopumu datorzinātņu un matemātikas jomā. Izaicinājumi parasti ietver nelielas programmas rakstīšanu, lai noskaidrotu gudras matemātiskās formulas vai vienādojuma risinājumu, piemēram, atrodot visu skaitļu skaitļu summu, kas atrodas pirms katra sērijas skaitļa.

Redaktorā nevar tieši kodēt vietnē, tāpēc jums būs jāraksta risinājums savā datorā un pēc tam jānodrošina risinājums viņu vietnē.

4. HackerRank

HackerRank nodrošina izaicinājumus vairākām dažādām jomām, piemēram, algoritmiem, matemātikai, SQL, funkcionālajai programmēšanai, AI un citiem. Visu izaicinājumu var atrisināt tieši tiešsaistē (skatiet šo piemēru). Tie nodrošina diskusiju un līderu sarakstu katram izaicinājumam, un lielākā daļa izaicinājumu nāk ar redakciju, kas vairāk paskaidro par izaicinājumu un to, kā tam pieiet, lai nonāktu pie risinājuma. Neatkarīgi no redakcijas jūs pašlaik nevarat skatīt citu lietotāju risinājumus vietnē HackerRank.

HackerRank nodrošina arī iespēju lietotājiem iesniegt pieteikumus un pieteikties darbā, risinot uzņēmuma atbalstītas kodēšanas problēmas.

5. CodeChef

CodeChef ir Indijas konkurētspējīga programmēšanas vietne, kas piedāvā simtiem izaicinājumu. Jūs varat rakstīt kodu viņu tiešsaistes redaktorā un apskatīt izaicinājumu kolekcijas, kas ir sadalītas dažādās kategorijās atkarībā no jūsu prasmju līmeņa (skatiet šo piemēru). Viņiem ir liela kodētāju kopiena, kas piedalās forumos, raksta apmācības un piedalās CodeChef kodēšanas konkursos.

6. Vingrošana.io

Exercism ir kodēšanas izaicinājumu vietne, kas piedāvā vairāk nekā 3100 izaicinājumu, kas aptver 52 dažādas programmēšanas valodas. Pēc tam, kad esat izvēlējies valodu, kuru vēlaties apgūt, jūs tieši savā mašīnā risināt kodēšanas problēmas (Exercism ir savs komandrindas interfeiss, kuru varat lejupielādēt no GitHub).

Tomēr tas nedaudz atšķiras no citām izaicinājumu vietnēm, jo ​​pēc katra uzdevuma izpildīšanas jūs strādājat ar mentoru. Mentors pārskata jūsu atbildes tiešsaistē un palīdz jums tās uzlabot, ja nepieciešams. Kad jūsu atbildes ir apstiprinātas un iesniegtas, jūs saņemat vairāk problēmu.

7. Kodekari

Codewars nodrošina lielu kodēšanas izaicinājumu kolekciju, ko iesniedz un rediģē viņu pašu kopiena. Jūs varat tiešsaistē atrisināt problēmas viņu redaktorā vienā no vairākām valodām. Jūs varat apskatīt diskusiju par katru problēmu, kā arī lietotāju risinājumus.

8. LeetCode

LeetCode ir populārs tiešsaistes tiesnesis, kas sniedz vairāk nekā 190 izaicinājumu sarakstu, kas var palīdzēt sagatavoties tehniskām darba intervijām. Jūs varat atrisināt problēmas tieši tiešsaistē vienā no 9 programmēšanas valodām. Jūs nevarat apskatīt citu lietotāju risinājumus, taču jums tiek sniegta statistika par jūsu pašu risinājumiem, piemēram, cik ātri jūsu kods darbojās salīdzinājumā ar citu lietotāju kodu.

Viņiem ir arī sadaļa Izspēles intervija, kas īpaši paredzēta darba interviju sagatavošanai, viņi rīko paši savus kodēšanas konkursus, un viņiem ir sadaļa rakstiem, kas palīdzēs labāk izprast noteiktas problēmas.

9. SPOJ

Sphere Online Judge (SPOJ) ir tiešsaistes tiesnesis, kurš piedāvā vairāk nekā 20 000 kodēšanas izaicinājumus. Jūs varat iesniegt kodu tiešsaistes redaktorā. SPOJ rīko arī savus konkursus, un lietotājiem ir vieta, kur apspriest kodēšanas problēmas. Patlaban tie nesniedz oficiālus risinājumus vai redakcijas, kā to dara dažas citas vietnes.

10. CodinGame

CodinGame nedaudz atšķiras no citām vietnēm, jo ​​tā vietā, lai redaktorā vienkārši risinātu kodēšanas problēmas, jūs faktiski piedalāties tieši tiešsaistē spēlēto spēļu koda rakstīšanā. Šeit jūs varat apskatīt pašlaik piedāvāto spēļu sarakstu un to piemēru. Spēlei ir problēmas apraksts, testa gadījumi un redaktors, kurā jūs varat rakstīt kodu vienā no vairāk nekā 20 programmēšanas valodām.

Lai gan šī vietne atšķiras no tipiskām konkurētspējīgām programmēšanas vietnēm, piemēram, iepriekš minētajām, tā joprojām ir populāra programmētāju vidū, kuriem patīk risināt problēmas un piedalīties konkursos.

Šis saraksts tika balstīts uz dažām lietām: manis pašu pieredzi, izmantojot vietnes, dažus Google meklējumus, Quora ziņas un tādus rakstus kā šis un šis. Es arī apmeklēju dažus forumus un apakšbrīvās versijas, piemēram, r / learnprogramming, lai redzētu, kuras vietnes parasti ieteica tur esošie lietotāji. Atruna: es strādāju vietnē Coderbyte, kas ir viena no iepriekš minētajām vietnēm.