JavaRush /Java Blog /Random-TL /Coffee break #58. 20 Mahahalagang Tanong sa Panayam na Da...

Coffee break #58. 20 Mahahalagang Tanong sa Panayam na Dapat Malaman ng Java Developer. Mga benepisyo ng pag-alam ng maramihang mga programming language

Nai-publish sa grupo

20 Mahahalagang Tanong sa Panayam na Dapat Malaman ng Java Developer

Pinagmulan: Dev.toCoffee break #58.  20 Mahahalagang Tanong sa Panayam na Dapat Malaman ng Java Developer.  Mga pakinabang ng pag-alam ng maramihang mga programming language - 1

1. Ano ang dalawang uri ng mga eksepsiyon sa Java? Ano ang pagkakaiba sa pagitan nila?

Sagot: Mayroong dalawang uri ng exception sa Java: checked at unchecked exceptions.
  1. Ang mga hindi na-check na exception ay hindi kailangang ideklara sa isang method o constructor keyword statement kung maaari silang itapon kapag ang method o constructor ay nag-execute at nagpalaganap nang lampas sa method o constructor boundary.
  2. Sa kabilang banda, ang mga may check na exception ay dapat ideklara sa paraan ng constructor o keyword statement.

2. Ano ang JVM? Bakit tinawag ang Java na isang "platform independent programming language"?

Sagot: Ang Java Virtual Machine (JVM) ay isang prosesong virtual machine na maaaring magsagawa ng Java bytecode. Ang bawat Java source file ay pinagsama-sama sa isang bytecode file, na pinaandar ng JVM. Ang wikang Java ay idinisenyo upang lumikha ng mga programa ng aplikasyon na maaaring tumakbo sa anumang platform, nang hindi kinakailangang muling isulat o i-compile para sa bawat indibidwal na platform. Ginagawang posible ito ng Java Virtual Machine dahil alam nito ang tiyak na haba ng pagtuturo at iba pang feature ng pinagbabatayan na platform ng hardware.

3. Ano ang pagkakaiba sa pagitan ng applet at Java application?

Sagot:
  • Ang mga Applet ay tumatakbo sa isang window ng browser na pinagana ng Java.
  • Ang Java application ay isang standalone na Java program na maaaring tumakbo sa labas ng browser.
Pareho silang nangangailangan ng Java Virtual Machine (JVM). Gayunpaman, ang isang Java application ay nangangailangan ng isang pangunahing pamamaraan na may isang tiyak na lagda upang simulan ang pagpapatupad. Ang mga Java applet ay hindi nangangailangan ng ganitong paraan upang simulan ang pagpapatupad. Gayundin, ang mga Java applet ay karaniwang gumagamit ng isang mahigpit na patakaran sa seguridad, habang ang mga Java application ay karaniwang gumagamit ng isang mas maluwag na patakaran sa seguridad.

4. Ano ang pagkakaiba ng JDK at JRE?

Sagot:
  • Ang Java Runtime Environment (JRE) ay karaniwang isang Java Virtual Machine (JVM) na nagpapatakbo ng iyong mga Java program. Kasama rin dito ang mga plugin ng browser upang patakbuhin ang applet.
  • Ang Java Development Kit (JDK) ay isang ganap na tampok na software development kit para sa wikang Java, kabilang ang JRE, mga compiler, at mga tool (gaya ng JavaDoc at Java Debugger) upang bigyang-daan ang user na bumuo, mag-compile, at magpatakbo ng mga Java application.

5. Ano ang isang servlet?

Sagot: Ang servlet ay isang klase ng Java programming language na ginagamit upang iproseso ang mga kahilingan ng kliyente at lumikha ng dynamic na web content. Pangunahing ginagamit ang mga Servlet upang iproseso o iimbak ang data na isinumite ng isang HTML form, magbigay ng dynamic na nilalaman, at pamahalaan ang impormasyon ng estado na wala sa stateless na HTTP.

6. Ano ang JSP page?

Sagot: Ang Java Server Page (JSP) ay isang text document na naglalaman ng dalawang uri ng text:
  • static na data,
  • Mga elemento ng JSP.
Maaaring ipahayag ang static na data sa anumang format ng teksto, tulad ng HTML o XML. Ang JSP ay isang teknolohiyang naghahalo ng static na content sa dynamic na nabuong content.

7. Ano ang mga direktiba? Anong mga uri ng mga direktiba ang available sa JSP?

