Test your might

Eu unul programez în Python dar am ajuns aici fără studiu (liceu/facultate), din domenii ce nu am legătură cu programarea. Consider că îmi lipsesc anumite cunoștințe și mi-ar plăcea să mă laud că pot rezolva și eu ceva teste de algoritmică și mai știu eu ce.

Nu sunt convins că rezolvarea unor probleme de genul mă vor ajuta direct să cresc mai repede în carieră dar cel puțin un exercițiu pentru Creier este mereu bine venit.

Voi vă testați cunoștințele? Puteți recomanda o platformă ce oferă și lecții?

2 Likes

Un site pentru asa ceva e https://leetcode.com/ Eu unul m-am inscris cu avant revolutionar, am facut pe fast forward peste 50 de problemase de-alea, apoi m-am plictisit de moarte de ele. Prefer lucruri mai interesante…

3 Likes

Eu mi-am facut cont pe HackerRank. Sunt probleme de algoritmica, baze de date, linux

Ai un editor unde scrii codul si partea buna este ca este testat.

Este si Python printre limbajele suportate

Pe langa acela, poti sa te uiti si pe https://www.geeksforgeeks.org/ . Acolo sunt probleme de algoritmica diverse.

3 Likes

Parerea mea este ca platforma care ofera cele mai bune lectii este realitatea, nu saiturile care propun exercitii neancorate in viata curenta. Daca incerci sa rezolvi probleme sau proiecte reale, complicate, din mediul unde lucrezi sau din alte domenii, sa gasesti solutii sau macar sa te gandesti cum s-ar face anumite lucruri nu numai ca iti vei verifica nivelul dar vei constata ca acesta se va ridica si mult si repede.

1 Like

Gândul meu este că deși rezolv problemele de zi cu zi fac asta cu propriile metode ce uneori sunt mai degrabă bogde-uri decât soluții. Astfel de teste mă forțează să mă familiarizez cu metode noi și mă îndrumă către best-practices.

E un domeniu mare, nu o sa poti aprofunda chiar tot. Dar …

O prima strategie e sa te uiti pe cursurile de la poli/ub/mit etc si sa vezi cam cum arata programa de anii 1-2-3. Sigur ai sa identifici niste chestii care (1) te intereseaza si (2) le poti aborda si (3) obtii un win imediat din cauza ca le studiezi. Cel mai util aici IMO e sa urmezi o carte sau mai multe din cele recomandate de la cursurile respective (in engleza ofc) si sa intelegi materia si sa faci probleme. Sigur, dureaza si cel mai mult asta din nefericire.

Daca n-ai rabdare - citeste “Skiena - Algorithm Design Manual” si ai un head start.

Platforme precum hackerrank, leetcode, topcoder etc sunt misto si utile, dar intr-un context mai restrans. Mie mi se par bune ca exercitii de amintire a unor concepte si de practica a altora intr-un context aproape “game like”. Sunt distractive, dar cum spune si @anon31094663, cu moderatie ca altfel te saturi de ele. In principiu o sa inveti algoritmi si alte chestii elementare care se preteaza abordarii astea atomice de cunostinte. Nu o sa devii inginer mai bun in urma lor. Ditto - si asta e parerea mea - nu prea sunt bune ca unelte de invatare. Nu o sa inveti $subiect de acolo, ci mai degraba o sa-l aprofundezi si/sau devii mai familiar cu el. Dar cumva daca nu te prinzi ca iti trebuie $subiect ca sa rezolvi o problema, nu o sa faci tu toata teoria de la zero.

3 Likes