ఎవరైనా ప్రోగ్రామ్ ఎలా చేయాలో నేర్చుకోవడం ప్రారంభించినప్పుడు , ఒంటరిగా లేదా ఆన్లైన్ కోర్సుల ద్వారా, కొంత డొమైన్ను నొక్కి చెప్పడం మరియు ప్రతిదానిని రూపొందించడం చాలా ముఖ్యం. ఈ ఆర్టికల్లో, కోడ్జిమ్ ఆన్లైన్ ప్రోగ్రామింగ్ కోర్సులో ఉపయోగకరమైన లింక్లతో పాటు ఏదైనా నిర్దిష్ట రకం టాస్క్లు ఎంతవరకు సూచించబడతాయో సూచించడంతో, ప్రారంభకులకు జావా టాస్క్లను మేము మా నిర్మాణాన్ని అందిస్తున్నాము .
భాషా సింటాక్స్తో ప్రాక్టీస్ చేయండి
ప్రారంభకులకు ఇవి మొట్టమొదటి జావా ప్రోగ్రామింగ్ టాస్క్లు — ఫౌండేషన్ — "హలో, వరల్డ్" నుండి లూప్లు మరియు శ్రేణుల వరకు. కోడ్జిమ్లో వాటిలో చాలా ఉన్నాయి: అవి ముఖ్యంగా జావా సింటాక్స్ అన్వేషణలోని మొదటి ఆరు స్థాయిలలో కేంద్రీకృతమై ఉన్నాయి . మీరు వాటిని మరెక్కడైనా వెతకవలసిన అవసరం లేదు. వాటిలో నైపుణ్యం సాధించడానికి మనకు ఖచ్చితంగా సరిపోతుంది. అంతేకాదు, మీరు ఏదైనా కష్టమైన పని చేసినప్పుడు, మీరు స్వయంచాలకంగా వాక్యనిర్మాణాన్ని సమీక్షిస్తారు. కానీ మీరు అకస్మాత్తుగా మీకు అవసరం అనిపిస్తే, ప్రారంభకులకు ఏదైనా జావా పాఠ్య పుస్తకంలో ఇలాంటి సమస్యలు ఉంటాయి. కానీ కోడ్జిమ్లా కాకుండా, ఈ వ్యాయామ పుస్తకాలు తక్షణ పని ధృవీకరణను కలిగి ఉండవు.సేకరణలతో ప్రాక్టీస్ చేయండి
కొత్త ప్రోగ్రామర్లు వారి అధ్యయనాలలో ఎదుర్కొనే మొదటి "తీవ్రమైన" అంశం సేకరణలు. జావా సేకరణలకు అంకితమైన బిగినర్స్ టాస్క్లు కూడా కోడ్జిమ్లో బాగా సూచించబడ్డాయి — జావా సింటాక్స్ అన్వేషణలో ఏడవ మరియు ఎనిమిదవ స్థాయిలలో. ఇక్కడే విద్యార్థి మొదట జావా కలెక్షన్స్ ఫ్రేమ్వర్క్ గురించి వింటాడు మరియు సెట్, లిస్ట్ మరియు మ్యాప్ ఇంటర్ఫేస్లతో పాటు వాటి కొన్ని అమలులతో కొంచెం పని చేస్తాడు. అయితే, ఈ దశలో మీరు ఈ ఉపయోగకరమైన సాధనం మరియు సాధారణ జావా టాస్క్ల పరిచయం మాత్రమే పొందుతారు. జావా సేకరణల అన్వేషణలో మీరు సేకరణలను మరింత క్షుణ్ణంగా అధ్యయనం చేస్తారు . ఈ విషయం ఎంత ముఖ్యమైనదో మీరు చూడవచ్చు — మొత్తం అన్వేషణ దాని పేరు పెట్టబడింది!మినహాయింపులతో ప్రాక్టీస్ చేయండి
జావా అసాధారణమైన పరిస్థితులను నిర్వహించడానికి ప్రత్యేక యంత్రాంగాన్ని అందిస్తుంది, అప్లికేషన్ లోపాలను "క్యాచింగ్" ప్రక్రియను గణనీయంగా సులభతరం చేస్తుంది. కానీ దాని నుండి ఎక్కువ ప్రయోజనం పొందడానికి, జావాలో మినహాయింపు నిర్వహణ ఎలా పని చేస్తుందో మీరు గుర్తించాలి. కోడ్జిమ్లో అటువంటి టాస్క్లు ఉన్నాయి. మీరు మొదటి అన్వేషణలో కూడా వాటిని ఎదుర్కొంటారు - జావా సింటాక్స్.టైప్ కాస్టింగ్తో ప్రాక్టీస్ చేయండి
ఈ టాస్క్ల సమూహాన్ని, వాస్తవానికి, సింటాక్స్లో ప్రాథమిక పనులుగా వర్గీకరించవచ్చు. అయినప్పటికీ, మా వినయపూర్వకమైన అభిప్రాయం ప్రకారం, ప్రజలు తరచుగా అలాంటి పనులను తక్కువగా అభినందిస్తారు మరియు కొత్తవారు వాటిలో తన్నుకుపోతారు. అందుకే మేము అచ్చును విచ్ఛిన్నం చేస్తాము: ఇతరులు తరచుగా చేసే విధంగా మేము చాలా ప్రారంభంలో ఆదిమ రకం మార్పిడి పనులను అధ్యయనం చేయము. బదులుగా, మేము వాటిని కొంచెం తర్వాత పరిష్కరించుకుంటాము - జావా సింటాక్స్ అన్వేషణ చివరిలో. ఆపై మేము జావా కోర్ క్వెస్ట్లో OOPని అధ్యయనం చేసినప్పుడు నాన్-ప్రిమిటివ్ రకాలను (వస్తువులు) ప్రసారం చేయడం నేర్చుకుంటాము . కోడ్జిమ్లో ఈ పనులు తగినంత ఉన్నాయి. మీరు ఇక చూడవలసిన అవసరం లేదు.OOPతో ప్రాక్టీస్ చేయండి
OOP చాలా కష్టమైన అంశం కాదు, కానీ ఇది చాలా ముఖ్యమైనది. మరియు ఇది జూనియర్ డెవలపర్లను పట్టుకోవడానికి ఇంటర్వ్యూయర్లు ఉపయోగించాలనుకునే అనేక సూక్ష్మబేధాలను దాచిపెడుతుంది. ఆబ్జెక్ట్-ఓరియెంటెడ్ ఫిలాసఫీని అర్థం చేసుకోవడంలో మీకు సహాయపడటానికి కోడ్జిమ్ కోర్సు ప్రారంభకులకు ప్రాక్టికల్ ప్రోగ్రామింగ్ టాస్క్లను కలిగి ఉంది. కానీ OOPని నిజంగా అర్థం చేసుకోవడానికి, మీరు సంబంధిత సాహిత్యాన్ని చదవాలని మేము సిఫార్సు చేస్తున్నాము (ఉదాహరణకు, కే హోర్స్ట్మన్ మరియు గ్యారీ కార్నెల్ యొక్క "కోర్ జావా", మెక్లాఫ్లిన్ యొక్క "ఆబ్జెక్ట్-ఓరియెంటెడ్ ఎనాలిసిస్ అండ్ డిజైన్" లేదా ఇతర పుస్తకాలు ) .ఇన్పుట్/అవుట్పుట్ స్ట్రీమ్లతో ప్రాక్టీస్ చేయండి
మేము I/O స్ట్రీమ్లను అర్థం చేసుకోవడానికి చాలా కాలం ముందు వాటిని ఉపయోగించడం ప్రారంభిస్తాము. ఇది జావా, నా యువ గొల్లభామ! System.outని వివరించడం, System.inని విడదీయండి, మీరు మొదట ప్రారంభించినప్పుడు కష్టం మరియు అనవసరం. మీరు జావా కోర్ క్వెస్ట్ ద్వారా పని చేస్తున్నప్పుడు , ఈ కొంత గందరగోళ అంశాన్ని అర్థం చేసుకోవడానికి మీకు తగినంతగా తెలుసు, మరియు మేము కన్సోల్ I/O గురించి మాత్రమే కాకుండా ఫైల్ సిస్టమ్తో కూడా పని చేస్తాము. ప్రధాన విషయం ఏమిటంటే, ఈ పనులను దాటవేయడం (కోడ్జిమ్లో చాలా ఉన్నాయి) మరియు స్థిరంగా సిద్ధాంతాన్ని పరిశోధించడం.పొడుపు కథలు
"బ్రెయిన్టీజర్లు" అంటే, మీకు తెలిసిన వాటిని సంప్రదాయేతర మార్గాల్లో వర్తింపజేయగల సామర్థ్యంతో పాటు జ్ఞానం గురించి అంతగా లేని సంక్లిష్టతతో కూడిన పనులు అని మేము అర్థం. జూనియర్ జావా డెవలపర్కి ఇవి సాధారణ పనులు. కంపెనీలు ఇంటర్వ్యూల సమయంలో వారిని అడగడానికి చాలా ఇష్టపడతాయి, కానీ నిజమైన పనిలో, ఇటువంటి బ్రెయిన్టీజర్లు చాలా తరచుగా ఎదుర్కోరు. కాబట్టి కోడ్జిమ్లో కొన్ని ఉన్నాయి, కానీ చాలా ఎక్కువ కాదు (మీరు వీటిని సాధారణంగా కెప్టెన్ స్క్విరెల్స్ పాఠాలలో చూస్తారు). నేను బ్రెయిన్టీజర్లను ఎక్కడ కనుగొనగలను?- https://javahungry.blogspot.com/2014/03/java-programming-puzzles-tackling-brainteaser-in-java-interv...
- https://howtodoinjava.com/java-interview-puzzles-answers/
- https://www.codechef.com/
- https://www.codewars.com/?language=java
అల్గోరిథంలు మరియు డేటా నిర్మాణాలు
అల్గారిథమ్లు మరియు డేటా స్ట్రక్చర్ల విషయానికొస్తే, భవిష్యత్ ప్రోగ్రామర్కు అవి ఎంత అవసరమో నిరంతరం చర్చ జరుగుతుంది. మేము మరోసారి సమాధానం ఇస్తాము: సరైన మనస్తత్వాన్ని ఏర్పరచుకోవడానికి అవి చాలా అవసరం, కానీ అవి పని కోసం చాలా అరుదుగా అవసరం. దీనికి కారణం జావా, అలాగే ఇతర ప్రోగ్రామింగ్ లాంగ్వేజ్లు, క్రమబద్ధీకరించడం, శోధించడం మరియు మరిన్నింటి కోసం ఊహించదగిన ప్రతి అల్గోరిథం యొక్క అమలులతో కూడిన లైబ్రరీలను కలిగి ఉంటాయి. అయినప్పటికీ, అల్గోరిథం యొక్క మీ స్వంత అమలును వ్రాయడం చాలా ఉపయోగకరంగా ఉంటుంది మరియు దాని సంక్లిష్టత గురించి మీకు ఒక ఆలోచనను అందిస్తుంది. ముఖ్యంగా గణితాన్ని ఉన్నత పాఠశాలలో మాత్రమే చదివిన వారికి. ప్రాథమికంగా, ఈ టాస్క్లను ఒకే తేడాతో బ్రెయిన్టీజర్లతో పరస్పరం మార్చుకోవచ్చు, అవి అన్నీ వివరించబడ్డాయి మరియు ఆన్లైన్లో పదేపదే పరిష్కరించబడతాయి. మీకు వాలిడేటర్ సాధనం కూడా అవసరం లేదు. ప్రిన్స్టన్ విశ్వవిద్యాలయం నుండి ఏదైనా కోర్సును ఎంచుకోండిలేదా కాలిఫోర్నియాలోని కళాశాల . డేటా నిర్మాణాలతో ప్రాక్టీస్ చేయండి:మల్టీథ్రెడింగ్
ఎవరైనా "హలో, వరల్డ్!" అని వ్రాయవచ్చు. కార్యక్రమం. ప్రత్యేక థ్రెడ్ నుండి ప్రసిద్ధ పదబంధాన్ని ప్రదర్శించడానికి Java Thread APIని ఉపయోగించడం ఎలా? లేదా "హలో, వరల్డ్!" ప్రదర్శించడం ఎలా తీగలను కలపకుండా ఐదు వేర్వేరు థ్రెడ్ల నుండి ఐదు సార్లు? మీరు జావా కోర్ని అధ్యయనం చేస్తున్నప్పుడు మల్టీథ్రెడింగ్ ఉత్తమ "మీ శక్తికి పరీక్ష" అవుతుంది. జావా మల్టీథ్రెడింగ్ అని పిలువబడే మొత్తం కోడ్జిమ్ అన్వేషణ ఈ అంశానికి అంకితం చేయబడింది, ఇది చాలా సులభం కాదు. విద్యార్థులు సమాంతర ప్రాసెసింగ్ యొక్క "నొప్పి మరియు అందం" అనుభూతి చెందడానికి ఇది భారీ సంఖ్యలో పనులను కలిగి ఉంది. విద్యార్థుల మొదటి "నిజమైన" ప్రాజెక్ట్లు సాధారణంగా కొంత స్థాయి మల్టీథ్రెడింగ్ను కలిగి ఉంటాయి. ఉదాహరణకు, సాధారణ ఆటలు.
మల్టీథ్రెడింగ్తో ప్రాక్టీస్ చేయండి ఐదుగురు నిశ్శబ్ద తత్వవేత్తలు ఒక రౌండ్ టేబుల్ వద్ద కూర్చున్నారు. వాటిలో ప్రతిదాని ముందు స్పఘెట్టి ప్లేట్ ఉంది. ప్రతి తత్వవేత్త మధ్య పట్టికలో ఫోర్కులు ఉన్నాయి (ఒకటి ఎడమ మరియు మరొకటి). ప్రతి తత్వవేత్త లోతైన ఆలోచనలను తినవచ్చు లేదా ఆలోచించవచ్చు. కానీ అతను లేదా ఆమె రెండు ఫోర్కులు పట్టుకుంటే, అంటే ఎడమవైపు మరియు కుడి వైపున ఉన్నదాన్ని తీయడం ద్వారా మాత్రమే తినవచ్చు. "పిక్ అప్ ఫోర్క్" మరియు "పుట్ డౌన్ ఫోర్క్" అనేవి వరుసగా నిర్వహించబడే విభిన్న చర్యలు. |
జెనరిక్స్తో ప్రాక్టీస్ చేయండి
సాధారణీకరణ అనేది ఆటోమేషన్ యొక్క సారాంశం, కాబట్టి కొంత కోణంలో ఇది ప్రోగ్రామింగ్ యొక్క సారాంశం. దీని ప్రకారం, మేము జావాలో జెనరిక్స్ అంశాన్ని విస్మరించలేము. CodeGym జెనరిక్స్తో కూడిన ప్రోగ్రామింగ్ టాస్క్లను కలిగి ఉంది (ప్రధానంగా జావా కలెక్షన్స్ క్వెస్ట్లో, లెవెల్ 5 నుండి ప్రారంభమవుతుంది). జెనరిక్స్పై ఉపయోగకరమైన వ్యాయామాలు మరియు మెటీరియల్లను నేను ఎక్కడ కనుగొనగలను?- https://docs.oracle.com/javase/tutorial/java/generics/QandE/generics-questions.html
- https://www.geeksforgeeks.org/generics-in-java/
- http://www.angelikalanger.com/GenericsFAQ/FAQSections/ProgrammingIdioms.html
- బ్రూస్ ఎకెల్ ద్వారా "ఎఫెక్టివ్ జావా"
డిజైన్ నమూనాలతో ప్రాక్టీస్ చేయండి
ఏదో ఒక సమయంలో (కోడ్జిమ్ కోర్సు ద్వారా మూడింట రెండు వంతుల), ప్రారంభ ప్రోగ్రామర్లు ప్రోగ్రామింగ్లో మంచి ఫారమ్ను సాధించడానికి నియమాలను చూడటం ప్రారంభించాలి. మేము సరైన కోడ్ ఫార్మాటింగ్ (సరళమైన) మరియు డిజైన్ నమూనాల (మరింత కష్టం) గురించి మాట్లాడుతున్నాము. కోడ్జిమ్లో దీని కోసం టాస్క్లు ఉన్నాయి. మీకు మరిన్ని అవసరం మరియు మీరు వాటిని ఎలిసబెత్ ఫ్రీమాన్ మరియు కాథీ సియెర్రా యొక్క " హెడ్ ఫస్ట్ డిజైన్ ప్యాటర్న్స్ " లో కనుగొనవచ్చు . లేదా గతంలో పరిష్కరించబడిన పనులకు మీరు డిజైన్ నమూనాలను ఎలా వర్తింపజేయవచ్చు అనే దాని గురించి మీరు ఆలోచించవచ్చు.యూనిట్ పరీక్ష
ఏదైనా ప్రోగ్రామర్కు ఒక ముఖ్యమైన నైపుణ్యం, తరచుగా పొరపాటున కేవలం పరీక్షకులకు మాత్రమే ఆపాదించబడుతుంది, అతని లేదా ఆమె స్వంత కోడ్ కోసం యూనిట్ పరీక్షలను వ్రాయగల సామర్థ్యం. CodeGym యూనిట్ పరీక్షలకు సంబంధించి కొన్ని టాస్క్లను కలిగి ఉంది, కానీ మీరు నిజంగా మరిన్ని శోధించాల్సిన అవసరం లేదు. యూనిట్ పరీక్షలను ఎలా వ్రాయాలో మీరు అర్థం చేసుకున్నప్పుడు, వారితో మీ కోడ్ను (సొంత ప్రాజెక్ట్లలో, మీ అధ్యయనాలలో) కవర్ చేయడం అలవాటు చేసుకోండి. కన్సోల్ అవుట్పుట్తో తనిఖీలు చేయడం కంటే ఇది చాలా సహాయకారిగా ఉంటుంది, ఇది సాధారణంగా విద్యార్థి ప్రోగ్రామర్లను ప్రభావితం చేస్తుంది. అదనంగా, చాలా తరచుగా కొత్త జూనియర్ డెవలపర్లు కంపెనీలలో పని చేసే మొదటి విషయం వేరొకరి కోడ్ కోసం యూనిట్ పరీక్షలను వ్రాయడం.సాధారణ వ్యక్తీకరణలతో ప్రాక్టీస్ చేయండి
ఇది దాదాపుగా ప్రారంభకులకు అర్థం కాని సాధారణ అంశం, ఎందుకంటే ఇది తెలియనిది మరియు వారు సోమరితనం. టాపిక్ని అధ్యయనం చేయడానికి కొన్ని రోజులు గడపడం, "రెజెక్స్" యొక్క దిగువ స్థాయికి చేరుకోవడం మరియు అలా చేయని వారిపై ప్రయోజనాన్ని పొందడం నిజంగా విలువైనదే. సాధారణ వ్యక్తీకరణలు దాదాపు భాష-స్వతంత్రంగా ఉంటాయి కాబట్టి ఇది కూడా ఉపయోగకరంగా ఉంటుంది: మీరు వాటిని ఒకసారి నేర్చుకుంటే, మీరు వాటిని ప్రతిచోటా ఉపయోగించగలరు. కోడ్జిమ్లో సాధారణ వ్యక్తీకరణలకు అంకితమైన టాస్క్లు ఏవీ లేవు, అయితే కొన్ని వాటి సహాయంతో పరిష్కరించబడతాయి. ఈ అంశాన్ని అర్థం చేసుకోవడానికి ఇక్కడ అదనపు వనరులు ఉన్నాయి:- regex101.com — మీరు ఆన్లైన్లో సాధారణ వ్యక్తీకరణలను తనిఖీ చేయగల వెబ్సైట్
- మైక్ ఫిట్జ్గెరాల్డ్ యొక్క "ఇంట్రడ్యూసింగ్ రెగ్యులర్ ఎక్స్ప్రెషన్స్" — సంక్షిప్త మరియు సరళమైన ప్రైమర్.