10 najbolj priljubljenih spletnih mest za izzive kodiranja [posodobljeno za leto 2020]

Odličen način za izboljšanje svojih spretnosti pri učenju kodiranja je reševanje izzivov kodiranja. Reševanje različnih vrst izzivov in ugank vam lahko pomaga postati boljši reševalec problemov, se naučiti zapletenosti programskega jezika, pripraviti se na razgovore za službo, naučiti novih algoritmov in še več.

Spodaj je seznam nekaterih priljubljenih spletnih mest z izzivi kodiranja s kratkim opisom ponudb vsakega.

1. TopCoder

TopCoder je ena izmed prvotnih platform za konkurenčno spletno programiranje. Ponuja seznam algoritmičnih izzivov iz preteklosti, ki jih lahko sami opravite neposredno v spletu z njihovim urejevalnikom kod. Njihove priljubljene tekme v enem krogu so na voljo nekajkrat na mesec ob točno določenem času, kjer tekmujete z drugimi, da boste izzive najhitreje rešili z najboljšim rezultatom.

Najbolje uvrščeni uporabniki na TopCoderju so zelo dobri tekmovalni programerji in redno tekmujejo na tekmovanjih v programiranju. Najbolje uvrščeni uporabnik vodi svoj spletni dnevnik Petr Mitrichev z naslovom Algoritmi, kjer piše o tekmovanjih v kodiranju, algoritmih, matematiki in še več.

2. Koderbajt

Coderbyte ponuja več kot 200 izzivov kodiranja, ki jih lahko neposredno rešite v spletu v enem od 10 programskih jezikov (oglejte si ta primer). Izzivi segajo od enostavnih (iskanje največje besede v nizu) do težkih (natisnite največje možno ujemanje grafa).

Ponujajo tudi zbirko vaj o algoritmih, uvodne video posnetke in tečaje za pripravo intervjujev. V nasprotju s HackerRank in drugimi podobnimi spletnimi mesti si lahko poleg uradnih rešitev, ki jih objavlja Coderbyte, ogledate rešitve, ki jih nudijo drugi uporabniki za kakršen koli izziv .

3. Projekt Euler

Projekt Euler ponuja veliko zbirko izzivov na področju računalništva in matematike. Izzivi običajno vključujejo pisanje majhnega programa za iskanje pametne matematične formule ali enačbe, kot je iskanje vsote števk vseh števil pred vsako številko v nizu.

Ne morete neposredno kodirati na spletnem mestu v urejevalniku, zato boste morali rešitev napisati v svojem računalniku in jo nato zagotoviti na njihovi spletni strani.

4. HackerRank

HackerRank ponuja izzive za več različnih domen, kot so algoritmi, matematika, SQL, funkcionalno programiranje, umetna inteligenca in še več. Vse izzive lahko rešite neposredno v spletu (oglejte si ta primer). Zagotavljajo razpravo in lestvico voditeljev za vsak izziv, večina izzivov pa je objavljena v uvodniku, ki pojasnjuje več o izzivu in kako pristopiti k njegovi rešitvi. Poleg uredništva trenutno ne morete videti rešitev drugih uporabnikov na HackerRank.

HackerRank uporabnikom omogoča tudi oddajo prijav in prijavo na delovna mesta z reševanjem izzivov kodiranja, ki jih sponzorira podjetje.

5. CodeChef

CodeChef je indijsko spletno mesto s konkurenčnimi programi, ki ponuja na stotine izzivov. V njihov spletni urejevalnik lahko napišete kodo in si ogledate zbirko izzivov, ki so ločene v različne kategorije, odvisno od vaše ravni spretnosti (oglejte si ta primer). Imajo veliko skupnost kodirnikov, ki prispevajo k forumom, pišejo vaje in sodelujejo v tekmovanjih v kodiranju CodeChef.

6. Vadba.io

Exercism je spletno mesto z izzivi kodiranja, ki ponuja 3100+ izzivov v 52 različnih programskih jezikih. Po izbiri jezika, ki ga želite obvladati, se izzivov kodiranja lotite kar na svojem računalniku (Exercism ima svoj vmesnik ukazne vrstice, ki ga lahko prenesete iz GitHub).

Vendar se nekoliko razlikuje od drugih spletnih strani z izzivi, ker po opravljenem vsakem izzivu sodelujete z mentorjem. Mentor pregleda vaše odgovore na spletu in vam jih po potrebi pomaga izboljšati. Ko so vaši odgovori odobreni in predloženi, odklenete več izzivov.

7. Codewars

Codewars ponuja veliko zbirko kodnih izzivov, ki jih je poslala in uredila njihova skupnost. Izzive lahko rešite neposredno v spletu v njihovem urejevalniku v enem od več jezikov. Ogledate si lahko razpravo za posamezne izzive in uporabniške rešitve.

8. LeetCode

LeetCode je priljubljen spletni sodnik, ki ponuja seznam več kot 190 izzivov, ki vam lahko pomagajo pri pripravi na tehnične razgovore za službo. Izzive lahko rešite neposredno prek spleta v enem od 9 programskih jezikov. Ne morete si ogledati rešitev drugih uporabnikov, vendar pa dobite statistične podatke za svoje rešitve, na primer kako hitro je tekla vaša koda v primerjavi s kodo drugih uporabnikov.

Imajo tudi rubriko Mock Interview, ki je posebej namenjena pripravi na razgovor za službo, gostijo lastna tekmovanja za kodiranje in imajo rubriko za članke, ki vam pomagajo bolje razumeti določene težave.

9. SPOJ

Sphere Online Judge (SPOJ) je spletni sodnik, ki ponuja več kot 20.000 izzivov kodiranja. Kodo lahko oddate v spletnem urejevalniku. SPOJ gosti tudi lastna tekmovanja in ima prostor, kjer lahko uporabniki razpravljajo o kodiranju. Trenutno pa ne ponujajo nobenih uradnih rešitev ali uvodnikov, kot to počnejo nekatera druga spletna mesta.

10. CodinGame

CodinGame se nekoliko razlikuje od drugih spletnih mest, saj namesto da v urejevalniku preprosto rešite izzive kodiranja, dejansko sodelujete pri pisanju kode za igre, ki jih igrate neposredno v spletu. Seznam iger, ki so trenutno na voljo tukaj, si lahko ogledate tukaj, primer igre pa tukaj. Igra ima opis problema, testne primere in urejevalnik, v katerega lahko svojo kodo napišete v enem od 20+ programskih jezikov.

Čeprav se to spletno mesto razlikuje od običajnih spletnih mest s konkurenčnim programiranjem, kot so zgoraj omenjena, je še vedno priljubljeno med programerji, ki uživajo v reševanju izzivov in udeležbi na natečajih.

Ta seznam je temeljil na nekaj stvareh: mojih lastnih izkušnjah s spletnimi mesti, nekaj iskanjih v Googlu, objavah v Quori in člankih, kot je ta in ta. Obiskal sem tudi nekatere forume in podredite, kot je r / learnprogramming, da bi ugotovil, katera spletna mesta običajno priporočajo tamkajšnji uporabniki. Omejitev odgovornosti: Delam v podjetju Coderbyte, ki je eno od zgoraj omenjenih spletnih mest.