10 suosituinta Coding Challenge -sivustoa [Päivitetty vuodelle 2020]

Hyvä tapa parantaa taitojasi koodaamisen oppimisessa on ratkaista koodaamisen haasteet. Erilaisten haasteiden ja pulmien ratkaiseminen voi auttaa sinua tulemaan paremmaksi ongelmanratkaisijaksi, oppimaan ohjelmointikielen hienoudet, valmistautumaan työhaastatteluihin, oppimaan uusia algoritmeja ja paljon muuta.

Alla on luettelo joistakin suosituista koodaushaastesivustoista ja lyhyt kuvaus siitä, mitä kukin tarjoaa.

1. TopCoder

TopCoder on yksi alkuperäisistä alustoista kilpailukykyiseen online-ohjelmointiin. Se tarjoaa luettelon aikaisemmista algoritmisista haasteista, jotka voit suorittaa itse suoraan verkossa koodieditorilla. Heidän suosittuja yhden kierroksen otteluita tarjotaan muutaman kerran kuukaudessa tiettynä ajankohtana, jolloin kilpailet muita vastaan ​​ratkaistaksesi haasteet nopeimmin parhailla pisteillä.

TopCoderin parhaiten sijoittuneet käyttäjät ovat erittäin kilpailukykyisiä ohjelmoijia ja kilpailevat säännöllisesti ohjelmointikilpailuissa. Parhaiten sijoittunut käyttäjä ylläpitää omaa blogia nimeltä Petror Mitrichev viikoittain nimeltä Algoritmit, jossa hän kirjoittaa koodauskilpailuista, algoritmeista, matematiikasta ja muusta.

2. Coderbyte

Coderbyte tarjoaa yli 200 koodaushaastetta, jotka voit ratkaista suoraan verkossa yhdellä kymmenestä ohjelmointikielestä (tutustu tähän esimerkkiin). Haasteet vaihtelevat helposta (merkkijonon suurimman sanan löytäminen) vaikeisiin (tulosta kaavion suurin kardinaalisuus).

Ne tarjoavat myös kokoelman algoritmioppaita, esittelyvideoita ja haastattelujen valmistelukursseja. Toisin kuin HackerRank ja muut vastaavat verkkosivustot, voit tarkastella muiden käyttäjien tarjoamia ratkaisuja kaikkiin haasteisiin lukuun ottamatta Coderbyten julkaisemia virallisia ratkaisuja.

3. Euler-projekti

Project Euler tarjoaa laajan kokoelman haasteita tietojenkäsittelytieteen ja matematiikan aloilla. Haasteisiin kuuluu tyypillisesti pienen ohjelman kirjoittaminen ratkaisun löytämiseksi älykkääseen matemaattiseen kaavaan tai yhtälöön, kuten kaikkien sarjoja edeltävien numeroiden numeroiden summan löytäminen.

Et voi koodata verkkosivustoa suoraan editorissa, joten sinun on kirjoitettava ratkaisu omalle tietokoneellesi ja annettava sitten ratkaisu heidän verkkosivustolle.

4. HackerRank

HackerRank tarjoaa haasteita useille eri alueille, kuten algoritmeille, matematiikalle, SQL: lle, toiminnalliselle ohjelmoinnille, tekoälylle ja muille. Voit ratkaista kaiken haasteen suoraan verkossa (tutustu tähän esimerkkiin). Ne tarjoavat keskustelun ja tulostaulun jokaiselle haasteelle, ja useimmat haasteet tulevat toimituksellisella selostuksella, joka kertoo tarkemmin haasteesta ja siitä, miten lähestyä sitä ratkaisun löytämiseksi. Pääkirjoituksen lisäksi et voi tällä hetkellä tarkastella muiden käyttäjien ratkaisuja HackerRankissa.

HackerRank tarjoaa myös käyttäjille mahdollisuuden jättää hakemuksia ja hakea työpaikkoja ratkaisemalla yrityksen tukemat koodauksen haasteet.

5. CodeChef

