Johdatus Java-kokoelman haastatteluun liittyviin kysymyksiin ja vastauksiin

Nyt, jos etsit Java Collection -työhön liittyvää työtä, sinun on varauduttava 2019 Java Collection -haastattelukysymyksiin. On totta, että jokainen haastattelu on erilainen työprofiilien mukaan. Täällä olemme laatineet tärkeät Java-kokoelman haastattelua koskevat kysymykset ja vastaukset, jotka auttavat sinua menestymään haastattelussa.

Java-kokoelmakehys on yksi tärkeimmistä luvuista ydinavavan oikean oppimisen kannalta. Java-kokoelma, jolla on paljon rajapintoja ja luokkia, jotka ovat java.util-paketin alla. Kaikilla näillä rajapinnoilla ja luokilla on valtava käyttömahdollisuus missä tahansa Java-pohjaisessa sovelluksessa.

Tässä 2019 Java Collection -haastattelukysymyksiä käsittelevässä artikkelissa esitetään 10 tärkeintä ja usein kysyttyä Java Collection -haastattelukysymystä. Nämä haastattelukysymykset on jaettu kahteen osaan seuraavasti:

Osa 1 - Java-kokoelman haastattelukysymykset (perus)

Tämä ensimmäinen osa kattaa Java-kokoelman perushaastattelukysymykset ja -vastaukset.

Q1. Java on tuonut markkinoille uuden version melkein parin viime vuoden aikana. Kokoelman kehys on aina korostettu Java-paketti, joten jokainen Java-versio sisälsi aina joitain keskeisiä ominaisuuksia erityisesti kokoelmakehyksessä. Selitä, mitkä ovat uudet ominaisuudet Java 8 -version keräyskehyksen mukana?

Vastaus:
Java 8 -versioon tuli jo joitain tärkeimmistä tai suurimmista muutoksista Java Collection Frameworkissa, ominaisuudet selitetään alla:

  • Stream API Java : joidenkin peräkkäisten ja rinnakkaisten prosessointien tukemiseen.
  • Esitetään jokaiselle menetelmälle iteraattoriliittymälle : Tämä on yksi oletusmenetelmistä, kun kehittäjä aikoo käyttää iteraattoria tietojen noutamiseen mistä tahansa keräysrajapinnasta. Java 8 esitteli yhden keskeisistä ominaisuuksista, nimeltään Lambda-lausekkeista, koska sen argumentit ovat erittäin helppo käyttää iteraattoriliittymässä.
  • Sekalaisten keräysliittymien sovellusliittymä: Kehyksen sekalaisen keräyksen tapauksessa on otettu käyttöön paljon menetelmiä. Menetelmät ovat jokaiselle jäljellä olevalle, korvaa kaikki tietokoneilla, yhdistävät erityisesti Iterator-käyttöliittymässä.

Q2. Selitä yksityiskohtaisesti Java-kokoelmakehyksestä Java-sovelluksessa. Onko tarkempia tietoja Java-sovelluksen keräyskehyksen tarjoamista hyödyistä?

Vastaus:
Kokoelmakehys on eräänlainen paljon korostettu paketti siitä päivästä, kun java esitteli tämän paketin. Aluksi siinä oli vain joitain vanhoja rajapintoja, kuten Vector, Hashtable, Stack ja Array, jotka ovat vanhentuneita javan pitkän matkan kannalta. Javan ylemmästä versiosta, joka esittelee paljon rajapintoja, jotka ovat hyvin ominaisuuslähtöisiä ja joissa on avainrooli kaikenlaisille Java-ohjelmoinnille. Näiden rajapintojen käyttöönotto ja algoritmin määrittäminen ovat todella hyödyllisiä kaikille Java-kehittäjille milloin tahansa suorittamisen ajaksi. Java-kokoelma on työskennellyt näiden lähestymistapojen kanssa pitkien päivien ajan ja mukana on paljon samanaikaista keräysluokkaa, jolla varmistetaan langan turvallisuus lajikkeiden toiminnoissa.

Alla määriteltyjen keräyskehyksen edut:

  • Vähennetään kehitystyötä toteuttamalla määritellyt keräysluokat.
  • Koodin laatua parannetaan aina, mukaan lukien suorituskyky.
  • Koodin ylläpidon ponnistukset ovat aina vähentyneet.
  • Paranna koodin uudelleenkäytettävyyttä ja ylläpidä asianmukaista yhteentoimivuutta.

Siirrytään seuraavaan Java-kokoelman haastattelukysymyksiin.

Q3. Selitä yksityiskohdat, jotka ovat käytettävissä keräyskehyksen yleisen version käyttämisessä keräysrajapintojen ja luokkien alkamisesta lähtien Java 4 -versiossa?

Vastaus:
Java 1.5: ssä oli joitain kriittisiä toimintoja erityisesti keräyskehyksessä, mikä parantaa joitain geneerisen käyttöliittymän vanhoista ominaisuuksista. Se esitteli joitain lähestymistapoja, jotka todella tarjosivat luokanCastException kokoamisajankohtana. Aluksi sama poikkeus tuli suorituksen aikana ilman aikaisempaa määritelmää. Mutta kokoamisen tapauksessa sitä ei koskaan tunnisteta. Nyt jos kehittäjä mainitsi yhden keräysrajapinnan objektityypin, niin se ei koskaan voi hyväksyä mitään muuta kohdeviittausta. Jos kehittäjät ovat vahingossa tehneet saman, niin se heittää ClasCastExpectionin kokoamisaikaan.

Q4. On olemassa paljon rajapintoja, jotka on jo määritelty olemassa olevan Java-sovelluksen keräyskehyssuunnittelun tapauksessa. Selitä yksityiskohtaisesti keräyskehyksessä käytettävissä olevista suosituista avainrajapinnoista, selitä niiden käytön hyödyllisyys?

Vastaus:
Jotkut keskeisistä rajapinnoista on määritelty alla, jotka ovat saatavissa Collection-puitteille:

Kokoelma : Se on yksi koko kokoelmahierarkian juuriliittymistä. Se pitää todella käytettävissä olevien kohteiden ryhmän kehittämisen kannalta nimeltään Elements. Yleensä minkäänlaista suoraa tämän Collection-käyttöliittymän toteutusta ei ole saatavana Java-alustalle.

  • Aseta: Tämä on yksi avainkokoelman rajapinnoista, joka laajentaa keräysrajapintaa ja varmistaa, ettei siinä ole mitään päällekkäisiä elementtejä.
  • Lista: Se on yksi tilatusta kokoelmasta, joka laajentaa Collection-käyttöliittymää ja hyväksyy päällekkäiset elementit, jotka ovat yksi avainero joukon ja luettelon välillä.
  • Kartta: Kartta on myös käyttöliittymä, joka pitää tietoja avain-arvo-parin kanssa. Se ei koskaan sisällä päällekkäisiä avainarvoja.

Q5. Voiko keräyskehys laajentaa kahta Java-ydinpakettien avainrajapintaa, toinen on kloonattavissa ja toinen sarjoitettavissa? Selitä yksityiskohdat vastauksestasi yllä olevaan huolenaiheeseen?

Vastaus:
Kloonaus ja sarjoittaminen keräysrajapinnalla ei ole ollenkaan mahdollista, koska keräysrajapinnalla voi olla useita rajapintoja ja niillä on joitain mahdollisuuksia saada päällekkäisiä arvoja tai yksilöllisiä arvoja näihin rajapintoihin. Joten kloonaus tai sarjoittaminen ei ole mahdollista siinä. Mutta joillekin rajapinnoille on määritelty jokin erityinen menetelmä, joka voi käyttää tätä varten omaa kloonimenetelmää.

Osa 2 - Java-kokoelman haastattelukysymykset (Advanced)

Katsokaamme nyt edistyneitä Java-kokoelman haastatteluun liittyviä kysymyksiä ja vastauksia.

