15 Technical Core Java Interview Questions vastaukset kokeneille kehittäjille
kun Java-ohjelmoijan kokemus kasvaa vuosien aikana esim.kun se siirtyy aloittelijavuosilta ( 2-4) enemmän kokemukseen tai tavallaan ylemmälle tasolle ( 5-7 vuotta), myös Core Java Interview-kysymykset muuttuvat hieman. Tietenkin perusasiat, kuten tietorakenne, algoritmit ja olio-ohjelmointi pysyvät samoina, mutta kysymystyypit tulevat kehittyneemmiksi ja niiden vastausten on ehdottomasti oltava yksityiskohtaisempia ja tarkempia. Saan usein kyselyitä ydin Java kysymyksiä kysytään vanhempi kehittäjä 5-6 vuoden kokemus, tai, joskus, olen menossa haastatteluun vanhempi Java kehittäjä, millaisia kysymyksiä minun pitäisi odottaa. Tämä joskus ihmetyttää minua, että kun sinusta tulee vanhempi, alat automaattisesti osallistua haastatteluun, ja sinulla pitäisi olla käsitys siitä, mitä odottaa haastatteluissa, mutta samaan aikaan, voin ymmärtää, että ottaa ajatus kysymyksiä ennen haastatteluun, auttaa valmistautumista. Et tietenkään saa samanlaista kysymystä kuin 2-3 vuoden tasoisissa Java-haastatteluissa, mutta se riippuu myös eri haastattelukierroksista.
en ole nähnyt paljon muutoksia puhelinkierroksella esitettyihin kysymyksiin, jotka ovat lähes ennallaan. Löydät joitakin faktapohjaisia, joitakin koodaus kysymyksiä ja muutamia hankalia kysymyksiä. Toisaalta kasvokkain haastattelut ovat muuttuneet yksityiskohtaisemmiksi ja hankalammiksi, varsinkin ikävien seurausten myötä.
tässä artikkelissa aion jakaa noin 15 teknistä ydin Java haastattelu kysymyksiä, jotka olen nähnyt kysyi vanhempi ja kokenut Kehittäjät 4-6 vuoden kokemus eri haastatteluissa, enimmäkseen puhelinliikenteen kierroksilla. En lähetä vastauksia tällä hetkellä, mutta löydät vastaukset useimpiin kysymyksiin täältä tai Javarevisited-blogista.
Jos sinulla on kiire ja etsit aktiivisesti Java-kehittäjän työtä, voit myös ottaa apua muutamista hyvistä kirjoista, jotka on kirjoitettu valmistamaan sinua Java J2EE-haastatteluihin. Kirjat kuten, Java Programming Interview Exposed kattaa kaikki tärkeät aiheet sekä core Java ja Java EE haastatteluja, jotka sisältävät perus Java kysymyksiä, tietorakenne ja algoritmit, JVM sisäosat ja GC viritys, Hibernate ja Spring Haastattelu Kysymyksiä, JUnit Ant yksikkö testaus kysymyksiä, ja jotkut Java 8 tavaraa.
se kattaa myös muiden JVM-kielten, kuten Scalan, Groovyn ja muiden alustojen, kuten Androidin, osaamisen. Täydellinen kumppani tehdä hyvin Java haastatteluja.
Jos haluat valmistautua enemmän koodauspuolella, voit myös tarkistaa Cracking the Coding Interview, joka sisältää lähes 150 ohjelmointikysymystä ja-ratkaisua suurten teknologiayritysten, kuten Amazonin, Facebook, Google, Twitter ja Microsoft teknisistä haastatteluista.
15 ydinkysymystä 5-6 vuotta kokeneilta
kaikki nämä kysymykset on kerätty melko vanhemmilta kehittäjiltä, joilla on vähintään 5 vuoden kokemus. He ovat nähneet näitä kysymyksiä eri kierroksilla ydin Java haastatteluja, kuten Puhelin-ja face-to-face kierroksia eri yritysten, enimmäkseen investointipankkeja kuten Barclays, Morgan, RBS, ja muut.
What is Busy Spinning? Miksi sinun pitäisi käyttää sitä Java?
yksi mielenkiintoisista Monilukukysymyksistä vanhemmille Java-ohjelmoijille, busy spinning on odotusstrategia, jossa Lanka vain odottaa silmukassa vapauttamatta suoritinta nukahtamista varten. Tämä on hyvin kehittynyt ja erikoistunut odotusstrategia, jota käytetään korkean taajuuden kaupankäynnin sovellus, kun odotusaika kahden viestin välillä on hyvin minimaalinen.
kun et vapauta suoritinta tai keskeytä säiettä, säie säilyttää kaikki välimuistissa olevat tiedot ja ohjeet, jotka saattavat kadota, jos säiettä keskeytettiin ja jatkettiin takaisin toiseen suorittimen ytimeen.
Tämä kysymys on varsin suosittu korkean taajuuden low latency-ohjelmointialueella,jossa ohjelmoijat pyrkivät äärimmäisen alhaiseen latenssiin mikro-millisekunneista. Katso täältä lisää 50 + advanced thread haastattelukysymyksiä kokeneille ohjelmoijille.
What is Read-Write Lock? Käyttääkö ConcurrentHashMap Javassa ReadWrite-Lukkoa?
ReadWrite-lukko on lukkojen strippaustekniikan toteutus, jossa kaksi erillistä lukkoa käytetään luku-ja kirjoitustoimintaan. Koska lukutoiminto ei muuta objektin tilaa, on turvallista sallia useiden säieyhteyksien käyttö jaettuun objektiin lukemista varten ilman lukitusta, ja jakamalla yksi Lukko luku-ja kirjoituslukkoon, voit helposti tehdä sen.
Java tarjoaa reentrantreadwritlock-luokan ReentrantReadWritLock-luokan toteutuksen Javassa.util.samanaikainen.Lukitse paketti. Tämä kannattaa katsoa ennen kuin päätät kirjoittaa oman luku-kirjoittaa lukitus toteutus.
myös Javan nykyinen toteutus.util.ConcurrentHashMap ei käytä Readwritelockia, vaan se jakaa kartan useisiin segmentteihin ja lukitsee ne erikseen eri lukkojen avulla. Tämä tarkoittaa, että vain osa yhtäaikaisesta kartasta on lukittu koko kartan sijaan. Katso, miten ConcurrentHashMap sisäisesti toimii Java tarkemmin.
Tämä Java-ydinkysymys on myös erittäin suosittu vanhemman ja kokeneemman tason Java-haastatteluissa, esim. 4-6 vuotta, jossa haastattelijan odotetaan menevän tarkemmin, kuten pyytämällä sinua tarjoamaan luku-kirjoitus-lukon toteutuksen eri politiikoilla. Jos olet kokenut Java-ohjelmoija, harkitse Java Concurrencyn lukemista käytännössä saadaksesi lisää luottamusta Javan monilukuun ja samanaikaisuuteen.
Kuinka tehdä objekti muuttumattomaksi Jaavalla? Miksi esineestä pitäisi tehdä muuttumaton?
muuttumattomuus tarjoaa useita etuja, kuten kierreturvallisuuden, kyvyn kätkeä ja johtaa helpommin luettavaan monilukuiseen koodiin. Katso tästä, miten esineet tehdään muuttumattomiksi. Jälleen kerran tämä kysymys voi myös mennä tarkemmin ja riippuen vastauksestasi, voi tuoda useita muita kysymyksiä esim. kun mainitset kevät on muuttumaton, olla valmis joitakin syitä, miksi merkkijono on muuttumaton Java.
mitä Suunnittelukuvioita olet käyttänyt Java-projektissasi?
always expect some design patterns related question for Core Java Interview of senior developer position. Parempi strategia on mainita mikä tahansa GOF-suunnittelukuvio Singletonin tai MVC: n sijaan, jota lähes joka toinen Java-kehittäjä käyttää.
paras vetosi voi olla Sisustuskuvio tai ehkä Riippuvuussuihkukuvio, joka on varsin suosittu kevään kehyksissä. On myös hyvä mainita vain suunnittelukuviot, joita olet itse käyttänyt projektissasi ja jotka tietävät sen olevan tradeoffs.
on tavallista, että kun mainitset tietyn suunnittelukuvion sano tehdas tai abstrakti tehdas, haastattelijan seuraava kysymys on, oletko käyttänyt tätä kuviota projektissasi? Ole siis valmis oikeisiin esimerkkeihin ja siihen, miksi valitset tietyn mallin. Voit myös nähdä tämän artikkelin kehittyneempiä suunnittelu malli kysymyksiä Java haastatteluja.
tiedätkö avoimen suljetun suunnitteluperiaatteen vai Liskovin Korvausperiaatteen?
Suunnittelukuviot perustuvat oliokeskeisiin suunnitteluperiaatteisiin, jotka mielestäni jokaisen oliokeskeisen kehittäjän ja ohjelmoijan tulisi tuntea tai ainakin saada perusajatus siitä, mitä nämä periaatteet ovat ja miten ne auttavat paremman oliokeskeisen koodin kirjoittamisessa. I
f et tiedä vastausta tähän kysymykseen, voit kohteliaasti sanoa ei, koska sinun ei odoteta tietävän vastausta jokaiseen kysymykseen, mutta vastaamalla tähän kysymykseen voit tehdä väitteesi vahvemmaksi, koska monet kokeneet kehittäjät eivät vastaa tällaisiin peruskysymyksiin. Katso Clean Code Lue lisää oliokeskeisistä ja vankoista suunnitteluperiaatteista.
millä Suunnittelukaavalla suojaat koodisi kolmannen osapuolen kirjastolta, joka todennäköisesti korvataan toisella parin kuukauden kuluttua?
Tämä on vain yksi esimerkki skenaariopohjaisesta suunnittelukuvion haastattelukysymyksestä. Testatakseen Java-kehittäjien käytännön kokemusta yli 5 vuoden kokemuksella yritykset kysyvät tällaisia kysymyksiä. Voit odottaa enemmän reaalimaailman suunnitteluongelmia eri muodoissa, jotkut yksityiskohtaisemmin selitettynä asiayhteyden kanssa, tai jotkut vain tarkoituksellisesti ympäri.
Yksi tapa suojata koodisi kolmannen osapuolen kirjastolta on koodata käyttöliittymää vastaan toteutuksen sijaan ja käyttää sitten riippuvuusruisketta tietyn toteutuksen tarjoamiseen. Tällaista kysymystä kysytään myös melko usein kokeneilta ja vanhemmilta Java-kehittäjiltä, joilla on 5-7 vuoden kokemus.
kysymys 7) miten estät SQL-pistoksen Java-koodissa?
tätä kysymystä kysytään enemmän J2EE-ja Java EE-kehittäjiltä kuin core Java-kehittäjiltä, mutta silti on hyvä kysymys tarkistaa kokeneiden Java-ohjelmoijien JDBC-ja Tietoturvataidot.
Java-koodissa voi käyttää Preparedstatementia välttääkseen SQL-injektion. Preparadstatementin käyttö SQL-kyselyjen suorittamiseen ei ainoastaan paranna suorituskykyä, vaan myös suojaa Java-ja J2EE-sovellustasi SQL Injection attack-järjestelmältä.
vastaavalla tavalla, Jos työskentelet enemmän Java EE: n tai J2EE: n puolella, sinun tulisi tuntea myös muut tietoturvaongelmat, kuten Session Fixation attack tai Cross-Site Scripting attack, ja miten ratkaista ne. Nämä ovat joitakin aloja ja kysymyksiä, joissa hyvä vastaus voi tehdä paljon eroa valinta.
Kysymys 8) kerro minulle eri Referenssityypeistä, joita on tarjolla Javassa, esim. WeakReference, SoftReference tai PhantomReference? ja miksi sinun pitäisi käyttää niitä?
no, ne ovat eri viitetyyppejä, jotka tulevat javalta.lang.ref paketti ja avustaa Java Roskankerääjä tapauksessa alhainen muisti ongelmia. Jos kääriä objektin Heikkoviittaus kuin se on oikeutettu roskat kerätään, jos on O vahvoja viittauksia. Roskien kerääjä voi myöhemmin hakea ne takaisin, jos JVM: n muisti käy vähiin.
Jaava.util.WeakHashMap on erityinen Karttatoteutus, jonka avaimet ovat Weakreferencen objekti, joten jos vain kartta sisältää minkä tahansa objektin viittauksen eikä mitään muuta, ne objektit voidaan kerätä roskiin, jos GC tarvitsee muistia. Katso Java suorituskyky lopullinen opas lisätietoja siitä, miten käsitellä suorituskykyyn liittyviä kysymyksiä Java.
Question 9) How does get method of HashMap works in Java?
Kyllä, Tämä on edelleen yksi suosituimmista Java-ydinkysymyksistä senior developer interviews-sivustolla. Voit myös odottaa tätä kysymystä telephonic kierros, jonka jälkeen lot: n jatkokysymyksiä kuten keskusteltiin minun postitse miten HashMap toimii Java.
lyhyt vastaus tähän kysymykseen on, että HashMap perustuu hajautustaulun tietorakenteeseen ja käyttää hashcode () – menetelmää hash-koodin laskemiseen löytääkseen ämpärin sijainnin taustalla olevasta matriisista ja equals () – menetelmää kohteen etsimiseen samasta ämpäristä törmäystilanteessa. Katso tästä lisätietoja miten saada () menetelmä HashMap toimii Java.
kysymys 10) mitkä kaksi menetelmää HashMap-avainobjektin tulisi toteuttaa?
tämä on yksi jatkokysymyksistä, joista puhuin aiemmissa kysymyksissä. Koska hashmapin työskentely perustuu hajautustaulun tietorakenteeseen, minkä tahansa objektin, jota haluat käyttää avaimena Hashmapissa tai muussa hajautuspohjaisessa kokoelmassa, esim.Hashtablessa tai Concurrenthashmapissa, on otettava käyttöön equals ()-ja hashCode () – menetelmä.
hashcode () – menetelmää käytetään ämpärin sijainnin etsimiseen eli alla olevan joukon indeksiin ja equals () – menetelmää käytetään oikean kohteen etsimiseen ämpäriin tallennetusta linkitetystä listasta törmäystilanteessa. Muuten, Java 8: sta, HashMap alkoi myös käyttää puun tietorakennetta objektin tallentamiseen törmäystilanteessa vähentääkseen hashmapin huonoimman mahdollisen suorituskyvyn O(n): stä O: ksi (logN). Katso artikkeli lisätietoja siitä, miten HashMap handless törmäykset Java.
kysymys 11) miksi avaimena Käytetyn olion pitäisi olla muuttumaton?
tämä on jatkoa aiemmille core Java-haastattelukysymyksille. Ehdokkaiden teknisen osaamisen syvyyttä on hyvä testata esittämällä yhä enemmän kysymyksiä samasta aiheesta. Jos tiedät muuttumattomuudesta, voit vastata tähän kysymykseen itse. Lyhyt vastaus tähän kysymykseen on avain pitäisi olla muuttumaton niin, että hashCode () menetelmä aina palauttaa saman arvon.
koska hashcode () – menetelmällä palautettu hash-koodi riippuu olion sisällöstä eli jäsenmuuttujien arvoista. Jos objekti on muunnettavissa kuin nämä arvot voivat muuttua ja niin on hash-koodi. Jos sama objekti palauttaa eri hajautuskoodin, kun olet syöttänyt arvon Hashmapiin, päädyt etsimään eri ämpäripaikoista etkä pysty noutamaan objektia. Siksi avainkohteen pitäisi olla muuttumaton. Se ei ole sääntö, jota kääntäjä valvoo, mutta sinun pitäisi huolehtia siitä kokeneena ohjelmoijana. Katso artikkelista tarkemmat Java Collection-haastattelukysymykset.
kysymys 12) Miten ConcurrentHashMap saavuttaa Skaalautuvuutensa?
joskus tätä monilukuista + kokoelmahaastattelukysymystä kysytään myös, ero Concurrenthashmapin ja Hashtablen välillä Javassa. Synkronoidun Hashmapin tai Hashtablen ongelma oli, että koko kartta lukitaan, kun säie suorittaa minkä tahansa toiminnon Map-ohjelmalla.
Jaava.util.ConcurrentHashMap-Luokka ratkaisee tämän ongelman käyttämällä lukkojen poistotekniikkaa, jossa koko kartta lukitaan eri segmentteihin ja vain tietty segmentti lukitaan kirjoitusoperaation aikana, ei koko karttaa. ConcurrentHashMap saavuttaa myös skaalautuvuutensa sallimalla lukitsemattomat lukemat lukittuna on kierreturvallinen operaatio. Katso tästä kehittyneempiä multi-ketjuttaminen ja samanaikaisuus kysymyksiä Java.
kysymys 13) Miten objekti jaetaan kierteiden kesken? tai Miten siirtää esine langasta toiseen?
siihen on useita tapoja esim. Jonot, vaihdin, jne, mutta BlockingQueue käyttämällä tuottaja-kuluttaja kuvio on helpoin tapa siirtää objektin Lanka toiseen.
kysymys 14) Miten löytää, jos ohjelmasi on umpikujassa?
ottamalla thread dump käyttäen kill -3: a, jconsolea tai VisualVM: ää) ehdotan, että valmistelet tämän java-haastattelun ydinkysymyksen tarkemmin, koska haastattelija haluaa ehdottomasti mennä yksityiskohtaisemmin esim. he painavat kysymyksiä kuten, Oletko todella tehnyt sen projektissasi vai et?
kysymys 15)miten vältät umpikujan koodatessasi?
varmistamalla, että lukot hankitaan ja vapautetaan tilatulla tavalla, Katso tästä yksityiskohtainen vastaus tähän kysymykseen.
That ’ s all on this list of Core Java Interview Questions for senior developers and experienced programmers. En ole sisällyttänyt paljon kysymyksiä muista tärkeistä aiheista, kuten poikkeusten käsittely, roskien kerääminen viritys ja JVM sisäosat, joka on myös erittäin suosittu Java ohjelmoijat 5-6 vuoden kokemus, ehkä sisällytän ne seuraavassa osassa.
muuten, jos et löydä vastausta mihinkään näistä ydinkysymyksistä, kerro minulle. Saatan päivittää postausta tarkemmalla vaihtoehdolla lukijan pyynnöstä.
Further Learning
The Complete Java Masterclass
Java Fundamentals: Javan kieli
aiheeseen liittyviä Java-haastattelukysymyksiä muista aiheista
- Java-kysymyksiä puhelimen Näyttöhaastatteluja varten (list)
- Java-kysymyksiä ja samanaikaisia kysymyksiä Java Interviews (list)
- Java Enum Interview Questions and Answers (list)
- Java OOP Interview Questions with Answers (list)
- Spring MVC Interview Questions and Answers (list)
- JDBC interview questions and answers (list)
- array concept interview questions in Java (list)
- RESTful Web Service Interview Questions (list)
- Servlet and JSP Interview Questions and Answers (list)
- Java Web Service Interview Questions and Answers (list)
Leave a Reply