CodeChef on intialainen kilpailukykyinen ohjelmointisivusto, joka tarjoaa satoja haasteita. Pystyt kirjoittamaan koodin heidän online-editoriinsa ja tarkastelemaan kokoelmia haasteista, jotka on jaettu eri luokkiin taitotasosi mukaan (katso tämä esimerkki). Heillä on suuri koodaajien yhteisö, joka osallistuu foorumeihin, kirjoittaa opetusohjelmia ja osallistuu CodeChefin koodauskilpailuihin.

6. Harjoittelu.io

Exercism on koodaushaastesivusto, joka tarjoaa yli 3100 haastetta 52 eri ohjelmointikielellä. Valittuasi kielen, jonka haluat hallita, käsittelet koodauksen haasteet suoraan koneellasi (Exercismillä on oma komentoriviliittymä, jonka voit ladata GitHubista).

Se on kuitenkin hieman erilainen kuin muut haastesivustot, koska työskentelet mentorin kanssa jokaisen haasteen suorittamisen jälkeen. Mentori tarkistaa vastauksesi verkossa ja auttaa sinua parantamaan niitä tarvittaessa. Kun vastauksesi on hyväksytty ja lähetetty, avaat lisää haasteita.

7. Codewars

Codewars tarjoaa laajan kokoelman oman yhteisön lähettämiä ja muokkaamia koodaushaasteita. Voit ratkaista haasteet suoraan niiden editorissa yhdellä useista kielistä. Voit tarkastella keskustelua jokaisesta haasteesta sekä käyttäjäratkaisuja.

8. LeetCode

LeetCode on suosittu online-tuomari, joka tarjoaa luettelon yli 190 haasteesta, jotka voivat auttaa sinua valmistautumaan teknisiin työhaastatteluihin. Voit ratkaista haasteet suoraan verkossa yhdellä yhdeksästä ohjelmointikielestä. Et voi tarkastella muiden käyttäjien ratkaisuja, mutta sinulle annetaan tilastoja omista ratkaisuistasi, kuten kuinka nopeasti koodisi juoksi verrattuna muiden käyttäjien koodiin.

Heillä on myös Mock Interview -osio, joka on tarkoitettu erityisesti työhaastattelujen valmisteluun, he isännöivät omia koodauskilpailujaan, ja heillä on artikkeleita käsittelevä osio, joka auttaa sinua ymmärtämään paremmin tiettyjä ongelmia.

9. SPOJ

Sphere Online Judge (SPOJ) on online-tuomari, joka tarjoaa yli 20 000 koodaushaastetta. Voit lähettää koodisi online-editorissa. SPOJ isännöi myös omia kilpailujaan ja tarjoaa käyttäjille mahdollisuuden keskustella koodauksen haasteista. Ne eivät kuitenkaan tällä hetkellä tarjoa virallisia ratkaisuja tai toimituksia, kuten jotkut muut sivustot tarjoavat .

10. CodinGame

CodinGame on hieman erilainen kuin muut verkkosivustot, koska sen sijaan, että yksinkertaisesti ratkaisit koodauksen haasteet editorissa, osallistut itse asiassa pelaamaan koodia peleille, joita pelaat suoraan verkossa. Näet luettelon peleistä, joita tällä hetkellä tarjotaan, ja esimerkin niistä täällä. Pelin mukana tulee ongelman kuvaus, testitapaukset ja editori, johon voit kirjoittaa koodisi yhdellä yli 20 ohjelmointikielestä.

Vaikka tämä verkkosivusto on erilainen kuin edellä mainitut tyypilliset kilpailevat ohjelmointisivustot, se on edelleen suosittu ohjelmoijien keskuudessa, jotka nauttivat haasteiden ratkaisemisesta ja kilpailuista.

Tämä luettelo perustui muutamaan asiaan: omiin kokemuksiini verkkosivustojen käytöstä, joihinkin Google-hakuihin, Quora-viesteihin ja tämän ja tämän kaltaisiin artikkeleihin. Käytin myös joitain foorumeita ja aliohjelmia, kuten r / Learn-ohjelmointi, nähdäksesi mitä verkkosivustoja käyttäjät yleensä suosittelivat. Vastuuvapauslauseke: Työskentelen Coderbytessä, joka on yksi yllä mainituista verkkosivustoista.