JavaRush /Java Blog /Random-TL /Mga nakakalito na tanong sa Java na madalas itanong sa mg...

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 posisyon ng isang Java programmer o kumuha ng anumang pagsusulit (hindi kinakailangan sa programming) upang makakuha ng isang sertipiko, malamang na napansin mo na ang mga tanong na kanilang itatanong ay napaka-espesipiko. Marami sa kanila ang nagpapaisip sa iyo tungkol sa arkitektura ng wika, ang ilan ay idinisenyo para sa malalim na kaalaman. Mayroon ding mga mas katulad ng mga palaisipan o alalahanin na mga nuances na napakahirap maramdaman nang walang pagsasanay. Sa artikulong ito, nagbibigay ang developer na si Saraans Singh ng ilang ganoong mga tanong sa Java. Sa mga sagot, siyempre. Mga nakakalito na tanong sa Java na madalas itanong sa mga panayam - 11. Ano ang mangyayari kung maglagay ka ng return o System.exit() na pahayag sa isang try/catch block? Ito ay isang napaka-tanyag na "catch-up" na tanong sa Java. Ang lansihin ay naniniwala ang maraming programmer na ang block finallyay isasagawa sa anumang kaso. Hinahamon ng tanong na ito ang konseptong ito sa pamamagitan ng paglalagay ng statement returnsa isang block try/catcho pagtawag mula sa isang try/catchstatement block System.exit (). Ang sagot sa nakakalito na tanong na ito: ang block finallyay isasagawa kapag ang isang statement ay inilagay returnsa isang block try/catch, at hindi ito isasagawa kapag tinawag mula sa isang try/catchstatement block System.exit (). 2. Sinusuportahan ba ng Java ang maramihang pamana? Ito ay isang napaka nakakalito na tanong. Madalas sabihin ng mga tagapanayam: kung kayang suportahan ng C++ ang direktang maramihang pamana, bakit hindi kaya ng Java? Ang sagot ay medyo mas kumplikado kaysa sa tila, dahil sinusuportahan ng Java ang maramihang uri ng pamana, dahil ang isang interface sa loob nito ay maaaring pahabain ang iba pang mga interface. Ngunit hindi sinusuportahan ng wikang Java ang maramihang pamana ng mga pagpapatupad. 3. Sa kaso kung saan ang isang pamamaraan ay naghagis ng eksepsiyon NullPointerExceptionsa parent class, maaari ba itong ma-override ng paraan na naghagis ng RuntimeException? Isa pang nakakalito na tanong na nauugnay sa mga konsepto ng overloading at overriding. Sagot: Maaari mong ligtas na magtapon ng parent class exception sa isang overridden na paraan NullPointerException – RuntimeException, ngunit hindi mo magagawa ang parehong may check na exception ng uri Exception. 4. Paano magagarantiya na ang mga thread ay makaka-access ng mga mapagkukunan nang walang deadlocking? NN Kung hindi ka masyadong magaling sa pagsulat ng multi-threaded code, ang tanong na ito ay talagang nakakalito para sa iyo. Maaari itong maging hamon kahit para sa isang bihasang programmer na hindi nakayanan ang mga deadlock at kundisyon ng lahi. Ang trick dito ay nasa pag-order: mapipigilan ang deadlock sa pamamagitan ng pagpapalaya ng mga mapagkukunan sa reverse order kung saan nakuha ang mga ito. 5. Ano ang pagkakaiba sa pagitan ng mga klase StringBufferat StringBuildersa wikang Java? Isang klasikong tanong tungkol sa wikang Java, na itinuturing na nakakalito ng ilang developer at napakasimple ng iba. Ang klase StringBuilderay ipinakilala sa JDK 1.5 at ang tanging pagkakaiba sa pagitan nila ay ang mga pamamaraan ng klase StringBuffer, halimbawa, length()o capacity(), append()ay naka-synchronize, habang ang mga kaukulang pamamaraan ng klase StringBuilderay hindi. Dahil sa pangunahing pagkakaiba na ito, ang pagsasama-sama ng string StringBuilderay mas mabilis sa StringBuffer. Sa katunayan, StringBufferhindi ito inirerekomenda na gamitin, dahil sa 99% ng mga kaso ng paggamit, ang string concatenation ay ginagawa sa parehong thread. 6. Ano ang ibinabalik ng expression na 1.0/0.0? Magtatapon ba ito ng eksepsiyon o magdulot ng error sa compilation? Isa pang nakakalito na tanong tungkol sa klase Double. Bagama't alam ng mga developer ng Java ang simpleng data type double at ang class Double, kapag nagsasagawa ng floating-point operations, hindi nila binibigyang pansin ang Double.INFINITY, NaN, -0.0at ang mga panuntunang namamahala sa mga kalkulasyon ng aritmetika na nauugnay sa kanila. Ang sagot sa tanong na ito ay simple: walang pagbubukod ArithmeticExceptionang itatapon, ang halaga ay ibabalik Double.INFINITY. 7. Ano ang mangyayari kung susubukan mong magpasok HashMapng isang pangunahing bagay sa isang pangunahing bagay na mayroon na dito? Ang nakakalito na tanong na ito ay bahagi ng isa pang madalas itanong: paano sila gumagana HashMapsa Java? HashMapay isang tanyag na paksa para sa nakakalito at nakakalito na mga tanong tungkol sa wikang Java. Ang sagot ay kung susubukan mong ipasok muli ang isang susi sa HashMap, papalitan nito ang luma dahil HashMaphindi pinapayagan ng klase ang mga duplicate na susi. At ang parehong key ay nangangahulugan ng parehong hash code, kaya mapupunta ito sa parehong lugar sa hash segment. Batay sa mga materyales mula sa Quora
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION