Articles

15 technikai Core Java Interjú Kérdések Válaszok tapasztalt fejlesztők számára

amikor a Java programozó tapasztalata növekszik az évek során, például amikor a kezdő évekről ( 2-4) több tapasztalatra vagy egyfajta idősebb szintre ( 5-7 év) kerül, a Core Java Interjúkérdések is kissé megváltoznak. Természetesen alapokat, mint adatstruktúra, algoritmusok, illetve az objektum-orientált programozás ugyanaz marad, de a típusú kérdések lesz fejlettebb és a válaszokat mindenképpen kell, hogy legyen részletes, pontos. Gyakran kap kérdése van core Java, kérdés, hogy egy vezető fejlesztő 5 6 év tapasztalat, vagy néha, én megyek egy interjúra a senior Java fejlesztő, milyen kérdéseket nem kell várni. Ez néha rejtvények nekem, hogy ha egyszer lesz vezető, akkor automatikusan elkezd részt venni az interjúban, és akkor kell egy ötlet, hogy mit várhatunk interjúk, de ugyanakkor, megértem, hogy miután egy ötlet a kérdések, mielőtt interjú, segít előkészítése. Természetesen nem fog olyan kérdést kapni, mint amilyennel 2-3 éves szintű Java interjúkkal szembesült, de ez az interjúk különböző fordulóitól is függ.
nem láttam sok változást a telefonos fordulóban feltett kérdésekben, ami majdnem ugyanaz marad. Talál néhány tényalapú, néhány kódolási kérdést és néhány trükkös kérdést. Másrészt szemtől szembe, interjúk váltak részletesebb és trükkös, különösen a csúnya nyomon követés.
ebben a cikkben fogok megosztani néhány 15 technikai core Java interjú kérdések, amit láttam kérték vezető és tapasztalt fejlesztők 4-6 éves tapasztalattal különböző interjúk, főleg telefonos fordulóban. Én nem kiküldetés válaszokat, mint most, de megtalálja a választ a legtöbb kérdésre itt vagy a Javarevisited blog.
ha siet, és aktívan keres egy Java fejlesztői munkát, akkor is segítséget néhány jó könyvet írt, hogy felkészítse Önt a Java J2EE interjúk. A könyvek, a Java Programozási Interjú Kitett kiterjed minden fontos téma, mind a core Java, valamint a Java EE interjúk, amely tartalmazza az alapvető Java kérdések, az adatok szerkezete, algoritmusok, JVM belső, illetve GC tuning, Hibernált vagy a Tavaszi interjú kérdések, JUnit hangya egység vizsgálati kérdések, valamint néhány olyan Java-8 dolgokat.
Ez magában foglalja a tudás más JVM nyelvek, mint a Scala, Groovy és más platformok, mint az Android. A tökéletes társ, hogy jól a Java interjúk.
Ha többet szeretne készíteni a kódolási oldalon, akkor megnézheti a kódolási interjút is, amely közel 150 programozási kérdést és megoldást tartalmaz olyan nagy tech cégek technikai interjúiból, mint az Amazon, a Facebook, a Google, a Twitter és a Microsoft.

15 Core Java kérdések 5-6 év tapasztalt

ezeket a kérdéseket összegyűjtöttük elég magas rangú fejlesztők, amely legalább 5 éves tapasztalattal. Ezeket a kérdéseket az alapvető Java-interjúk különböző fordulóiban látták, beleértve a telefonos és személyes fordulókat a különböző vállalatokon, főleg olyan befektetési bankokon, mint a Barclays, a Morgan, az RBS és mások.

mi az elfoglalt fonás? Miért kell használni a Java?

az egyik érdekes, többszálú kérdés a vezető Java programozók számára, a busy spinning egy várakozási stratégia, amelyben egy szál csak egy hurokban vár, anélkül, hogy elengedné a CPU-t az alváshoz. Ez egy nagyon fejlett, speciális várakozási stratégia, amelyet a nagyfrekvenciás kereskedési alkalmazásban használnak, amikor a két üzenet közötti várakozási idő nagyon minimális.
Ha nem engedi el a CPU-t vagy nem függeszti fel a cérnát, a cérna megtartja az összes gyorsítótárazott adatot és utasítást, ami elveszhet, ha a cérnát felfüggesztik és a CPU egy másik magjában folytatják.
Ez a kérdés nagyon népszerű a nagyfrekvenciás alacsony késleltetésű programozási tartományban, ahol a programozók rendkívül alacsony késleltetést próbálnak elérni a mikro-milliszekundum tartományban. Lásd itt több 50 + speciális téma interjú kérdések tapasztalt programozók.

core java interview questions for senior developers

what is Read-Write Lock? A Java-ban a ConcurrentHashMap használja a ReadWrite zárat?

A ReadWrite Lock egy lezárási technika megvalósítása, ahol két különálló zárat használnak az olvasási és írási művelethez. Mivel olvasási művelet nem módosítja az állam a tárgy, biztonságos, hogy több szál hozzáférést a megosztott objektum olvasás nélkül zár, valamint a megosztási egy zár be az írni-olvasni zár, könnyen megteheti.
A Java a reentrantreadwritlock osztály formájában egy írás-olvasás zár végrehajtását biztosítja a java-ban.util.egyidejű.zár csomag. Ezt érdemes megnézni, mielőtt úgy dönt, hogy megírja saját olvasási-írási zárolását.
is, a jelenlegi megvalósítása java.util.A ConcurrentHashMap nem használja a ReadWriteLock-ot, hanem több szegmensre osztja a térképet, és külön zárolja őket különböző zárak használatával. Ez azt jelenti, hogy egy adott idő, csak egy része a Konkurenshashmap van zárva, hanem az egész térképet. További részletekért nézze meg, hogyan működik a ConcurrentHashMap belsőleg Java-ban.
Ez a core Java kérdés is nagyon népszerű a vezető és tapasztaltabb szintű Java interjúk pl 4-6 év, ahol elvárja kérdező, hogy menjen be részletesebben, mint kérve, hogy egy végrehajtását az írás-olvasás zár különböző politikák. Ha Ön egy tapasztalt Java programozó, úgy olvasás Java konkurencia a gyakorlatban, hogy minél több bizalmat multithreading és konkurencia Java.

hogyan lehet egy objektumot Megváltoztathatatlanná tenni Java-ban? Miért kellene Megváltoztathatatlanná tenni egy tárgyat?

Nos, a Megváltoztathatatlanság számos előnnyel jár, beleértve a menetbiztonságot, a gyorsítótár-képességet, és egy olvashatóbb többszálú kódot eredményez. Lásd itt, hogy megtanulják, hogyan lehet tárgyakat megváltoztathatatlan. Még egyszer, ez a kérdés is megy részletesebben, attól függően, hogy a válasz, hozhat több más kérdés, például. amikor megemlíti, hogy a tavasz megváltoztathatatlan, készen áll néhány okkal arra, hogy a karakterlánc miért változhatatlan a Java-ban.

milyen tervezési mintákat használt a Java projektben?

mindig számíthat néhány tervezési minták kapcsolódó kérdés Core Java Interjú vezető fejlesztői pozíció. Ez egy jobb stratégia megemlíteni minden GOF tervezési minta helyett Singleton vagy MVC, amely szinte minden más Java fejlesztő használja.
a legjobb megoldás lehet dekorációs minta, vagy talán függőségi befecskendezési minta, amely nagyon népszerű a tavaszi keretben. Azt is jó megemlíteni, csak a tervezési minták, amelyeket ténylegesen használt a projekt, és tudja, hogy ez a kompromisszumok.
gyakori, hogy ha egyszer megemlít egy adott tervezési mintát, mondjuk a gyárat vagy az absztrakt gyárat, a kérdező következő kérdése az lenne, használta-e ezt a mintát a projektben? Tehát készen áll a megfelelő példákat, és miért válasszon egy adott mintát. Azt is látni ezt a cikket a fejlettebb tervezési minta kérdések Java interjúk.

tud a nyitott zárt tervezési elvről vagy a Liskov helyettesítési elvről?

A tervezési minták objektumorientált tervezési elveken alapulnak, amelyeket erősen éreztem, hogy minden objektumorientált fejlesztőnek és a programozónak tudnia kell, vagy legalábbis van egy alapötlete arról, hogy mik ezek az elvek, és hogyan segítenek jobb objektumorientált kód írásában. I
f nem tudja a választ erre a kérdésre, udvariasan mondhat nemet, mivel nem várható el tőled, hogy megismerje a választ minden kérdésre, de a kérdés megválaszolásával erősebbé teheti állítását, mivel sok tapasztalt fejlesztő nem válaszol ilyen alapvető kérdésekre. Lásd: tiszta kód további információ az objektumorientált és szilárd tervezési elvekről.

melyik tervezési mintát fogja használni, hogy megvédje a kódot egy harmadik fél könyvtár, amely valószínűleg helyébe egy másik pár hónap alatt?

ez csak egy példa a forgatókönyv-alapú tervezési minta interjú kérdésre. Annak érdekében, hogy teszteljék a több mint 5 éves tapasztalattal rendelkező Java fejlesztők gyakorlati tapasztalatait, a vállalatok felteszik ezt a kérdést. Akkor számíthat több valós tervezési problémák különböző formátumokban, néhány részletesebb magyarázatot kontextusban, vagy néhány csak szándék körül.

az egyik módja annak, hogy megvédje a kódot egy harmadik féltől származó könyvtárból, az, hogy kódoljon egy interfésszel szemben a végrehajtás helyett, majd használja a dependency injection-t egy adott megvalósítás biztosításához. Ez a fajta kérdés is gyakran kérik, hogy tapasztalt, magas rangú Java fejlesztők 5-7 éves tapasztalattal.

7. kérdés) Hogyan lehet megakadályozni az SQL injekciót Java kódban?

ez a kérdés inkább J2EE és Java EE fejlesztők, mint core Java fejlesztők, de, ez még mindig egy jó kérdés, hogy ellenőrizze a JDBC és biztonsági készség tapasztalt Java programozók.
használhatja Prepardstatement, hogy elkerülje az SQL injection Java kód. Az SQL lekérdezések végrehajtására szolgáló Prepardstatement használata nem csak jobb teljesítményt nyújt, hanem védi a Java és J2EE alkalmazást az SQL Injection attack-től is.
hasonló megjegyzés esetén, ha többet dolgozik a Java EE vagy a J2EE oldalon, akkor ismernie kell más biztonsági kérdéseket is, beleértve a munkamenet-rögzítési támadást vagy a webhelyközi Szkripttámadást, valamint azok megoldását. Ezek olyan területek, kérdések, ahol egy jó válasz lehet, hogy egy csomó különbség a kiválasztás.

8. kérdés) meséljen nekem a Java-ban elérhető különböző Referenciatípusokról, például a WeakReference, a SoftReference vagy a PhantomReference? és miért kellene használni őket?

Nos, ezek különböző referenciatípusok, amelyek a java-ból származnak.lang.ref csomag, feltéve, hogy segítse a Java szemétgyűjtő esetén alacsony memória problémák. Ha becsomagol egy objektumot a WeakReference-rel, mint akkor, ha O erős referenciák vannak, akkor jogosult lesz a begyűjtött szemétre. Később a szemétgyűjtő visszanyerheti őket, ha a JVM kevés memóriával rendelkezik.
a java.util.A WeakHashMap egy speciális térkép implementáció, amelynek kulcsai a WeakReference tárgyát képezik, tehát ha csak a térkép tartalmazza bármely objektum referenciáját, más nem, akkor ezeket az objektumokat szemetet lehet gyűjteni, ha a GC-nek memóriára van szüksége. Lásd Java Performance A végleges útmutató tudjon meg többet arról, hogyan kell kezelni a teljesítmény problémák Java.

core java technikai interjú kérdések és válaszok tapasztalt

9. kérdés) hogyan kap módszer HashMap működik a Java?

Igen, ez még mindig az egyik legnépszerűbb alapvető Java kérdés a vezető fejlesztői interjúkhoz. Ezt a kérdést a telefonos fordulóban is várhatja, majd a lot nyomon követési kérdései, amint azt a hozzászólásom tárgyalja, hogyan működik a HashMap Java-ban.
a rövid válasz erre a kérdésre az, hogy HashMap alapul hash táblázat adatstruktúra és használja hashCode() módszer kiszámításához hash kód megtalálni a vödör helyét a mögöttes tömb és egyenlő () módszer keresni az objektum ugyanabban a vödörben ütközés esetén. Lásd itt, Ha többet szeretne megtudni arról, hogyan működik a HashMap() módszere Java-ban.

kérdés 10) melyik két módszer HashMap key Object kell végrehajtani?

ez az egyik nyomon követési kérdés, amelyről a korábbi kérdésekben mondtam. Mivel a HashMap működése a hash tábla adatstruktúráján alapul, minden olyan objektumnak, amelyet a HashMap vagy bármely más hash-alapú gyűjtemény kulcsaként szeretne használni, például Hashtable vagy ConcurrentHashMap, egyenlő() és hashCode() módszert kell végrehajtania.
a hashCode() a vödör helyének megtalálására szolgál, azaz a mögöttes tömb indexe, az egyenlő() módszer pedig a megfelelő objektum megtalálására szolgál a vödörben tárolt kapcsolt listában ütközés esetén. By the way, a Java 8, HashMap is elkezdte használni a fa adatstruktúra tárolja az objektumot ütközés esetén, hogy csökkentse a legrosszabb esetben teljesítményét HashMap O (n) O(logN). Lásd a cikket többet megtudni, hogyan HashMap kéz nélküli ütközések Java.

11. kérdés) Miért kell a kulcsként használt objektumnak változatlannak lennie?

ez egy újabb nyomon követése korábbi core Java interjú kérdések. Jó tesztelni a jelöltek technikai ismereteinek mélységét azáltal, hogy egyre több kérdést tesz fel ugyanazon a témán. Ha tudsz a Változhatatlanságról, akkor egyedül válaszolhat erre a kérdésre. A rövid válasz erre a kérdésre kulcsfontosságú változatlannak kell lennie, hogy hashCode () módszer mindig ugyanazt az értéket adja vissza.

mivel a hashCode () módszerrel visszaküldött hash kód az objektum tartalmától, azaz a tagváltozók értékeitől függ. Ha egy objektum változtatható, akkor ezek az értékek megváltozhatnak, ahogy a hash kód is. Ha ugyanaz az objektum más hash kódot ad vissza, miután beillesztette az értéket a HashMap-ba, akkor különböző vödörhelyeken keres, és nem tudja letölteni az objektumot. Ezért kell egy kulcsfontosságú objektumnak változatlannak lennie. Ez nem egy szabály érvényesíteni a fordító, de meg kell vigyázni rá, mint egy tapasztalt programozó. Lásd a cikket a fejlettebb Java gyűjtemény interjú kérdések.

12. kérdés) hogyan éri el a ConcurrentHashMap skálázhatóságát?

néha ez a többszálú + gyűjtemény interjú kérdés is feltett, mint, a különbség Konkurenshashmap Hashtable Java. A szinkronizált HashMap vagy Hashtable problémája az volt, hogy az egész térkép zárolva van, amikor egy szál bármilyen műveletet végez a térképpel.
a java.util.A ConcurrentHashMap osztály ezt a problémát egy zárolt sztrippelési technikával oldja meg, ahol az egész térkép különböző szegmensekre van lezárva, és csak egy adott szegmens van lezárva az írási művelet során, nem pedig az egész térkép. A ConcurrentHashMap is eléri a skálázhatóság azáltal, hogy zármentes olvas, mint olvasni egy szál-biztonságos működés. Lásd itt a fejlettebb multi-threading és konkurencia kérdések Java.

13. kérdés) hogyan oszthatsz meg egy objektumot a szálak között? vagy hogyan lehet átadni egy objektumot az egyik szálról a másikra?

ennek többféle módja van, pl. Sorok, hőcserélő stb., de Blokkolásaqueue a gyártó-fogyasztó minta használatával a legegyszerűbb módja annak, hogy egy tárgyat szálról másikra továbbítsunk.

kérdés 14) hogyan lehet megtalálni, ha a program egy holtpont?

azáltal, hogy menet dump segítségével kill -3, a JConsole vagy VisualVM), azt javaslom, hogy előkészítse ezt a core java interjú kérdés részletesebben, mint a kérdező határozottan szeret menni részletesebben pl fognak nyomja meg a kérdéseket, mint például, tényleg megtette, hogy a projekt, vagy sem?

15. kérdés) hogyan kerülheti el a holtpontot kódolás közben?

a zárak beszerzésének és kiadásának rendezett módon történő biztosításával erről a kérdésről itt olvashat részletesen.
ez mind ezen a listán a Core Java interjú kérdések vezető fejlesztők és tapasztalt programozók. Nem tartalmaztam sok kérdést más fontos témákból, mint például a kivételkezelés, a szemétgyűjtés hangolása és a JVM belsőségek, amelyek szintén nagyon népszerűek az 5-6 éves tapasztalattal rendelkező Java programozók körében, talán a következő részben bevonom őket.
egyébként, ha nem találja a választ ezekre a alapvető Java kérdésekre, tudassa velem. Lehet frissíteni a bejegyzést egy részletesebb opciót, alapján az én olvasó kérésére.
További tanulás
A teljes Java Masterclass
Java Fundamentals: A Java Nyelv
Kapcsolódó Java Interjú Kérdések egyéb témák

  • Java Kérdést a Telefon Képernyőjén Interjúk (lista)
  • Szál, Konkurens Kérdést a Java Interjúk (lista)
  • Java Enum Interjú Kérdések, Válaszok (lista)
  • Java OOP Interjú Kérdések Válaszok (lista)
  • Spring MVC Interjú Kérdések, Válaszok (lista)
  • Hibernált Interjú Kérdések Válaszok (lista)
  • JDBC Interjú Kérdések, Válaszok (lista)
  • Array Koncepció Interjú Kérdések Java-ban (lista)
  • Nyugodt Web Szolgáltatás Interjú Kérdések (lista)
  • Servlet, valamint JSP Interjú Kérdések, Válaszok (lista)
  • Java Web Szolgáltatás Interjú Kérdések, Válaszok (lista)