CodeGym /Java Blog /Random /Mga nakakalito na tanong sa Java na madalas itanong sa mg...
John Squirrels
Antas
San Francisco

Mga nakakalito na tanong sa Java na madalas itanong sa mga panayam

Nai-publish sa grupo
Kung nakapaghanda ka na para sa isang pakikipanayam para sa isang posisyon ng Java programmer o nakapasa sa anumang pagsusulit sa sertipikasyon (hindi kinakailangan tungkol sa programming), malamang na napansin mo na ang mga itinanong doon ay napaka-espesipiko. Marami sa kanila ang pinipilit mong isipin ang tungkol sa disenyo ng wika. Ang ilan ay idinisenyo upang suriin ang lalim ng iyong kaalaman. May mga tanong na mas mukhang palaisipan kaysa sa anupaman, habang ang iba ay nauugnay sa mga nuances ng wika na napakahirap unawain nang walang pagsasanay. Sa artikulong ito, ang developer na si Sarans Sing ay nagtatanghal ng ilang ganoong mga tanong tungkol sa Java. Sa mga sagot, siyempre. Mga nakakalito na tanong sa Java na madalas itanong sa mga panayam - 11. Ano ang mangyayari kung maglagay ako ng return statement o System.exit() sa isang try/catch block? Ito ay isang napaka-tanyag at banayad na tanong sa Java. Ang lansihin ay maraming mga programmer ang naniniwala na ang finallyblock ay palaging isinasagawa. Sa pamamagitan ng paglalagay ng returnpahayag sa isang try/catchbloke o pagtawag System.exit()mula sa loob ng isang try/catchbloke, ang tanong ay nagdududa sa paniniwalang ito. Ang sagot sa nakakalito na tanong na ito ay: ang finallybloke ay isasagawa kapag ang isang returnpahayag ay inilagay sa isang try/catchbloke, ngunit hindi isasagawa kapag System.exit()tinawag mula sa loob ng isang try/catchbloke. 2. Sinusuportahan ba ng Java ang maramihang pamana? Ito ay isang napaka nakakalito na tanong. Madalas itanong ng mga tagapanayam, "Kung sinusuportahan ng C ++ ang direktang multiple inheritance, bakit hindi magawa ng Java?" Ang sagotay medyo mas kumplikado kaysa sa tila, dahil sinusuportahan ng Java ang maramihang uri ng pamana. Pagkatapos ng lahat, ang isang Java interface ay maaaring pahabain ang iba pang mga interface. Iyon ay sinabi, hindi sinusuportahan ng Java ang maramihang pamana ng mga pagpapatupad. 3. Kung ang isang pamamaraan sa isang klase ng magulang ay naghagis NullPointerExceptionng s, maaari ba itong ma-override ng isang paraan na naghagis RuntimeExceptionng s? Ito ay isa pang nakakalito na tanong na nauugnay sa overloading at overriding. Sagot: Ang isang na-override na paraan ay maaaring ligtas na itapon NullPointerExceptionang parent class ng — RuntimeException, ngunit hindi mo magagawa ang pareho sa isang may check na uri ng exception tulad ng Exception. 4. Paano mo ginagarantiyahan na Nmaa-access ng mga thread Nang mga mapagkukunan nang walang deadlock? Kung ang pagsusulat ng multithreaded code ay hindi ang iyong kakayahan, maaari ka talagang matisod sa tanong na ito. Maaari itong maging mahirap kahit para sa isang bihasang programmer na hindi nakatagpo ng mga deadlock at kundisyon ng lahi. Ang buong trick dito ay nasa pagkakasunud-sunod: maaari mong maiwasan ang mga deadlock sa pamamagitan ng pagpapalabas ng mga mapagkukunan sa reverse order kung saan nakuha ang mga ito. 5. Ano ang pagkakaiba sa pagitan ng StringBufferat StringBuildermga klase sa Java? Ito ay isang klasikong tanong sa wikang Java na sa tingin ng ilang developer ay nakakalito at iba pa – napakasimple. Ang StringBuilderklase ay lumabas sa JDK 1.5. Ang pagkakaiba lamang sa pagitan ng mga klase na ito ay ang StringBuffermga pamamaraan, tulad ng length(), capacity(), at append(), ay naka-synchronize, habang ang mga kaukulang pamamaraan saStringBuilderhindi. Ang pangunahing pagkakaiba na ito ay nangangahulugan na ang pagsasama-sama ng string ay mas mabilis na may StringBuilderkaysa sa StringBuffer. Sa totoo lang, ang paggamit StringBufferay hindi inirerekomenda, dahil ang string concatenation ay ginagawa sa parehong thread 99% ng oras. 6. Ano ang resulta ng pagsusuri sa ekspresyong 1.0/0.0? Magbubunga ba ito ng exception o compilation error? Ito ay isa pang nakakalito na tanong tungkol sa klase. Alam ng mga developer ng Java ang pagkakaroon ng primitive na double data type at isang klase, ngunit kapag nagsasagawa ng mga floating-point operations hindi nila binibigyang pansin ang , , , at ang mga panuntunang namamahala sa nauugnay na mga kalkulasyon ng aritmetika. Ang sagot sa tanong na ito ay simple: aMga nakakalito na tanong sa Java na madalas itanong sa mga panayam - 2DoubleDoubleDouble.POSITIVE_INFINITYDouble.NEGATIVE_INFINITYNaN-0.0ArithmeticExceptionay hindi itatapon; ang expression ay sinusuri sa Double.POSITIVE_INFINITY. 7. Ano ang mangyayari kung susubukan mong magpasok ng key sa isang HashMapna naglalaman na ng key na iyon? Ang nakakalito na tanong na ito ay bahagi ng isa pang madalas itanong: paano HashMapgumagana sa Java? HashMapay isang sikat na pinagmumulan ng nakakalito at nakakalito na mga tanong tungkol sa Java. Narito ang sagot: kung susubukan mong muling ipasok ang isang susi sa isang HashMap, ang lumang susi ay papalitan, dahil HashMaphindi pinapayagan ng klase ang mga duplicate na susi. At ang parehong key ay makakakuha ng parehong hash code, na nangangahulugang mapupunta ito sa parehong lugar sa hash bucket. Batay sa mga materyales ng Quora
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION