De 10 beste kodingsutfordringene for 2018

På slutten av 2016 publiserte jeg artikkelen: De 10 mest populære kodingsutfordringsnettstedene for 2017. Listen var basert på noen få ressurser som populære blogginnlegg, Quora-innlegg, artikler, Google-søk og populære innlegg på fora som r / læreprogrammering og Hacker News.

Denne oppdaterte 2018-listen inneholder 10 nettsteder som tilbyr de beste kodingsutfordringene og ressursene for å hjelpe nye og mellomliggende utviklere å forbedre ferdighetene sine, forberede seg til intervjuer og gå videre i karrieren. Bestillingen av listen er basert på vanskelighetsgrad (nybegynner til avansert).

1. Coderbyte

Nybegynner - middels

Coderbyte gir 200+ kodingsutfordringer du kan løse i en online redaktør ved å bruke 10 forskjellige programmeringsspråk. Det gir også offisielle løsninger for noen av utfordringene sammen med 800 000 brukerløsninger. Coderbyte anbefales av toppkoding av bootcamps på grunn av samlingen av utfordringer med prep-intervju.

Bortsett fra kodingsutfordringer tilbyr de kurs i algoritmer og datastrukturer, webutvikling og prep kurs for koding av bootcamps.

2. Codewars

Nybegynner - middels

Codewars gir en stor samling av kodingsutfordringer sendt inn og redigert av deres eget samfunn. Du kan løse utfordringene direkte på nettet i redaktøren deres ved å bruke et av 20+ programmeringsspråk. Du kan se på en diskusjon for hver enkelt utfordring, så vel som brukerløsninger. Du kan tjene poeng og klatre på rangeringen ved å løse utfordringene deres.

3. CodeFights

Nybegynner - middels

CodeFights tilbyr en samling av kodingsutfordringer for deg å løse i deres online redaktør, og det er et forum for brukere å diskutere utfordringene. De har også en funksjon som heter Company Bots hvor du skriver kode for å konkurrere mot en "bot" som ble programmert av ingeniører hos selskaper som Uber, Dropbox og Quora.

4. CodinGame

Nybegynner - middels

Denne nettsiden er annerledes enn de som er oppført ovenfor, fordi i stedet for å bare løse kodingsutfordringer ved å produsere et sett med output, på CodinGame skriver du kode for å faktisk spille et spill online. Det er et flott nettsted, og noen av spillene er veldig morsomme å se når du har skrevet koden (se eksempel). Spillgrafikken er fin, og brukergrensesnittet for redaktør / spill er veldig glatt. Totalt sett er det et flott nettsted for nybegynnere å lære seg koding.

5. TopCoder

Mellomliggende - Avansert

TopCoder er en av de originale plattformene for konkurrerende programmering online. Den gir en liste over algoritmiske utfordringer fra fortiden som du kan fullføre på egen hånd direkte online ved å bruke kodeditoren deres. Deres populære Single Round Matches blir tilbudt noen ganger per måned på et spesifikt tidspunkt hvor du konkurrerer mot andre for å løse utfordringer. Her er noen temaer som utfordringene deres kan dekke.

Bortsett fra å løse utfordringer for moro skyld på nettet, tilbyr de sponsede konkurranser der du kan vinne premier for å skrive den beste løsningen.

6. HackerRank

Mellomliggende - Avansert

HackerRank fokuserer på informatikkemner slik at det gir utfordringer for flere domener som algoritmer, matematikk, SQL, funksjonsprogrammering, AI og mer. Du kan løse alle utfordringene direkte på nettet (se eksempel). De gir en diskusjon og toppliste for hver utfordring, og de fleste utfordringer kommer med en redaksjon som forklarer mer om utfordringen og hvordan du kan tilnærme deg den for å komme frem til en løsning.

7. LeetCode

Mellomliggende - Avansert

LeetCode har en samling av noen av de beste algoritmeutfordringene online i dag. Temaene de dekker krever kunnskap om datastrukturer som binære trær, hauger, koblede lister osv., Og det er grunnen til at utfordringene deres er litt mer avanserte enn noen andre nettsteder - men utfordringene er store hvis de brukes når du forbereder deg til en programvareteknikk intervju.

De har også en Mock Interview-seksjon som er spesifikt for forberedelse av jobbintervju, de er vert for sine egne kodingskonkurranser, og de har en seksjon for artikler som hjelper deg med å forstå visse problemer.

8. CodeChef

Mellomliggende - Avansert

CodeChef er et indisk-basert konkurrerende programmeringsnettsted som gir hundrevis av utfordringer. Du kan skrive kode i nettredigereren deres og se en samling utfordringer som er delt inn i forskjellige kategorier avhengig av ferdighetsnivå (se eksempel). De har et stort fellesskap av kodere som bidrar til forumene, skriver veiledninger og deltar i CodeChefs kodingskonkurranser.

9. GeeksforGeeks

Mellomliggende - Avansert

GeeksforGeeks har den beste samlingen av artikler, forklaringer og kodeløsninger for algoritmer og datastrukturemner. Du kan se et eksempel her på hvordan de deler opp et sammensatt spørsmål i enklere deler, forklarer løsningen og deretter gir en kodeløsning. De har også en online redaktør hvor du kan øve deg på å løse utfordringer selv før du ser løsningen.

Hvis du forbereder deg på et programvareingeniørintervju, bør du absolutt bruke dette nettstedet til å forberede og pusse opp de vanskeligere algoritmespørsmålene.

10. Codeforces

Avansert

Codeforces er et russisk-basert konkurrerende programmeringsnettsted som regelmessig er vert for konkurranser der noen av de beste konkurransedyktige programmererne i verden konkurrerer på nettet. Hvis du er en nybegynnerkoder, vil utfordringene deres sannsynligvis være for avanserte for deg - her er noen eksempler på nyere utfordringer. Utfordringene deres krever vanligvis avansert kunnskap om matematikk og algoritmer.

Som forrige års artikkel, er denne listen basert på: mine egne erfaringer med å bruke alle disse nettstedene, Google-søk, Quora Posts og kommentarer fra brukere om artikkelen fra forrige år. Jeg fulgte også med på hvilke nettsteder folk nevnte mest på populære fora som r / læreprogrammering og Hacker News. Ansvarsfraskrivelse: Jeg jobber på Coderbyte, som er et av nettstedene som er nevnt over.