హాయ్! ఈ రోజు మనం జావా డెవలపర్ యొక్క వృద్ధి మార్గం గురించి మాట్లాడుతాము మరియు డిమాండ్లో ఉండటానికి అతను లేదా ఆమె తప్పక తెలుసుకోవలసినది. ఇంటర్వ్యూలో, ఏదైనా డెవలపర్ ఉద్యోగ అభ్యర్థిని గ్రిల్ చేయవచ్చు. ఉదాహరణకు, వారు తమ ప్రస్తుత ప్రాజెక్ట్లో ఎదుర్కొన్న నిర్దిష్ట అంశాల గురించి ప్రశ్నలు అడగడం ప్రారంభించవచ్చు. కానీ అవన్నీ మామూలే అని తెలియదు. కొన్ని ప్రశ్నలకు సమాధానం చెప్పలేకపోవడం కూడా సహజమే. సాధారణ నియమంగా, ప్రతి జావా ప్రోగ్రామర్ తప్పనిసరిగా సాఫ్ట్వేర్ అభివృద్ధిపై ప్రాథమిక అవగాహన కలిగి ఉండాలి. కాబట్టి "ప్రాథమిక"గా పరిగణించబడే వాటిని పరిశీలిద్దాం.
మీరు దీన్ని మొదటి స్థానంలో ఉంచాలి, కాబట్టి మీరు స్ప్రింగ్ అంటే ఏమిటో అర్థం చేసుకోవచ్చు - స్ప్రింగ్ కంటైనర్లు, బీన్స్, DI, IoC మొదలైన వాటి గురించి. మాట్లాడటానికి, స్ప్రింగ్ ఉపయోగించి చాలా తత్వశాస్త్రం అర్థం చేసుకోవడానికి. స్ప్రింగ్ ఫ్రేమ్వర్క్ల గురించి మీ తదుపరి అధ్యయనం ఈ స్థావరంపై ఆధారపడి ఉంటుంది. బహుశా మీరు మీ స్వంత చిన్న అప్లికేషన్ను సృష్టించాలి, దానిలో మీరు కొత్తగా నేర్చుకున్న అన్ని సాంకేతికతలను క్రమంగా పొందుపరచవచ్చు.
ఇంతకుముందు మేము డేటాబేస్ కనెక్షన్ని సృష్టించే సాంకేతికతగా JDBCని పేర్కొన్నాము. సాధారణంగా, సాంకేతికత యొక్క "నేక్డ్" ఉపయోగం ఇకపై ప్రాజెక్ట్లలో కనుగొనబడదు, కాబట్టి మీరు JDBC నేర్చుకోవడం అవసరం లేదని నిర్ధారించవచ్చు. ఇది చాలా సరైన వైఖరి కాదు. JDBC యొక్క నేక్డ్ (ప్రత్యక్ష) వినియోగాన్ని అన్వేషించడం ద్వారా, మీరు సాంకేతికతను తక్కువ స్థాయిలో చూడవచ్చు మరియు దాని సమస్యలు మరియు లోపాలను అర్థం చేసుకోవచ్చు. మీరు స్ప్రింగ్ JDBC నేర్చుకోవడం ప్రారంభించినప్పుడు, ఈ ఫ్రేమ్వర్క్ సరిగ్గా ఏమి మెరుగుపరుస్తుంది, ఆప్టిమైజ్ చేస్తుంది మరియు దాచిపెడుతుంది.
నేకెడ్ JDBCతో పరిస్థితికి సారూప్యంగా, ఈ ఫ్రేమ్వర్క్ ఇప్పటికే ఉన్న సాంకేతికతను ప్రభావితం చేస్తుంది, ఈ సందర్భంలో, హైబర్నేట్. మీరు స్ప్రింగ్ లేకుండా హైబర్నేట్ని ఉపయోగించడాన్ని పరిశీలిస్తే, స్ప్రింగ్ హైబర్నేట్ అందించే ప్రయోజనాలను మీరు ఖచ్చితంగా గ్రహిస్తారు.
ఇంతకుముందు మేము JPA గురించి మాట్లాడాము మరియు ఇది వివిధ అమలులను కలిగి ఉన్నప్పటికీ, ఇది కేవలం స్పెసిఫికేషన్ మాత్రమే అని పేర్కొన్నాము. ఈ అమలులలో, హైబర్నేట్ ఆదర్శానికి దగ్గరగా ఉంటుంది. స్ప్రింగ్ దాని స్వంత ఆదర్శవంతమైన JPA అమలును కలిగి ఉంది, ఇది హుడ్ కింద హైబర్నేట్ను ఉపయోగిస్తుంది. ఇది JPA స్పెసిఫికేషన్ యొక్క ఆదర్శానికి వీలైనంత దగ్గరగా ఉంటుంది. దీనిని స్ప్రింగ్ JPA అంటారు. ఒక్క మాటలో చెప్పాలంటే, ఇది డేటాబేస్ యాక్సెస్ను చాలా సులభతరం చేస్తుంది. మీరు JDBC, హైబర్నేట్, స్ప్రింగ్ JDBC లేదా స్ప్రింగ్ హైబర్నేట్ నేర్చుకోకుండా JPA మాత్రమే నేర్చుకోవచ్చు. కానీ మీరు ఈ విధానాన్ని తీసుకుంటే, డేటాబేస్కు ఎలా కనెక్ట్ చేయాలనే దానిపై మీ జ్ఞానం చాలా ఉపరితలంగా ఉంటుంది.
ఈ సాంకేతికత మా అప్లికేషన్ యొక్క వెబ్ ఇంటర్ఫేస్ని వినియోగదారులకు ప్రదర్శించడాన్ని సాధ్యం చేస్తుంది మరియు ఇంటర్ఫేస్ మరియు మిగిలిన అప్లికేషన్ల మధ్య కమ్యూనికేషన్ను సులభతరం చేస్తుంది. మీరు డిస్ప్లేను నిర్వహించడానికి బాధ్యత వహించే అప్లికేషన్ను కలిగి ఉన్నప్పుడు మరియు మీరు RESTful సాంకేతికతను ఉపయోగించి అప్లికేషన్తో పరస్పర చర్య చేస్తున్నప్పుడు కూడా సాంకేతికతను డిస్ప్లే లేకుండా ఉపయోగించవచ్చు . స్ప్రింగ్ గురించి సమాచారాన్ని బాగా నానబెట్టడానికి, కథనాలు మరియు YouTube ఉపన్యాసాలతో పాటు, మీరు అనేక పుస్తకాలను చదవవచ్చు. క్రైగ్ వాల్స్ రాసిన "స్ప్రింగ్ ఇన్ యాక్షన్" పుస్తకం నాకు బాగా నచ్చింది. మీకు ఇంగ్లీష్ బాగా తెలిస్తే 6వ వెర్షన్ చదవమని నేను మీకు సలహా ఇస్తున్నాను. స్ప్రింగ్పై మరో గొప్ప పుస్తకం "స్ప్రింగ్ 5 ఫర్ ది ప్రొఫెషనల్స్". ఇది మరింత దట్టమైనది. కవర్ చేయడానికి కవర్ చదవడం కంటే చేతిలో దగ్గరగా ఉంచుకోవడం విలువైన సూచన లాంటిది.
ఈ సాంకేతికత స్ప్రింగ్ వినియోగాన్ని చాలా సులభతరం చేస్తుంది. నేను దానిని లిస్ట్ చివరలో పెట్టలేదు. నిజానికి, ఇది హుడ్ కింద చాలా దాచిపెడుతుంది మరియు వనిల్లా స్ప్రింగ్ గురించి తెలియని వారికి, చాలా పాయింట్లు అస్పష్టంగా లేదా అపారమయినవిగా ఉండవచ్చు. ముందుగా, స్ప్రింగ్ ఫ్రేమ్వర్క్లు ఎలా పని చేస్తాయో బాగా అర్థం చేసుకోవడానికి, మీరు రెగ్యులర్ స్ప్రింగ్ని ఉపయోగించాలి, ఆపై స్ప్రింగ్ బూట్ని ఉపయోగించడం వల్ల అన్ని అధిక ప్రయోజనాలను పొందాలి. స్ప్రింగ్ సెక్యూరిటీ మరియు స్ప్రింగ్ AOP గురించి మీకు పరిచయం ఉండాలని కూడా నేను సిఫార్సు చేస్తున్నాను. కానీ పైన ఉన్న సాంకేతికతలకు భిన్నంగా, ఈ రెండింటి గురించి లోతైన జ్ఞానం ఇంకా అవసరం లేదు. ఈ సాంకేతికత ప్రారంభకులకు కాదు. ఇంటర్వ్యూలలో, జూనియర్ దేవ్లను వారి గురించి అడగరు (ఒక ఉపరితల ప్రశ్న తప్ప, బహుశా). ఈ సాంకేతికతలు ఏమిటి మరియు వాటి పని వెనుక ఉన్న సూత్రాల యొక్క అవలోకనాన్ని చదవండి. ఈ వ్యాసంలో, పుస్తకాలు చదవడం గురించి పదే పదే చెప్పాను. ఒక వైపు, ఇది తప్పనిసరి కాదు. ఆన్లైన్ కథనాలు మరియు శిక్షణ వీడియోల నుండి అవసరమైన అన్ని జ్ఞానాన్ని పొందడం ద్వారా మీరు ఒక్క పుస్తకాన్ని చదవకుండానే ప్రోగ్రామర్గా మారవచ్చు. మరోవైపు, జాబ్ మార్కెట్లో, అనుభవం లేని డెవలపర్ల మధ్య పోటీ ప్రస్తుతం ఎక్కువగా ఉంది, ఇది ఒక అనుభవశూన్యుడు తెలుసుకోవలసిన వాటి కోసం బార్ను పెంచుతుంది. కాబట్టి, మీకు ఎంత ఎక్కువ తెలిస్తే, మీ జ్ఞాన స్థాయితో ఇంటర్వ్యూయర్ను ఆకట్టుకోవడం ద్వారా మీరు మీ మొదటి ఉద్యోగాన్ని వేగంగా కనుగొంటారు. అందరికీ ధన్యవాదాలు, మరియు జావా మీతో ఉండవచ్చు. ఇది ఒక అనుభవశూన్యుడు తెలుసుకోవలసిన వాటి కోసం బార్ను పెంచుతుంది. కాబట్టి, మీకు ఎంత ఎక్కువ తెలిస్తే, మీ జ్ఞాన స్థాయితో ఇంటర్వ్యూయర్ను ఆకట్టుకోవడం ద్వారా మీరు మీ మొదటి ఉద్యోగాన్ని వేగంగా కనుగొంటారు. అందరికీ ధన్యవాదాలు, మరియు జావా మీతో ఉండవచ్చు. ఇది ఒక అనుభవశూన్యుడు తెలుసుకోవలసిన వాటి కోసం బార్ను పెంచుతుంది. కాబట్టి, మీకు ఎంత ఎక్కువ తెలిస్తే, మీ జ్ఞాన స్థాయితో ఇంటర్వ్యూయర్ను ఆకట్టుకోవడం ద్వారా మీరు మీ మొదటి ఉద్యోగాన్ని వేగంగా కనుగొంటారు. అందరికీ ధన్యవాదాలు, మరియు జావా మీతో ఉండవచ్చు.
1. ప్రాథమిక అల్గోరిథంలు
ప్రోగ్రామింగ్ (జావా మాత్రమే కాదు) నేర్చుకోవడం ప్రారంభించినప్పుడు పరిష్కరించాల్సిన మొదటి విషయం ప్రాథమికాలను అర్థం చేసుకోవడం. ఉదాహరణకు, అల్గోరిథంలు. వాటిలో అనంతమైన సంఖ్యలు ఉన్నాయి మరియు వీలైనన్ని ఎక్కువ అల్గారిథమ్లను నేర్చుకునేందుకు ప్రయత్నిస్తున్న మీ జీవితంలోని మొత్తం సంవత్సరాలను మీరు చంపకూడదు: వాటిలో చాలా వరకు మీకు ఉపయోగపడవు. మీరు "గ్రోకింగ్ అల్గారిథమ్స్" పుస్తకం నుండి అవసరమైన కనీస జ్ఞానాన్ని పొందవచ్చు. మీరు ప్రారంభించడానికి ఇది సరిపోతుంది, కానీ మీకు కావాలంటే, మీరు రాబర్ట్ సెడ్జ్విక్ మరియు కెవిన్ వేన్ రచించిన "స్ట్రక్చర్స్ అండ్ అల్గారిథమ్స్" లేదా "జావాలో అల్గారిథమ్స్" పుస్తకం నుండి నేర్చుకోవచ్చు. కంప్యూటర్ సైన్స్ బేసిక్స్పై మీ పరిజ్ఞానాన్ని మెరుగుపరచుకోవాలని కూడా నేను సిఫార్సు చేస్తున్నాను. ఇది హార్వర్డ్ CS50 కోర్సుతో చేయవచ్చు.2. జావా సింటాక్స్
అల్గారిథమ్ల ప్రాథమికాలను నేర్చుకున్న తర్వాత, మనం జావా సింటాక్స్ నేర్చుకోవాలి. అన్నింటికంటే, మనమందరం ఇక్కడ జావా ప్రోగ్రామర్లు కావడానికి చదువుతున్నాము, సరియైనదా? కోడ్జిమ్ కోర్సు దీనికి సరైనది. మీరు లెక్కలేనన్ని టాస్క్లు చేస్తున్నప్పుడు, మీరు జావా సింటాక్స్పై మీ చేతులను పొందుతారు మరియు తర్వాత, ఎక్కువ సంకోచం లేకుండా, మీరు జావా కోడ్ను మీ స్థానిక భాషగా వ్రాస్తారు/చదువుతారు. కోడ్జిమ్ అనేది అభ్యాసం, కానీ అంతకు మించి, మీరు ఏమి చేస్తున్నారో అర్థం చేసుకోవడానికి మీరు సిద్ధాంతాన్ని కూడా చూడాలి. దీన్ని చేయడానికి, మీరు పుస్తకాలను చదవవచ్చు. ఉదాహరణకు, కింది వాటిలో ఒకటి:- "హెడ్ ఫస్ట్ జావా",
- బారీ బర్డ్ ద్వారా "జావా ఫర్ డమ్మీస్";
- హెర్బర్ట్ షిల్డ్ట్ రచించిన "జావా: ఎ బిగినర్స్ గైడ్".
- "థింకింగ్ ఇన్ జావా," బ్రూస్ ఎకెల్;
- జాషువా బ్లాచ్ ద్వారా "ఎఫెక్టివ్ జావా";
- హెర్బర్ట్ షిల్డ్ట్ రచించిన "జావా: ది కంప్లీట్ రిఫరెన్స్".
3. డిజైన్ నమూనాలు
డిజైన్ నమూనాలు తరచుగా ఎదుర్కొనే సందర్భాలలో సమస్యలను పరిష్కరించే నిర్దిష్ట పునరావృత నమూనాలు. ప్రతి స్వీయ-గౌరవనీయ ప్రోగ్రామర్ తెలుసుకోవలసిన ప్రాథమిక, సాధారణ నమూనాలను కలిగి ఉంటాయి. ఈ అంశాన్ని అర్థం చేసుకోవడానికి, "హెడ్ ఫస్ట్ డిజైన్ ప్యాటర్న్స్" పుస్తకాన్ని పట్టుకోండి. ఇది ప్రాథమిక డిజైన్ నమూనాలను ప్రాప్యత మార్గంలో వివరిస్తుంది. కానీ పుస్తకం జావా గురించి చాలా మాట్లాడుతుంది, కాబట్టి మీరు ఈ పుస్తకాన్ని వినియోగించినప్పుడు మీకు ఈ ప్రోగ్రామింగ్ భాషలో పట్టు అవసరం. నమూనాలలో లోతుగా డైవ్ చేయడానికి, మీరు గ్యాంగ్ ఆఫ్ ఫోర్ నుండి "డిజైన్ ప్యాటర్న్స్: ఎలిమెంట్స్ ఆఫ్ రీయూజబుల్ ఆబ్జెక్ట్-ఓరియెంటెడ్ సాఫ్ట్వేర్" కూడా చదవవచ్చు (ఎడిటర్ యొక్క గమనిక: గ్యాంగ్ ఆఫ్ ఫోర్ అనేది ఎరిచ్ గామా, రిచర్డ్ హెల్మ్, రాల్ఫ్లను కలిగి ఉన్న రచయితల బృందం. జాన్సన్, జాన్ వ్లిస్సైడ్స్.) మీరు ఈ అంశాన్ని అధ్యయనం చేసిన తర్వాత, మీరు మీ కోడ్లో వర్చువల్గా ప్రతిచోటా నమూనాలను చూడటం ప్రారంభిస్తారు. ఇది జనాదరణ పొందిన ఇంటర్వ్యూ ప్రశ్న కాబట్టి, ముఖ్యంగా స్ప్రింగ్లో ఉపయోగించే నమూనాలపై శ్రద్ధ వహించండి.4. ప్రోగ్రామింగ్ నమూనాలు. కోడ్ శుభ్రత
ప్రామాణిక డిజైన్ నమూనాలతో పాటు, తెలుసుకోవలసిన వివిధ సూత్రాలు మరియు నమూనాలు ఉన్నాయి ( SOLID , GRASP ). మీరు మీ కోడ్ని కూడా శుభ్రంగా మరియు చదవగలిగేలా ఉంచుకోవాలి. ప్రతిదానికీ, మీరు ఈ అంశం గురించి తెలుసుకోవాలి, రాబర్ట్ మార్టిన్ రాసిన క్లీన్ కోడ్ని చూడండి లేదా స్టీవ్ మెక్కానెల్ ద్వారా "కోడ్ కంప్లీట్"ని చూడండి.5. SQL
మా తదుపరి దశ రిలేషనల్ డేటాబేస్ల కోసం భాషను అధ్యయనం చేయడం - SQL . డేటాబేస్లు అంటే వెబ్ అప్లికేషన్ ఉపయోగించే సమాచారం (డేటా) నిల్వ చేయబడుతుంది. డేటాబేస్ అనేక పట్టికలను కలిగి ఉంటుంది (మీ ఫోన్లోని చిరునామా పుస్తకం ఒక సాధారణ ఉదాహరణ). జావా డెవలపర్లు జావా అప్లికేషన్కు మాత్రమే కాకుండా, అది పరస్పర చర్య చేసే డేటాబేస్ మరియు దాని డేటాను ఎక్కడ నిల్వ చేస్తాయో కూడా బాధ్యత వహిస్తారు. రిలేషనల్ డేటాబేస్లలో (ఇవి అత్యంత సాధారణ రకం), అన్ని పరస్పర చర్య స్ట్రక్చర్డ్ క్వెరీ లాంగ్వేజ్ లేదా SQL అని పిలువబడే ప్రత్యేక భాష ద్వారా జరుగుతుంది. ఈ అంశాన్ని అర్థం చేసుకోవడానికి, మీరు చేయాల్సిందల్లా ఈ పుస్తకాలలో ఒకదాన్ని చదవండి:- అలాన్ బ్యూలీయుచే "లెర్నింగ్ SQL";
- క్రిస్ ఫెహిలీచే "SQL";
- లిన్ బీగ్లీచే "హెడ్ ఫస్ట్ SQL".
GO TO FULL VERSION