Sagot: Ang mga direktiba ay mga tagubilin na pinoproseso ng JSP engine kapag ang pahina ay pinagsama-sama sa isang servlet. Ginagamit ang mga direktiba upang magtakda ng mga tagubilin sa antas ng page, magpasok ng data mula sa mga external na file, at tumukoy ng mga custom na library ng tag. Tinutukoy ang mga direktiba sa pagitan ng <%@ at %>. Ang iba't ibang uri ng mga direktiba ay ipinapakita sa ibaba:
  • Isama ang direktiba: Ginagamit upang isama ang isang file at pagsamahin ang mga nilalaman ng file sa kasalukuyang pahina.
  • Direktiba ng Pahina: Ito ay ginagamit upang tukuyin ang ilang partikular na katangian sa isang pahina ng JSP tulad ng pahina ng error at buffer.
  • Taglib: Ginagamit para magdeklara ng custom na taglib na ginagamit sa page.

8. Ano ang ginagawa ng System.gc() at Runtime.gc() na mga pamamaraan?

Sagot: Ang mga paraang ito ay maaaring gamitin bilang pahiwatig sa JVM upang ma-trigger ang pangongolekta ng basura. Karaniwan, ang Java Virtual Machine (JVM) ay nagpapatakbo ng koleksyon ng basura nang pana-panahon o kapag ang libreng memorya ay umabot sa mababang antas.

9. Anong mga pagkakaiba ang mayroon sa pagitan ng HashMap at Hashtable?

Sagot: Mayroong ilang mga pagkakaiba sa pagitan ng HashMap at Hashtable sa Java:
  1. Ang Hashtable ay naka-synchronize samantalang ang HashMap ay hindi. Ginagawa nitong mas mahusay ang HashMap para sa mga non-threaded na application, dahil ang mga hindi naka-synchronize na bagay ay karaniwang gumaganap nang mas mahusay kaysa sa mga naka-synchronize.
  2. Hindi pinapayagan ng Hashtable ang mga null key o value. Hinahayaan ka ng HashMap na gumamit ng isang null key at anumang bilang ng mga null value.
  3. Ang isa sa mga subclass ng HashMap ay LinkedHashMap, kaya kung gusto mo ng predictable na order ng pag-ulit (default na insertion order), madali mong mapapalitan ang HashMap para sa LinkedHashMap. Hindi ito magiging napakadali kung gumagamit ka ng Hashtable.

10. Ano ang JDBC?

Sagot: Ang JDBC ay isang abstraction layer na nagpapahintulot sa mga user na pumili sa pagitan ng mga database. Sa JDBC, ang mga developer ay maaaring magsulat ng mga application ng database sa Java nang hindi nababahala tungkol sa mga detalye sa likod ng isang partikular na database.

11. Ano ang ibig sabihin ng "static" na keyword? Maaari mo bang i-override ang isang pribado o static na pamamaraan sa Java?

Sagot: Ang static na keyword ay nangangahulugan na ang isang variable na miyembro o pamamaraan ay maaaring ma-access nang hindi nangangailangan ng isang instance ng klase kung saan ito nabibilang . Hindi ma-override ng user ang mga static na pamamaraan sa Java dahil ang pag-override ng pamamaraan ay nakabatay sa dynamic na binding sa runtime at ang mga static na pamamaraan ay permanenteng nakatali sa oras ng compile. Ang isang static na pamamaraan ay hindi nauugnay sa anumang instance ng klase, kaya hindi naaangkop ang konseptong ito.

12. Ano ang kahalagahan ng isang wakas na bloke kapag humahawak ng mga pagbubukod?

Sagot: Ang isang block sa wakas ay palaging isasagawa, hindi alintana kung ang isang pagbubukod ay itinapon. Kahit na walang catch statement at isang exception ang nangyari. Ang isang huling bagay na babanggitin ay ang pangwakas na bloke ay ginagamit upang ilabas ang mga mapagkukunan tulad ng mga buffer ng I/O, mga koneksyon sa database, atbp.

13. Ano ang pagkakaiba sa pagitan ng Exception at Error sa Java?

Sagot: Ang error ay isang kritikal na kondisyon na hindi mahawakan ng program code. Ang Exception ay isang pambihirang sitwasyon na maaaring pangasiwaan ng program code.

14. Kailan nagiging karapat-dapat ang isang bagay para sa pangongolekta ng basura sa Java?

Sagot: Ang isang Java object ay napapailalim sa pangongolekta ng basura kapag naging hindi ito available sa program na kasalukuyang gumagamit nito.

15. Ano ang isang iterator?

Sagot: Ang interface ng Iterator ay nagbibigay ng ilang mga pamamaraan na maaaring umulit sa anumang koleksyon . Ang bawat koleksyon ng Java ay naglalaman ng isang paraan ng Iterator na nagbabalik ng isang halimbawa ng Iterator . Maaaring alisin ng mga iterator ang mga elemento mula sa pinagbabatayan na koleksyon sa panahon ng pag-ulit.

16. Ano ang passing by reference at passing by value?

