10 populiariausių „Coding Challenge“ svetainių [Atnaujinta 2020 m.]

Puikus būdas tobulinti savo įgūdžius mokantis koduoti yra sprendžiant kodavimo iššūkius. Įvairių tipų iššūkių ir galvosūkių sprendimas gali padėti tapti geresniu problemų sprendėju, išmokti programavimo kalbos subtilybių, pasiruošti darbo pokalbiams, išmokti naujų algoritmų ir kt.

Žemiau pateikiamas kai kurių populiarių kodavimo iššūkių svetainių sąrašas su trumpu kiekvienos siūlomo aprašymu.

1. „TopCoder“

„TopCoder“ yra viena iš originalių konkurencingo programavimo internete platformų. Čia pateikiamas sąrašas algoritminių praeities iššūkių, kuriuos galite atlikti patys tiesiogiai naudodamiesi jų kodų redaktoriumi. Jų populiarios „Single Round“ varžybos siūlomos kelis kartus per mėnesį tam tikru laiku, kai varžotės su kitais, kad greičiau išspręstumėte iššūkius ir pasiektumėte geriausią rezultatą.

Aukščiausio reitingo „TopCoder“ vartotojai yra labai geri konkurencingi programuotojai ir reguliariai varžosi programavimo varžybose. Geriausiai vertinamas vartotojas tvarko savo tinklaraštį, pavadintą „ Petror Mitrichev“ kas savaitę pavadinimu „ Algoritmai“, kuriame jis rašo apie kodavimo varžybas, algoritmus, matematiką ir dar daugiau.

2. Coderbyte

„Coderbyte“ pateikia daugiau nei 200 kodavimo iššūkių, kuriuos galite išspręsti tiesiogiai internetu, viena iš 10 programavimo kalbų (žiūrėkite šį pavyzdį). Iššūkiai svyruoja nuo lengvų (surandant didžiausią žodį eilutėje) iki sunkių (atspausdinkite maksimalų kardinalumo atitikimą grafike).

Jie taip pat pateikia algoritmų pamokų, įvadinių vaizdo įrašų ir interviu rengimo kursų rinkinį. Skirtingai nuo „HackerRank“ ir kitų panašių svetainių, jūs galite peržiūrėti sprendimus, kuriuos kiti vartotojai teikia bet kokiems iššūkiams, išskyrus oficialius „Coderbyte“ paskelbtus sprendimus.

3. Projektas „Euler“

Projektas „Euler“ pateikia daugybę iššūkių informatikos ir matematikos srityse. Iššūkiai paprastai apima mažos programos rašymą, siekiant išsiaiškinti sumanios matematinės formulės ar lygties sprendimą, pavyzdžiui, surasti visų skaičių, einančių prieš kiekvieną eilės skaičių, skaičių sumą.

Negalite tiesiogiai koduoti svetainėje redaktoriuje, todėl turėsite parašyti sprendimą savo kompiuteryje ir tada pateikti sprendimą jų svetainėje.

4. „HackerRank“

„HackerRank“ pateikia iššūkius kelioms skirtingoms sritims, tokioms kaip algoritmai, matematika, SQL, funkcinis programavimas, dirbtinis intelektas ir kt. Visą iššūkį galite išspręsti tiesiogiai internete (žiūrėkite šį pavyzdį). Jie teikia diskusijas ir pirmaujančią lentelę kiekvienam iššūkiui, o daugumą iššūkių pateikia redakcija, kurioje paaiškinama daugiau apie iššūkį ir kaip jį pasiekti, kad būtų pateiktas sprendimas. Be redakcijos, šiuo metu „HackerRank“ negalite peržiūrėti kitų vartotojų sprendimų.

„HackerRank“ taip pat suteikia galimybę vartotojams pateikti paraiškas ir kreiptis į darbo vietas, spręsdamas įmonės remiamus kodavimo iššūkius.

5. „CodeChef“

