CodeGym /Java Blog /Random /Pagtugon sa suliranin. Paano Palakasin ang Iyong Kakayaha...
John Squirrels
Antas
San Francisco

Pagtugon sa suliranin. Paano Palakasin ang Iyong Kakayahang Lutasin ang Mga Gawain at Hamon sa Programing

Nai-publish sa grupo
Ang kakayahang harapin ang mga kumplikadong problema sa programming at lutasin ang mga ito sa pamamagitan ng paghahanap ng mga di-halata, nakakatawa o simpleng functional na solusyon na mabilis na sapat ay isa sa mga pangunahing kasanayan para sa anumang software developer, at ito ay kadalasang ginagamit upang suriin ang propesyonal na antas at kakayahan ng isang programmer. Ang diskarte at mga kasanayan sa paglutas ng problema ay kung ano ang pagkakaiba ng isang Senior coder mula sa isang walang karanasan Junior . At ito ay hindi nakakagulat dahil ang paglutas ng problema ay ang kasanayan na dahan-dahan mong nabubuo sa buong karera mo sa pagbuo ng software sa pamamagitan ng pagharap sa iba't ibang uri ng mga problema na hindi mo maiiwasang kakaharapin kapag nagtatrabaho sa larangang ito.Pagtugon sa suliranin.  Paano Palakasin ang Iyong Kakayahang Lutasin ang mga Gawain at Hamon sa Programing - 1Ang pagiging mas mahusay sa paglutas ng problema sa programming ay ang naiintindihan ng maraming developer, dahil ang katangiang ito ay magkakaroon ng direktang epekto sa bilis ng iyong propesyonal na pag-unlad at paglago ng karera mula sa Junior Developer hanggang Senior at higit pa sa landas ng karera. Mayroong maraming mga paraan upang maging mas mahusay sa paglutas ng mga problema. Narito ang ilang rekomendasyon at paraan para i-level-up ang mahahalagang meta-skill na ito.

1. Tiyaking naiintindihan mo ang problema

Bilang isang bagay sa simula, ito ay palaging mabuti upang matiyak na talagang naiintindihan mo ang problema. Ang isang paraan upang suriin kung naiintindihan mo ito o hindi ay ang subukang ipaliwanag ito sa mga simpleng termino, alinman sa pasalita o pasulat. Kung hindi mo maipaliwanag ang problema, nangangahulugan ito na hindi mo ito lubos na naiintindihan. Ang pagsasanay nito ay makakatulong sa iyo na makita ang mga bahid sa iyong pag-unawa at ayusin ang mga ito.

2. Hatiin ang problema sa maliliit na problema

Sa pagtiyak na naiintindihan mo ang problema, makabubuting hatiin ito sa ilang mas maliliit na problema na mas madaling lutasin. Kung kakaiba sa iyo ang pamamaraang ito ng pagharap sa lahat ng uri ng mga problema, marahil magandang ideya na maging pamilyar sa computational thinking , na isang hanay ng mga pamamaraan sa paglutas ng problema.

3. Planuhin muna ang solusyon

Ang isa pang magandang ideya ay ang bumuo muna ng plano ng solusyon, sa halip na salakayin kaagad ang problema. Dapat mong bigyan ang iyong sarili ng oras upang pag-aralan ang problema at iproseso ang data. Pagkatapos ay subukang magplano ng solusyon sa pamamagitan ng pagsusulat ng mga hakbang nito.

4. Lutasin ang mga problema sa programming sa iba't ibang platform ng paghahanda

Ang pagsasanay sa iba't ibang mga platform ng paghahanda para sa mga programmer at mga panayam sa programming ay talagang makakatulong sa pagpapabuti ng iyong mga kasanayan sa paglutas ng problema. Lalo na kung gagamit ka ng ilang mga platform upang pag-iba-ibahin ang mga problemang iyong ginagawa hangga't maaari. Narito ang ilang mga platform na maaari mong gamitin:
  • LeetCode

    Isa sa mga pinakasikat na tech interview platform na may malaking komunidad at higit sa 1650 problema para sa iyo na magsanay. Sinusuportahan ang 14 programming language kabilang ang Java.

  • Cake ng Panayam

    Isa pang kilalang website na may lahat ng uri ng nilalaman para sa mga programmer, kabilang ang mga gawain sa pagprograma, artikulo, tip at maraming tanong sa panayam.

  • HackerEarth

    Bukod sa mga problema sa programming, pinapayagan ka ng platform na ito na subukan ang iyong sarili sa mga kunwaring panayam, pati na rin ang lumahok sa mga coding competition at hackathon.

5. Gamitin ang CodeGym para magsanay at matutunan kung paano lapitan ang mga problema sa programming