Sagot:
  • Kapag ang isang bagay ay naipasa sa halaga , nangangahulugan ito na ang isang kopya ng bagay ay naipasa. Sa ganitong paraan, kahit na gumawa ng mga pagbabago sa bagay na ito, hindi ito makakaapekto sa orihinal na halaga.
  • Kapag ang isang bagay ay naipasa sa pamamagitan ng reference , nangangahulugan ito na ang bagay ay hindi aktwal na naipasa, ngunit sa halip ay isang reference sa bagay ang ipinasa. Sa ganitong paraan, ang anumang mga pagbabagong ginawa ng panlabas na pamamaraan ay makikita rin sa lahat ng lugar.

17. Ano ang Java applet?

Sagot: Ang Java applet ay isang program na maaaring isama sa isang HTML page at i-execute sa isang Java-enabled na client browser. Ginagamit ang mga Applet upang lumikha ng mga dynamic at interactive na web application.

18. Paano gumagana ang HashMap sa Java?

Sagot: Ang HashMap sa Java ay nag-iimbak ng mga pares ng key-value. Ang HashMap ay nangangailangan ng hash function, gumagamit ng hashCode at katumbas ng mga pamamaraan upang itakda at makuha ang mga elemento papunta at mula sa koleksyon. Kapag ang put method ay tinatawag na , kinakalkula ng HashMap ang hash value ng key at iniimbak ang pares sa naaangkop na index sa loob ng koleksyon. Kung umiiral ang susi, ina-update ang halaga nito gamit ang bagong halaga. Ang ilang mahahalagang katangian ng HashMap ay ang kapasidad nito, load factor at pagkakaiba-iba ng laki ng threshold.

19. Ano ang mga pangunahing interface ng Java Collections Framework?

Sagot: Ang Java Collections Framework ay isang idinisenyong hanay ng mga interface at klase na sumusuporta sa mga operasyon sa mga koleksyon ng mga bagay. Ang mga pangunahing interface na matatagpuan sa Java Collections Framework ay:
  • Ang isang Koleksyon ay kumakatawan sa isang pangkat ng mga bagay, na kilala bilang mga elemento nito.
  • Ang Set ay isang koleksyon na hindi maaaring maglaman ng mga duplicate na elemento.
  • Ang Listahan ay isang nakaayos na koleksyon na maaaring maglaman ng mga umuulit na elemento.
  • Ang Map ay isang bagay na nagmamapa ng mga susi sa mga halaga at hindi maaaring maglaman ng mga duplicate na key.

20. Anong mga uri ng data ang sinusuportahan ng Java? Ano ang Autoboxing at Unboxing?

Sagot: Sinusuportahan ng Java programming language ang sumusunod na walong primitive na uri ng data:
  • byte
  • maikli
  • int
  • mahaba
  • lumutang
  • doble
  • boolean
  • char
Ang Autoboxing ay isang awtomatikong conversion na isinagawa ng Java compiler sa pagitan ng mga primitive na uri at ang kanilang kaukulang mga klase ng object wrapper. Kung ang pagbabago ay napupunta sa kabaligtaran na direksyon, ang operasyong ito ay tinatawag na Unboxing . Salamat sa pagbabasa at good luck sa iyong technical interview!

Mga benepisyo ng pag-alam ng maramihang mga programming language

Pinagmulan: Dev.to Personal, kumbinsido ako na dapat alam ng bawat developer ang higit sa isang programming language. Sa madaling salita, kung pinag-uusapan natin ang tungkol sa mga programming language, ang developer ay dapat na isang polyglot.Coffee break #58.  20 Mahahalagang Tanong sa Panayam na Dapat Malaman ng Java Developer.  Mga pakinabang ng pag-alam ng maramihang mga programming language - 2

Pangunahin at pangalawang wika

Upang gawing mas madali ang mga bagay, hayaan mo akong linawin ang ilan sa mga terminong ginamit sa artikulong ito. Naniniwala ako na ang bawat developer ay dapat magkaroon ng isang wika na gusto niya. Tinatawag kong pangunahing wika ang wikang ito. Tatawagin ko ang anumang mga wika maliban sa pangunahing katulong. Siyempre, maaaring baguhin ng isang developer ang kanyang pangunahing wika (higit sa isang beses) sa kabuuan ng kanyang karera. Ito ay mabuti. Maraming dahilan kung bakit ito ipinaliwanag.

Dalubhasa