„CodeChef“ yra Indijos konkurencingo programavimo svetainė, teikianti šimtus iššūkių. Galite rašyti kodą jų internetiniame redaktoriuje ir peržiūrėti iššūkių rinkinius, kurie yra suskirstyti į skirtingas kategorijas, atsižvelgiant į jūsų įgūdžių lygį (žiūrėkite šį pavyzdį). Jie turi didelę programuotojų bendruomenę, kuri dalyvauja forumuose, rašo pamokas ir dalyvauja „CodeChef“ kodavimo konkursuose.

6. Sportas.io

„Exercism“ yra kodavimo iššūkių svetainė, siūlanti 3100 ir daugiau iššūkių, apimančių 52 skirtingas programavimo kalbas. Pasirinkę kalbą, kurią norite išmokti, spręsite kodavimo iššūkius tiesiai savo kompiuteryje („Exercism“ turi savo komandinės eilutės sąsają, kurią galite atsisiųsti iš „GitHub“).

Vis dėlto jis šiek tiek skiriasi nuo kitų iššūkių svetainių, nes atlikę kiekvieną iššūkį dirbate su mentoriumi. Mentorius peržiūri jūsų atsakymus internete ir prireikus padeda juos tobulinti. Patvirtinę ir pateikę atsakymus, atrakinsite daugiau iššūkių.

7. Kodekarai

„Codewars“ pateikia didelį rinkinį kodavimo iššūkių, kuriuos pateikė ir redagavo jų pačių bendruomenė. Galite tiesiogiai internete išspręsti iššūkius jų redaktoriuje viena iš kelių kalbų. Galite peržiūrėti diskusijas apie kiekvieną iššūkį ir vartotojų sprendimus.

8. „LeetCode“

„LeetCode“ yra populiarus internetinis teisėjas, pateikiantis daugiau nei 190 iššūkių, kurie gali padėti pasirengti techniniams darbo pokalbiams, sąrašą. Iššūkius galite išspręsti tiesiogiai internetu viena iš 9 programavimo kalbų. Jūs negalite peržiūrėti kitų vartotojų sprendimų, tačiau jums pateikiama jūsų pačių sprendimų statistika, pvz., Kaip greitai jūsų kodas veikė, palyginti su kitų vartotojų kodu.

Jie taip pat turi „Interviu su pašnekovu“ skyrių, skirtą specialiai darbo pokalbio rengimui, jie rengia savo kodavimo konkursus ir turi skyrių straipsniams, kurie padės geriau suprasti tam tikras problemas.

9. SPOJ

„Sphere Online Judge“ (SPOJ) yra internetinis teisėjas, kuris pateikia daugiau nei 20 000 kodavimo iššūkių. Savo kodą galite pateikti internetiniame redaktoriuje. SPOJ taip pat rengia savo konkursus ir turi galimybę vartotojams aptarti kodavimo iššūkius. Šiuo metu jie nepateikia jokių oficialių sprendimų ar redakcijų, kaip tai daro kai kurios kitos svetainės.

10. „CodinGame“

„CodinGame“ šiek tiek skiriasi nuo kitų svetainių, nes užuot paprasčiausiai spręsdami kodavimo užduotis redaktoriuje, jūs iš tikrųjų dalyvaujate rašydami žaidimų, kuriuos žaidžiate tiesiogiai internete, kodą. Čia galite pamatyti šiuo metu siūlomų žaidimų sąrašą ir jų pavyzdį. Žaidime pateikiamas problemos aprašymas, bandymo atvejai ir redaktorius, kuriame galite parašyti kodą viena iš daugiau nei 20 programavimo kalbų.

Nors ši svetainė skiriasi nuo įprastų konkurencinio programavimo svetainių, tokių kaip minėta, ji vis dar populiari tarp programuotojų, kuriems patinka spręsti uždavinius ir dalyvauti konkursuose.

Šis sąrašas buvo pagrįstas keliais dalykais: mano pačių patirtimi naudojant svetaines, kai kuriomis „Google“ paieškomis, „Quora“ įrašais ir tokiais straipsniais kaip šis ir šis. Taip pat dažnai lankiausi kai kuriuose forumuose ir subreddits, pvz., „R / learnprogramming“, norėdami pamatyti, kokias svetaines paprastai rekomendavo ten esantys vartotojai. Atsakomybės apribojimas: Aš dirbu „Coderbyte“, kuris yra viena iš pirmiau minėtų svetainių.