Ang kursong CodeGym , kasama ang practice-first approach nito at higit sa 1200 na mga gawain na may iba't ibang uri at iba't ibang kahirapan, ay magiging isang mahusay na tool para sa parehong pagsasanay sa paglutas ng mga praktikal na problema at matutunan ang mga pangunahing kaalaman sa pagharap sa mga ito.

6. Maglaro ng coding games para magsanay sa paglutas ng problema habang nagsasaya

Ang paglalaro ng mga sikat na coding game ay isa pang mahusay na paraan upang sanayin ang iyong utak upang malutas ang mga problema sa programming sa isang masaya at kapana-panabik na kapaligiran. Ito ang isa sa mga pangunahing dahilan kung bakit napakaraming elemento ng gamification ang CodeGym. Ang ilang iba pang sikat na coding game na aming irerekomenda ay kasama ang Robocode, Codewars, CodeMonkey, at Elevator Saga.

7. Palawakin ang iyong kaalaman sa mga pattern ng disenyo, algorithm at istruktura ng data

Kung ang iyong mga kasanayan sa paglutas ng problema ay hindi masyadong kahanga-hanga at madalas kang natigil sa pagsisikap na lutasin ang isang problema, marahil magandang ideya na palakasin ang iyong pundasyon ng teorya sa pamamagitan ng pag-dive sa ilang mga asignaturang nauugnay sa programming gaya ng matematika, istruktura ng data , at algorithm . . Ang pag-aaral tungkol sa mga pattern ng disenyo ay magiging lalong kapaki-pakinabang dahil pinapayagan ka nitong kabisaduhin ang mga template na kadalasang ginagamit upang lapitan ang ilang mga problema.

8. Kumuha ng feedback

Panghuli, ang pagkuha ng feedback mula sa mga totoong tao tungkol sa iyong mga solusyon ay mahalaga. Ang feedback ay isa sa mga pinakamahalagang salik sa iyong paglago bilang isang propesyonal na developer sa pangkalahatan, dahil nagbibigay-daan ito sa iyong tukuyin at ayusin ang mga bahid sa iyong mga kasanayan at mga pattern ng pag-iisip. Sa pamamagitan ng paraan, ang feedback at pakikipag-ugnayan, bilang isang paraan upang palakasin ang iyong pag-unlad, ay din ang dahilan kung bakit ang CodeGym ay may napakaraming social na tampok at hinihikayat ang mga mag-aaral na gamitin ang mga ito.

Payo ng eksperto

Upang tapusin ito, narito ang ilang karagdagang rekomendasyon sa pagharap sa mga problema sa programming mula sa mga may karanasang developer at coder. “Makipag-usap sa mga tao — humanap ng taong makakalutas ng ilan sa mga mas mahirap na iyon at tingnan kung naiintindihan mo ang solusyon, at — mas mabuti pa — unawain kung paano mo naisip ang solusyong iyon sa simula pa lang. Kung gumagamit ito ng <clever algorithm> na hindi mo pa nakikita dati, kailangan mong gumugol ng oras sa pag-aaral ng matatalinong algorithm. Kung gumagamit ito ng mga sangkap na alam mo sa mga hindi inaasahang paraan, obserbahan kung paano isinalin ang problema mula sa orihinal nitong anyo patungo sa anyo na nagbubunga sa mga kilalang sangkap na iyon, at ulitin. Pagkatapos ng ilan sa mga pag-ikot na iyon, dapat kang maging mas kumportable sa pagharap sa mahihirap na problema," nagrerekomendaAlon Amit, isang makaranasang programmer at Bise Presidente sa Intuit. “Dapat ay nilulutas mo ang mga problemang sa tingin mo ay hindi mo kayang lutasin, ngunit huwag masyadong kumpiyansa at huwag subukang lutasin ang pinakamahirap na problema. Dapat kang maghanap ng mga problema sa pamamagitan ng mga algorithm o tag. Kapag natutunan mo ang ilang algorithm, maghanap ng ilang problema na nangangailangan nito at lutasin ang mga ito gamit ang algorithm na natutunan mo lang," iminumungkahi ni Martin Kocijan, isa pang coding veteran. Ngunit huwag lumampas, ang paggugol ng masyadong maraming oras at lakas sa paglutas ng mga problema sa programming ay maaaring hindi masyadong mahusay, nagbabalaJacek Podkanski, isang programmer na may maraming taon ng karanasan sa coding mula sa England: “Huwag subukang labanan ito. Nagkamali ako sa paglutas ng maraming puzzle sa Hackerrank. Huminto lang ako noong sinimulan ako ng mga tao na babalaan na kung magpapatuloy ako ay masisira ko ang aking kakayahang magtrabaho. Tumigil ka na bago pa huli ang lahat."
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION