మీరు ఎప్పుడైనా జావా ప్రోగ్రామర్ స్థానం కోసం ఇంటర్వ్యూ కోసం సిద్ధమై ఉంటే లేదా ఏదైనా సర్టిఫికేషన్ పరీక్షలో ఉత్తీర్ణత సాధించినట్లయితే (ప్రోగ్రామింగ్ గురించి అవసరం లేదు), అప్పుడు అక్కడ అడిగే ప్రశ్నలు చాలా నిర్దిష్టంగా ఉన్నాయని మీరు ఇప్పటికే గమనించి ఉండవచ్చు. వాటిలో చాలా వరకు మీరు భాష రూపకల్పన గురించి ఆలోచించమని బలవంతం చేస్తారు. కొన్ని మీ జ్ఞానం యొక్క లోతులను పరిశోధించడానికి రూపొందించబడ్డాయి. అన్నింటికంటే పజిల్స్ లాగా కనిపించే ప్రశ్నలు ఉన్నాయి, అయితే ఇతరులు అభ్యాసం లేకుండా గ్రహించడం చాలా కష్టంగా ఉండే భాష యొక్క సూక్ష్మ నైపుణ్యాలకు సంబంధించినవి. ఈ కథనంలో, డెవలపర్ సరన్స్ సింగ్ జావా గురించి అలాంటి కొన్ని ప్రశ్నలను అందించారు. సమాధానాలతో, వాస్తవానికి. 1. నేను రిటర్న్ స్టేట్మెంట్ లేదా System.exit()ని ట్రై/క్యాచ్ బ్లాక్లో ఉంచితే ఏమి జరుగుతుంది? ఇది చాలా జనాదరణ పొందిన మరియు సూక్ష్మమైన జావా ప్రశ్న. ఉపాయం ఏమిటంటే, చాలా మంది ప్రోగ్రామర్లు బ్లాక్
finally
ఎల్లప్పుడూ అమలు చేయబడుతుందని నమ్ముతారు. return
బ్లాక్లో స్టేట్మెంట్ ఇవ్వడం try/catch
లేదా బ్లాక్ System.exit()
లోపల నుండి కాల్ చేయడం ద్వారా try/catch
, ప్రశ్న ఈ నమ్మకంపై సందేహాన్ని కలిగిస్తుంది. ఈ గమ్మత్తైన ప్రశ్నకు సమాధానం: బ్లాక్లో స్టేట్మెంట్ ఉంచబడినప్పుడు బ్లాక్ finally
అమలు చేయబడుతుంది , కానీ బ్లాక్లో నుండి కాల్ చేసినప్పుడు అమలు చేయబడదు . 2. Java బహుళ వారసత్వానికి మద్దతు ఇస్తుందా? ఇది చాలా గమ్మత్తైన ప్రశ్న. ఇంటర్వ్యూ చేసేవారు తరచుగా ఇలా అడుగుతారు, "C ++ డైరెక్ట్ మల్టిపుల్ ఇన్హెరిటెన్స్కు మద్దతిస్తే, జావా ఎందుకు చేయకూడదు?" సమాధానం _return
try/catch
System.exit()
try/catch
జావా బహుళ రకాల వారసత్వానికి మద్దతిస్తుంది కాబట్టి ఇది కనిపించే దానికంటే కొంచెం క్లిష్టంగా ఉంటుంది. అన్నింటికంటే, జావా ఇంటర్ఫేస్ ఇతర ఇంటర్ఫేస్లను విస్తరించగలదు. ఇంప్లిమెంటేషన్ల బహుళ వారసత్వానికి జావా మద్దతు ఇవ్వదు. 3. పేరెంట్ క్లాస్లోని ఒక పద్ధతి s విసిరితే NullPointerException
, అది s విసిరే పద్ధతి ద్వారా భర్తీ చేయబడుతుందా RuntimeException
? ఇది ఓవర్లోడింగ్ మరియు ఓవర్రైడింగ్కు సంబంధించిన మరొక గమ్మత్తైన ప్రశ్న. సమాధానం: ఓవర్రైడ్ చేయబడిన పద్ధతి మాతృ తరగతిని సురక్షితంగా విసిరివేయగలదు NullPointerException
— RuntimeException, కానీ మీరు తనిఖీ చేసిన మినహాయింపు రకం వంటి వాటితో అలా చేయలేరు Exception
. 4. థ్రెడ్లు డెడ్లాక్ లేకుండా వనరులను యాక్సెస్ చేయగలవని మీరు ఎలా హామీ ఇస్తారు ?N
N
మల్టీథ్రెడ్ కోడ్ రాయడం మీ శక్తి కాకపోతే, మీరు నిజంగా ఈ ప్రశ్నలో పొరపాట్లు చేయవచ్చు. డెడ్లాక్లు మరియు రేస్ పరిస్థితులను ఎదుర్కోని అనుభవజ్ఞుడైన ప్రోగ్రామర్కు కూడా ఇది కష్టంగా ఉంటుంది. ఇక్కడ మొత్తం ట్రిక్ క్రమంలో ఉంది: మీరు వనరులను పొందిన రివర్స్ ఆర్డర్లో విడుదల చేయడం ద్వారా డెడ్లాక్లను నిరోధించవచ్చు. 5. జావాలో మరియు తరగతుల మధ్య తేడా ఏమిటి ? StringBuffer
StringBuilder
ఇది ఒక క్లాసిక్ జావా భాష ప్రశ్న, కొందరు డెవలపర్లు గమ్మత్తైనవిగా మరియు ఇతరులు చాలా సరళంగా భావిస్తారు. తరగతి StringBuilder
JDK 1.5లో కనిపించింది. ఈ తరగతుల మధ్య ఉన్న తేడా ఏమిటంటే , , మరియు , StringBuffer
వంటి పద్ధతులు సమకాలీకరించబడతాయి, అయితే సంబంధిత పద్ధతులుlength()
capacity()
append()
StringBuilder
కాదు. ఈ ప్రాథమిక వ్యత్యాసం అంటే స్ట్రింగ్ సంయోగం తో StringBuilder
కంటే వేగంగా ఉంటుంది StringBuffer
. వాస్తవానికి, ఉపయోగించడం StringBuffer
సిఫార్సు చేయబడదు, ఎందుకంటే 99% సమయం ఒకే థ్రెడ్లో స్ట్రింగ్ సంగ్రహణ జరుగుతుంది. 6. 1.0/0.0 వ్యక్తీకరణను మూల్యాంకనం చేయడం వల్ల వచ్చే ఫలితం ఏమిటి? ఇది మినహాయింపు లేదా సంకలన లోపాన్ని ఉత్పత్తి చేస్తుందా? ఇది తరగతి గురించి మరొక గమ్మత్తైన ప్రశ్న. జావా డెవలపర్లకు ఆదిమ డబుల్ డేటా రకం మరియు క్లాస్ ఉనికి గురించి తెలుసు , కానీ ఫ్లోటింగ్-పాయింట్ కార్యకలాపాలను నిర్వహిస్తున్నప్పుడు వారు , , , మరియు అనుబంధిత అంకగణిత గణనలను నియంత్రించే నియమాలపై తగినంత శ్రద్ధ చూపరు . ఈ ప్రశ్నకు సమాధానం చాలా సులభం: ఒకDouble
Double
Double.POSITIVE_INFINITY
Double.NEGATIVE_INFINITY
NaN
-0.0
ArithmeticException
విసిరివేయబడదు; వ్యక్తీకరణకు మూల్యాంకనం చేస్తుంది Double.POSITIVE_INFINITY
. 7. మీరు ఇప్పటికే ఆ కీని కలిగి ఉన్న కీని ఇన్సర్ట్ చేయడానికి ప్రయత్నిస్తే ఏమి జరుగుతుంది ? HashMap
ఈ గమ్మత్తైన ప్రశ్న తరచుగా అడిగే మరొక ప్రశ్నలో భాగం: HashMap
జావాలో ఎలా పని చేస్తుంది? HashMap
జావా గురించి గందరగోళంగా మరియు గమ్మత్తైన ప్రశ్నలకు ప్రముఖ మూలం. ఇక్కడ సమాధానం ఉంది: మీరు ఒక కీని మళ్లీ ఇన్సర్ట్ చేయడానికి ప్రయత్నిస్తే HashMap
, పాత కీ భర్తీ చేయబడుతుంది, ఎందుకంటే HashMap
తరగతి నకిలీ కీలను అనుమతించదు. మరియు అదే కీ అదే హాష్ కోడ్ను పొందుతుంది, అంటే అది హాష్ బకెట్లో అదే స్థలంలో ముగుస్తుంది. Quora మెటీరియల్స్ ఆధారంగా
GO TO FULL VERSION