Q6. Keräyskehyksessä, yksi kehittäjän käyttämistä keskeisistä käyttöliittymistä, nimeltään Kartta. Mutta yllättäen Kartta-käyttöliittymä ei laajenna keräyskehystä suoraan. Voitteko selittää saman, miksi sitä ei jatkettu?

Vastaus:
Karttarajapinta on yksi keräyskehyksen avainrajapinnoista, mutta se ei koskaan laajenna keräysrajapintaa, koska Kartta ylläpitää aina tietoa avain-arvoparina, joka ei koskaan takaa useiden elementtien tallentamista, mikä edustaa yhtä keräyskehyksen avainominaisuuksia.

Q7. Yksi tärkeä käyttöliittymä, jota käytetään hyvin usein keräyskehyksessä, jota iteraattori. Selitä, milloin siitä voi olla hyötyä ja mikä sen tarkka hyöty on?

Vastaus:
Iteraattori on yksi suosituimmista rajapinnoista missä tahansa aktiivisessa kokoelmassa käytettävissä olevan tiedon iteroimiseksi. Jokaisella kokoelmalla on yksi erityinen menetelmänimen iteraattori, joka palauttaa Iterator-objektin viitteen. Sitten kahdella tärkeimmästä menetelmästä on Seuraava ja Seuraava varmistaa viimeisen rivin hakeminen ja saman käyttäminen.

Siirrytään seuraavaan Java-kokoelman haastattelukysymyksiin.

Q8. Kaksi keskeistä käyttöliittymää keräyskehyksessä tietojen lukemiseksi kokoelmasta ja käytöstä ovat Iterator ja Enumerator. Selitä yksityiskohtaisesti, millainen ero voi olla keräyskehyksessä käytettävissä olevien silmukointimenetelmien välillä?

Vastaus:
Listaus on yksi tärkein iteroiva ominaisuus, jota käytetään etenkin vanhoissa luokissa. Se on aina paljon nopeampi kuin normaali iteraattoriliittymä. Iteraattorin käyttö on kuitenkin aina turvallisempaa, koska se varmistaa iteroidun keräyskohteen langan turvallisuuden.

Q9. Jokainen kokoelmakehyksen rajapinta sisältää yhden tietyn menetelmäkutsulisäyksen joidenkin komponenttien arvon lisäämiseksi rajapintaan. Mutta jos Iterator-käyttöliittymässä ei ole minkäänlaista lisäysmenetelmää, voisitko selittää, miksi sitä ei ole siellä?

Vastaus:
Iteraattoriliitäntä, jota käytetään pääasiassa minkä tahansa aktiivisen kokoelman tietojen hallinnan iteraatioon. Se ei koskaan lisää minkäänlaisia ​​elementtejä eikä pysty koskaan tarjoamaan jonkin verran takuuta iteraation järjestyksessä.

Q10. Selitä ero keräyskehyksen kahden avainkäyttöliittymän, Iteratorin ja ListIteratorin välillä?

Vastaus:
Iterator ja Listiterator molemmat käyttävät keräystietojen iterointia ja auttavat kehittäjää työskentelemään kokoelman useiden elementtien kanssa. Ero niiden välillä selitetään alla:

  • Iterator työskentelee kokoelman kanssa, mutta ListIteraot vain List-käyttöliittymälle.
  • Toistolaite voi varmistaa vain eteenpäin kulkemisen, mutta Listiterator voi suorittaa myös eteen- ja taaksepäin kulkemisen.

Suositellut artikkelit

Tämä on opas Java-kokoelman haastattelua koskevien kysymysten ja vastausten luetteloon, jotta ehdokas voi helposti hakea nämä Java-kokoelman haastattelukysymykset. Voit myös katsoa seuraavia artikkeleita saadaksesi lisätietoja

  1. Active Directory -haastattelukysymykset
  2. Oracle PL / SQL -haastattelukysymykset
  3. Monisäikeiset haastattelukysymykset C ++
  4. Verkkoteknologian haastattelua koskevat kysymykset