Sa mga talakayan tungkol sa mga developer ng polyglot, kadalasang ginagawa ang argumento na ang kaalaman ng developer sa pangalawang wika ay kapalit ng pagiging hindi gaanong bihasa sa kanilang pangunahing wika. Ipinapalagay ng mga tagapagtaguyod ng ideyang ito na ang pag-aaral ng bawat bagong wika ay nangangailangan ng oras, at sa pagkakataong ito ay hindi ka na maaaring gumastos sa pagkuha ng kaalaman sa iyong pangunahing wika. Ang linya ng pag-iisip na ito ay tila mali sa akin. Nakikita ko ang isa pang pagkakatulad: sports. Alam na ang paglalaro ng isang isport ay nagpapabuti sa iyong pagganap sa isa pa. Siyempre, maaari kang manalo ng mga gintong medalya sa parehong mga kaganapan, at malamang na hindi ka gagawing mas mahusay na manlalangoy ng darts. Sa kabilang banda, kung ikaw ay isang rock climber, pagkatapos ay tutulungan ka ng yoga na bumuo ng flexibility at balanse. Kaya, ang pagsasanay sa yoga ay gagawin kang isang mas mahusay na umaakyat kaysa kung wala ka nito. Sa palagay ko ang pag-aaral ng bawat karagdagang wika ay kadalasang mapapabuti ang iyong mga kasanayan sa iba pang mga wikang alam mo rin.

Mas malawak na hanay ng mga tool

Bukod pa rito, ang pag-alam sa maraming programming language ay lubos na nagpapabuti sa iyong arsenal bilang isang developer. Pinapalawak nito ang iyong mga abot-tanaw at nagbibigay-daan sa iyong tumingin sa ilang partikular na bagay mula sa iba't ibang pananaw. Kumuha tayo ng isang halimbawa mula sa pang-araw-araw na buhay. Kung nakagamit ka na ng screwdriver, pamilyar ka sa Phillips-head screws. Sa unang sulyap, ang lahat ng Phillips-head screws ay pareho at tila lahat sila ay maaaring higpitan sa isang screwdriver. Oo, nangyayari na mahirap para sa iyo na higpitan o i-unscrew ang ilang tornilyo, ngunit sa pangkalahatan ay sapat na ang isang distornilyador para sa iyo. Coffee break #58.  20 Mahahalagang Tanong sa Panayam na Dapat Malaman ng Java Developer.  Mga pakinabang ng pag-alam ng maramihang mga programming language - 3Ngunit isang araw ay pumasok ka sa isang tindahan ng kasangkapan, tingnan ang lahat ng magagandang distornilyador na iyon, at matuklasan na may iba't ibang uri ng Phillips screwdriver. Nakita mo na ang screwdriver na mayroon ka ay isang Phillips (PH) at nagpasyang bilhin ang kambal nitong kapatid na babae, ang Pozidriv (PZ). At pagkatapos ay biglang lumiliko na para sa ilang mga turnilyo ang isa ay mas angkop, at para sa iba - isa pa. Magkamukha sila, ngunit hindi sila mapapalitan . (Kung iniisip mo kung ano ang ibig sabihin ng mga letrang PH at PZ sa iyong mga screwdriver - alam mo na ngayon). Sa karagdagang kaalaman at karagdagang tool, makakagawa ka ng mas mahusay na trabaho sa susunod na kailangan mong higpitan ang isang Phillips head screw. Ang parehong napupunta para sa mga programming language.

Hindi mo kailangang magbayad para sa karagdagang kaalaman

Kaya, personal kong hindi nakikita ang halaga sa pag-aaral ng karagdagang programming language. Magiging pantay ka ba sa parehong wika? Malamang hindi, ngunit malamang na hindi iyon ang iyong layunin. May bago ka bang natutunan tungkol sa iyong pangunahing wika? Talagang sigurado ako dito. Ang pag-alam sa isang bagong wika ay magbubunyag ng mga pagkakaiba sa pagitan nila. At ito naman ay magpupuyat sa iyong kuryusidad. Magtataka ka kung bakit naiiba ang ginagawa sa isang bagong wika at kung ano ang ginagawa ng mga ito. Sa konklusyon, magbibigay ako ng isang halimbawa mula sa buhay. Gumamit ako ng isang command line tool na nakasulat sa Python. Sa tuwing na-install ko ang tool na ito sa isang bagong makina, may mga problema, at sa bawat pag-update ay tumataas ang bilang ng mga problema. Kung mayroon kang Go sa iyong toolbox, mapapansin mo kaagad ang bentahe nito sa sitwasyong ito. Pinapayagan ka ng Go na i-compile ang mga artifact nito sa isang self-contained binary. Makatitiyak ka na kapag naipon, gagana ang binary sa bawat makina kung saan mo ito pinagsama-sama. Kaya inilagay ko ang Python CLI sa Go. Sa bagong bersyon na ito, hindi ko na kinailangan pang mag-alala tungkol sa pagbabago ng runtime o mga dependency ng third party. Ito ay isang magandang halimbawa ng pagpili ng pinakaangkop na tool para sa gawain. At para makapili, kailangan mong maging isang polyglot developer.
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION