Cel mai bun răspuns
Aproape că pare inutil să răspundeți, pentru că ce înțelegeți prin „bun”? Ce doriți să realizați?
Dacă doriți să fiți angajați, s-ar putea să fie o modalitate bună de a fi angajați, dar pare puțin probabil, cu excepția cazului în care sunteți într-adevăr o fotografie foarte bună. Dar este dificil să știi cum ai face. Sunt destul de sigur că există modalități mai bune de a găsi un loc de muncă dacă știi să codezi bine și poți dovedi acest lucru. De exemplu, puneți un cod bun și util pe github.
Am petrecut mult timp acolo recent (de luni întregi). Ca și în cazul oricărui efort de învățare, vă ajută să vă gestionați în timp ce îl faceți. Procesul de a câștiga semne de verificare verzi și monede de aur și ecusoane mai bune poate crea dependență, așa că feriți-vă de un platou neproductiv.
Oamenii critică provocările zilnice, dar realizează că provocarea zilnică este, de asemenea, un proces creativ, iar comentariile secțiunea este acolo pentru a vă ajuta.
Pentru a învăța doar o limbă, există o secțiune Arcade unde puteți rezolva problemele în ritmul propriu. Se pare că îi clasează pe oameni doar după ordinea de finalizare, deci nu trebuie să fii competitiv. Am găsit acest lucru foarte util pentru a mă familiariza cu funcțiile și matricile PHP și lucrez și la utilizarea metodelor OO.
Mi se pare că provocările zilnice sunt foarte interesante, interesante (la momentul respectiv) și provocator. Dacă o poți face întotdeauna, atunci este prea ușor. Citirea descrierii este o artă. Uneori încep să codez prea repede înainte de a cunoaște corect Descrierea și apoi regret. De asemenea, uneori mă gândesc la o soluție care nu este corectă și încep să codific înainte de a înțelege cum să rezolv problema corect. Recent, au existat unele probleme foarte provocatoare, care necesită tehnici de programare dinamică pentru a le rezolva, și au fost trei dintre ele pe care nu le-am putut face în timpul alocat.
Dacă doriți să faceți puzzle-uri provocatoare și să rezolvați problemele în ceea ce privește abilitățile de codare în PHP sau C ++ sau Java sau MySQL sau Javascript sau să învețe un limbaj elegant precum Haskell sau Python sau R sau Ruby etc. atunci aș spune că Codefights este un grozav site pentru a merge.
Răspuns
Am folosit ambele platforme destul de mult pentru a-mi întări structura de date și cunoștințele algoritmilor.
Puncte forte ale Hackerank
- Tone, și mă refer la tone, de întrebări și organizate în piese. Doriți să aflați cum să utilizați Expresii regulate / Java / SQL / Algoritmi / Structuri de date / Python / Math? Fiecare dintre aceste subiecte și altele au căi specifice cu subiecte specifice.
- Dacă utilizați aceste site-uri pentru a obține pregătirea interviului, o mulțime de companii își trimit provocările de codificare prin rangul de hacker, în afară de procesul de interviu. , deci este bine să vă familiarizați. Expedia, GE, Goldman Sachs și Optiver pentru a numi câteva
- Veți obține aproape toate funcționalitățile (dacă nu toate) de pe site-ul gratuit. Pe Leetcode fără abonament plătit, există dezavantaje certe.
- De exemplu, nu vă puteți trimite întotdeauna soluția imediat, datorită modului în care rulează soluția pentru a se clasifica în comparație cu toate celelalte soluții.
- Aproape toate afirmațiile problemă au exemple de 1 sau 2 cazuri de test și răspunsuri și explicații destul de amănunțite de ce răspunsul este așa cum este. Acest lucru este mult mai puțin frecvent în Leetcode.
- Fiecare întrebare postată pe Hackerrank are o soluție verificată în fila „Editorial”. Nu fiecare întrebare Leetcode are una (Deși ați putea obține cu ușurință un răspuns pe ambele platforme, făcând clic pe fila „discuții”).
- Ambele site-uri au cazuri de test vizibile pentru a vă rula codul înainte de a trimite. Hackerrank face o treabă destul de bună de a face din cele vizibile cazurile obișnuite, în timp ce Leetcode folosește aproape întotdeauna o carcasă de margine pentru testul vizibil.
- Hackerrack are legături vim! (Dacă sunteți în acest sens)
Puncte forte Leetcode
- Ceva care îmi place la Leetcode este că au declarații de problemă directe. Hackerrank tinde să aibă introduceri puțin lungi și scenarii desenate care maschează sarcina reală.
- De exemplu: Hackerrank ar putea fi ca „Sally iubește ciocolata, dar numai vrea să mănânce ciocolată cu cea mai mică cantitate de sodiu. Având în vedere o serie de niveluri de sodiu, întoarceți cea mai mică ciocolată cu cel mai scăzut sodiu ”
- Echivalentul Leetcode ar fi„ Având în vedere o serie de numere întregi, întoarceți elementul min ”
- Atât Hackerrank, cât și Leetcode compară costurile de rulare ale algoritmului dvs., sincronizând soluția cu cazurile de testare. Cu toate acestea, odată ce soluția dvs. a fost aprobată, aceasta o listează cu toate soluțiile aprobate în același limbaj de programare și cu procentajul numărului de soluții pe care le bateți pentru viteză.
- Mediul de testare este mult superior. Când introduceți un caz de testare personalizat, acesta rulează și soluția corectă, astfel încât să puteți ști imediat dacă al dvs. este corect sau greșit.Pe Hackerrank, rularea unui caz de test personalizat rulează doar soluția dvs.
- Un alt lucru pe care îl iubesc, pentru fiecare problemă, interfața de codare necesită doar lucrul cu o semnătură de funcție predefinită. În Hackerrank, o mare parte din timp trebuie să vă ocupați de intrare / ieșire și rulează potrivirea șirurilor pentru a valida răspunsul, ceea ce poate deveni puțin enervant
- Serios … de ce ar trebui să tipăresc „DA” sau „ NU ”când echivalentul mai rapid păstrează doar un obiect boolean?
- Leetcode are acea fantezie „ Întrebarea a fost adresată de X Company cu frecvența Y\% ”, pe care îl puteți accesa cu abonamentul. Personal, cred că acest instrument nu este atât de util și dă falsă impresie că oamenii pot memora toate acele întrebări specifice odată ce primesc un interviu cu compania X.
Personal, LeetCode îmi place mai bine și, în cele din urmă, se reduce la ceea ce îl folosiți.
Disclaimer : Acestea sunt opiniile mele cu privire la punctele forte și punctele slabe sunt. În timp ce unii oameni pot considera că o slăbiciune este într-adevăr un punct forte și viceversa.