17 provocări de codificare pentru a vă ascuți gândirea critică

Dacă doriți să vă îmbunătățiți abilitățile într-un limbaj de programare existent sau nou, una dintre cele mai bune modalități de a face acest lucru este prin provocări de codare.

O mulțime de platforme și site-uri web au devenit disponibile de-a lungul anilor, oferind provocări interesante pentru programatori de toate nivelurile. Fie că este vorba despre o nouă limbă pe care încercați să o învățați sau doriți să vă testați inteligența în situații stresante – provocările de codificare pot fi atât distractive, cât și un test în același timp.

Beneficiile, pe lângă cele evidente, ale lucrului la aceste provocări includ abilități mai bune de rezolvare a problemelor, înțelegere aprofundată a limbajului și bucuria de a învăța noi algoritmi. După cum știți, algoritmii nu sunt neobișnuiți în timpul procesului de angajare — așa că a avea niște dinți în joc s-ar putea să-ți dea un avantaj.

Această postare acoperă unele dintre cele mai bune site-uri web și platforme de provocare de codificare care există. Unele sunt prietenoase pentru începători, în timp ce altele se adresează unui public mai experimentat. Adăugăm și câteva lucruri pe care le puteți arăta copiilor de atunci codificare prietenoasă copiilor a devenit, de asemenea, destul de popular.

Edabit

Cel mai simplu mod de a învăța lucruri noi este să ai o interacțiune consecventă cu lucrul pe care încerci să-l înveți. Acesta este și cazul programării. Citirea celor mai bune cărți vă va oferi cunoștințe zero, dacă nu puneți în practică cuvântul scris.

Edabit este o platformă consacrată care oferă provocări de codare de dimensiuni mici, care vă pot îmbunătăți rapid abilitățile de codare.

HackerRank

HackerRank este un startup care se concentrează pe furnizarea de provocări de codificare pentru indivizi și organizații deopotrivă. În funcție de provocare, cel mai adesea vi se oferă instrucțiuni pentru un proiect care trebuie finalizat, iar modul în care îl finalizați depinde de dvs.

În prezent, dezvoltatorii pot folosi Java, Python, JavaScript, PHP, C++ și SQL pentru a rezolva provocările oferite.

Ori de câte ori trimiteți soluțiile dvs., platforma punctează automat trimiterea dvs. pe baza unor factori precum acuratețea. După aceea, ești plasat în clasamentul global, cultivând în același timp realizări (insigne) pe parcurs. Există, de asemenea, „sprinturi”, care este un alt termen pentru concursurile găzduite de platforme.

House of Codes a scris o piesă captivantă care descrie primele 50 de provocări găsite în Hacker Rank. Dacă aveți curiozitate pentru el, merită o lectură, cu o mulțime de exemple și materiale.

Coderbyte

Coderbyte este o aplicație unică bazată pe practici moderne de programare. Caracteristica sa de bază este provocările de codificare, care au ajutat milioane de oameni de pe tot globul să devină dezvoltatori mai buni. Spre deosebire de aplicațiile similare de pe piață, Coderbyte este dedicat să ajute oamenii să abordeze problemele la nivel de industrie.

Unul dintre avantajele utilizării acestei platforme este că lucrează împreună cu unele dintre cele mai importante mărci de software. De exemplu, Google, LogMeIn, HBO, PWC și multe altele. Dacă doriți vreodată să obțineți un loc de muncă la astfel de companii, atunci fiți siguri că Coderbyte vă poate oferi provocările necesare pentru a vă testa abilitățile.

  Cum se creează o diagramă Gantt în Foi de calcul Google

Odată ce vă înregistrați, puteți alege dintre provocări și algoritmi. Există sute de mii de soluții trimise de utilizatori, care vă pot ajuta să obțineți o înțelegere mult mai largă a subiectelor specifice de programare.

Organizațiile se pot înscrie și gestiona procesul de screening. Devenind o organizație înregistrată, obțineți acces la instrumente suplimentare care vă pot ajuta să monitorizați fiecare dezvoltator individual.

Războiul de cod

Frumusețea practicii consecvente de codare este că mereu vii cu noi modalități de a rezolva probleme. Războiul de cod valorifică această idee. Bazată pe „katas”, platforma oferă exerciții și provocări într-o mare varietate de limbi.

Pe măsură ce finalizați exercițiile menționate, puteți obține puncte, dar puteți verifica și modul în care alți programatori au rezolvat o anumită problemă.

Dacă ți-ai propus să exersezi o nouă limbă, atunci Codewars este un site excepțional de adăugat la marcajele tale.

Iată câteva dintre limbile acceptate:

  • Clojure
  • Rugini
  • Rapid
  • Piton
  • Haskell
  • Coajă
  • JavaScript
  • PHP
  • Kotlin
  • Scala

Și o mulțime de alte limbi sunt în programul BETA, disponibile, dar cu potențiale blocaje.

În mod fundamental, Edabit dorește să ofere o platformă care poate reduce decalajul dintre începători și programatorii avansați. Puteți verifica Foaia de parcurs pentru a vedea lista completă de caracteristici.

CodinGame

Jocurile ca platforme de învățare nu sunt un lucru cu totul nou, dar se pare că există mult mai mulți jucători în domeniu acum. CodinGame este doar una dintre multele platforme care oferă provocări de programare printr-o experiență gamificată. Mai degrabă decât să scrii cod nelimitat, construiești un mediu de joc. Tot codul pe care îl scrieți, în anumite privințe, afectează modul în care merge „jocul”.

În retrospectivă, platforme ca CodinGame poate ajuta foarte mult dezvoltatorii de tehnologie în ceea ce privește cauza și efectul. Și cum anumite decizii duc la rezultate specifice.

Acesta nu este doar unul dintre acele site-uri ieftine în care scrieți cod JavaScript neglijent. CodinGame implică niște algoritmi de nivel superior și are nenumărați programatori de talie mondială care ajută la furnizarea de soluții atât dezvoltatorilor noi, cât și dezvoltatorilor experimentați.

HackerEarth

HackerEarth este o platformă binecunoscută care desfășoară hackath-uri, provocări de codificare și diferite tipuri de competiții.

Este, de asemenea, un loc de unde puteți obține câteva cunoștințe interesante despre procesul de angajare în companiile moderne. Nu toate, dar o bună parte din provocările găsite în baza de date HackerEarth pot ajunge să fie întrebate în oricare dintre viitoarele interviuri de angajare.

Și cum este posibil asta? Ei bine, mai ales pentru că adevărata agitație a lui HackerEarth este să ofere soluții de recrutare companiilor de tehnologie de top. Dacă vrei să fii considerat cel mai bun, trebuie să stai cu cei mai buni. Este o situație de câștig-câștig pentru tine.

Programator

Programmr este un laborator digital dinamic pentru toate nivelurile de dezvoltatori. Cu Programator, puteți scrie cod, îl puteți compila și executa proiecte direct din browser. Platforma acceptă toate limbile majore utilizate astăzi. Indiferent dacă este o aplicație mobilă sau o structură de bază de date pe care doriți să o rulați, Programmr are curajul să o susțină.

În ceea ce privește provocările, Programmr are un set personalizat de provocări pentru Java, C++, PHP, C#, Ruby, Python și iOS. Fiecare set include peste 100 de provocări, care pot fi sortate după popularitate (pe baza voturilor utilizatorilor) și alți factori.

  Cele mai bune 8 proiecte Raspberry Pi Smart Magic Mirror

Ceea ce îi diferențiază pe acești bărbați de ceilalți este că vă puteți folosi noile experiențe pentru a obține feedback instantaneu, fie că este vorba de un certificat pentru o anumită limbă, fie doar de feedback de la utilizatorii existenți.

Trenul de codare

Daniel Shiffman este o armată de o singură persoană, care creează și produce materiale grozave despre programare. Trenul de codare este platforma personală YouTube a lui Daniels, unde a distribuit videoclipuri interesante și utile pentru abordarea problemelor legate de programare.

Dar, el are această abordare interesantă. În loc să găzduiască totul pe site-ul său, el folosește YouTube ca platformă pentru provocare și site-ul său ca platformă pentru soluție.

Păstrați în natură pe care se bazează provocările sale P5.js și Prelucrare — două soluții populare utilizate în artă și design grafic.

Provocări Wolfram

Wolfram este una dintre cele mai cunoscute companii din lume care operează sub ramura informatică. Platforma lor i-a lăsat pe mulți fără cuvinte prin posibilitățile sale.

Deși nu ne concentrăm pe Wolfram Alpha, o nouă frontieră introdusă la începutul lui 2018 – Provocări Wolfram.

Există o mulțime de exemple de provocări pe care le puteți imagina care implică găsirea „soluției cu cel mai mic cost” sau „cea mai bună potrivire”. Și este o configurație similară cu sarcini tipice de învățare automată: găsiți o funcție (să zicem bazată pe o rețea neuronală) care funcționează cel mai bine la clasificarea unui anumit set de teste etc.

În comparație cu alte site-uri web/platforme din această rezumat, Wolfram acoperă o zonă largă de provocări și nu doar codificare. Una peste alta, dacă doriți să vă ascuți gândirea critică – aceasta va fi platforma pentru a o face!

LeetCode

LeetCode este un produs, adică nu este doar un site care găzduiește provocări aleatorii. În schimb, LeetCode este o modalitate de a te pregăti pentru posibilitățile viitoare.

Platforma oferă învățare modernă, provocări complexe și un tablou de bord superb pentru a face totul.

Există, de asemenea, articole, forumuri de discuții și alte aspecte ale comunității pentru a încuraja o experiență perfectă. Mulți utilizatori LeetCode au „absolvent” pentru a lucra la companii precum Uber, Amazon, Stripe și altele.

Codeforces

Codeforces este pentru toți programatorii hardcore și dedicați de acolo. Gândiți-vă la ingineri de software, pentesteri, pasionați de inteligență artificială și pasionați de învățare automată! Ca platformă pentru programatori avansați, Codeforces este cunoscut pentru clasamentul său notoriu și spiritul competitiv.

Și a începe este mai ușor decât crezi.

Exercițiu

Este grozav să vedem inițiativele din spatele multor platforme de provocare de codificare.

Și Exercițiu nu este o excepție. Katrina Owen, fondatoarea, spune că scopul ei este să „ajute oamenii să învețe suficient codificare [using Exercism] ca să-și găsească un loc de muncă în dezvoltare.”.

La momentul scrierii acestui articol, există peste 2.600 de exerciții în 48 de limbi – toate gratuite! Ai vrut să faci învață Kotlinsau poate orientați-vă mai mult în Vim? Acum este șansa ta de a învăța câteva abilități noi prin provocări interesante!

Codier

Oricât de surprinzător ar fi pentru unii dintre voi, încă există codare care se întâmplă și în dezvoltarea front-end!

Provocările de aici sunt în mare parte puse în comun de către utilizatori. De exemplu, cineva ar putea publica o „Carte de design material” și vă poate provoca să o îmbunătățiți sau să creați o variantă similară.

  Deblocați și ștergeți instantaneu fișierele care nu se pot șterge cu IObit Unlocker

Rezultatul este capacitatea ta de a pune în practică câteva idei creative. Și este plăcut să vedem cum alții abordează probleme similare și în timp real. Puteți reutiliza oricând codul trimis de alții în proiectele dvs.

Flexbox Froggy

Vorbind de front-end, cum vă înțelegeți Flexbox? Întotdeauna este plăcut să faci puțină reîmprospătare a memoriei pentru a te menține clar și atent!

Flexbox Froggy este un mic joc drăguț care vă duce prin 28 de pași de diferite utilizări și aliniamente Flexbox. Poate că este mai puțin o provocare decât un memento, dar poți face toate nivelurile fără să cauți răspunsuri?

Grid Garden este un joc foarte asemănător; singura diferență este că lucrați cu funcția Grid și nu cu Flex.

PyBites

Python este acceptat pe scară largă ca limbajul cel mai simplu de învățat. Și este adesea recomandat pentru noii programatori să exploreze mai întâi. Dar, nu lăsați asta să vă descurajeze să credeți în capacitatea lui Python.

În zilele noastre, o mulțime de învățare automată și generare de seturi de date se face exclusiv cu Piton — și asta nu este puțin lucru!

PyBites te pune la curent cu cele mai recente întâmplări. Articole, provocări de codificare și alte informații esențiale pentru a vă ajuta să vă ascuți inteligența. Fiecare provocare include o continuare ca o revizuire, în care vă puteți compara codul și puteți explora modul corect de rezolvare a unei probleme.

CodeCombat

CodeCombat este încă un alt joc de codare care oferă un mediu de codare dinamic și provocator. Diferența dintre un produs precum CodinGame este că CodeCombat se concentrează pe profesori. Ca rezultat, puteți folosi această platformă pentru a preda programarea și rezolvarea problemelor la nivel de școală.

Există instrumente, materiale și alte resurse adaptate special pentru acest scop. Și este și foarte distractiv. Jocurile CodeCombat pe care le construiți sunt atât interesante, dar și uimitoare din punct de vedere vizual. Și jocurile sunt deja atât de populare printre copii. Oferirea copiilor provocarea de a-și dezvolta mediul virtual îi poate inspira să construiască ceva uimitor în viitor!

Tynker

După cum am menționat pe scurt în introducere, avem ceva pentru toți părinții voștri. Tynker este o mică platformă distractivă care îi ajută să învețe codificarea copiilor. Se bazează pe o interfață foarte simplă de glisare și plasare, în care copiii se pot amesteca între opțiuni și, sperăm, să rezolve problemele prezentate.

Și nici nu vă înșelați, Tynker este adaptat la standardele moderne mai mult decât credeți. Dacă aveți copii care se strecoară în adolescență, îi puteți lăsa să scrie soluții folosind Python sau JavaScript, mai degrabă decât folosind blocuri singur.

Cuvinte de încheiere: Provocați-vă!

În total, există probabil 10.000 de provocări unice de cod pe toate site-urile și platformele pe care le-am enumerat. Este imposibil să treci peste toate așa.

În schimb, recomandarea mea este să găsești o platformă care crezi că se potrivește cel mai bine nevoilor tale și să te concentrezi doar pe acea singură platformă. Poți să construiești prietenii, să înveți lucruri noi și, cine știe, s-ar putea să înveți suficient obține un nou loc de muncă la o companie bine plătită!

De asemenea, poate doriți să luați în considerare DataCamp pentru a învăța știința datelor, care include provocări și proiecte de codificare.

Apoi, ce zici de a găsi cum să adăugați comentarii în limbaje de programare populare?