Az állásinterjúk programozásakor gyakran feltett Java kérdések listája.

Helló mindenki! Az elmúlt években rengeteg Java interjúval kapcsolatos kérdést és beszélgetést osztottam meg külön-külön. Sok olvasóm kérte, hogy hívjam össze őket, hogy ugyanazon a helyen legyenek. Ez a bejegyzés ennek az eredménye.
Ez a cikk több mint 50 Java interjúkérdést tartalmaz, amelyek minden fontos témát felölelnek, mint például a Java alapjai, a Java Collection Framework, a Java többszálas és egyidejű, a Java IO, a JDBC, a JVM belső, kódolási problémák, az objektumorientált programozás stb.
A kérdéseket különféle interjúkból is felvesszük, és korántsem nagyon nehézek. Lehet, hogy már látta őket telefonján vagy személyes interjúk során.
A kérdések nagyon hasznosak olyan fontos témák áttekintéséhez is, mint a többszálas szálak és a gyűjtemények. Megosztottam néhány hasznos forrást a további tanuláshoz és fejlesztéshez, például A teljes Java MasterClass-ot, hogy feljavítsam és kitöltsem a Java-készségek hiányosságait.
Tehát mire várunk? Az alábbiakban felsoroljuk a kezdőknek és tapasztalt Java fejlesztőknek szóló interjúkban a leggyakrabban feltett Java kérdéseket.
50+ Java interjú kérdése 2-3 évig Tapasztalt programozók
Tehát, anélkül, hogy tovább pazarolnád az idejét, íme a kezdő programozóknak feltett néhány gyakran feltett Core Java interjúk felsorolása. Ez a lista a kezdőkre és a kevésbé tapasztalt fejlesztőkre összpontosít, például olyanokra, akik 2-3 éves Java-tapasztalattal rendelkeznek.
1) Hogyan érheti el a Java a platform függetlenségét? (válasz)
tipp: bájtkód és Java virtuális gép
2) Mi van ClassLoader
a Java-ban? (válasz)
tipp: a JVM része, amely bytecode-okat tölt be az osztályok számára. Írhat saját.
3) Írjon egy Java programot annak ellenőrzésére, hogy egy szám páros vagy páratlan? (válasz)
tipp: használhatja a bitenkénti operátort, mint a bitenkénti ÉS, ne feledje, hogy még a számnak is bináris formátumban nulla a vége, a páratlan számnak pedig 1.
4) Különbség a Java ArrayList
és HashSet
a Java között? (válasz)
tipp: minden különbség List
és Set
itt alkalmazandó, pl rendelés, ismétlődések, véletlenszerű keresés, stb See Java alapjai: Collections Richard Warburton többet megtudni ArrayList, Hash-halmaz és más fontos gyűjtemények Java.

5) Mi az a kettős ellenőrzött zár a Singletonban? (válasz)
tipp: kétszer ellenőrizze, hogy inicializálják-e a példányokat, először zárolás nélkül, másodszor zárolással.
6) Hogyan hozhat létre szálbiztos Singletont a Java-ban? (válasz)
tipp: sokféleképpen, például az Enum használatával, vagy kétszer ellenőrzött zárolási mintával, vagy beágyazott statikus osztály használatával.
7) Mikor kell használni az illékony változót a Java-ban? (válasz)
tipp: amikor utasítania kell a JVM-et, hogy egy változót több szál módosíthat, és tippet kell adnia a JVM-nek, amely nem tárolja az értékét.
8) Mikor kell használni a tranziens változót a Java-ban? (válasz)
tipp: amikor egy változót nem sorozhatóvá akarunk tenni egy osztályban, amely megvalósítja a Serializable felületet. Más szavakkal, használhatja egy olyan változóhoz, amelynek értékét nem kívánja menteni. Lásd a teljes Java Mesterkurzus megismerni átmeneti változók Java.
9) Különbség a tranziens és az illékony változó között a Java-ban? (válasz)
tipp: teljesen más, az egyiket a szerializáció kontextusában, míg a másikat egyidejűleg használják.
10) Különbség a Serializable és az Externalizable között a Java-ban? (válasz)
tipp: Az Externalizable segítségével jobban kontrollálhatja a Serialization folyamatot.
11) Felülírhatjuk-e a Java metódust? (válasz)
tipp: Nem, mert nem látható az alosztályban, ez az elsődleges követelmény a Java felülírására.
12) Különbség a Java Hashtable
és HashMap
a Java között? (válasz)
tipp: több, de a legfontosabb az Hashtable
, ami szinkronizált, míg HashMap
nem. Ez is örökölt és lassú ahhoz képest HashMap
.
13) Különbség a Java között List
és Set
a Java-ban? (válasz)
tipp: List
rendezve van és megengedi a duplikátumot. Set
rendezetlen, és nem engedélyezi az ismétlődő elemeket.
14) A Java ArrayList
és Vector
a Java közötti különbség (válasz)
tipp: Sok, de a legfontosabb, hogy ArrayList
nem szinkronizált és gyors, míg Vector
szinkronizált és lassú. Ez is olyan örökségi osztály, mint Hashtable
.
15) Különbség a Java között Hashtable
és ConcurrentHashMap
a Java-ban? (válasz)
tipp: méretezhetőbb. További információkért lásd: Java alapjai: Richard Warburton gyűjteményei .
16) Hogyan ConcurrentHashMap
érhető el a méretezhetőség? (válasz)
tipp: a térkép szegmensekre osztásával és csak az írás közbeni zárolással.
17) Melyik két eljárás felülírja egy Object
kell használni, mint Key
a HashMap
? (válasz)
tipp: egyenlő és hashcode
18) Különbség a várakozás és az alvás között a Java-ban? (válasz)
tipp: A wait()
módszer feloldja a zárat vagy a monitort, míg az alvás nem.
19) Különbség a Java között notify
és notifyAll
a Java-ban? (válasz)
tipp: notify
értesíti, hogy egy véletlenszerű szál várja a zárat, miközben notifyAll
tájékoztatja az összes szálat, amely monitorra vár. Ha biztos benne, hogy csak egy szál vár, akkor használja notify
, vagy pedig notifyAll
jobb. Lásd: Threading Essentials Mini-CourseHeinz Kabutz Java bajnok, hogy többet tudjon meg a menetfúrás alapjairól.
20) Miért írja felül a hashcode-ot equals()
a Java-val együtt? (válasz)
tipp: hogy megfelelnek az egyenlők és kivonat, szerződés, amely ahhoz szükséges, ha azt tervezi, hogy tárolja a tárgyat gyűjtemény osztályokat, pl HashMap
vagy ArrayList
.
21) Mi az HashMap
eszközök terhelési tényezője ? (válasz)
tipp: Az átméretezést kiváltó küszöb HashMap
általában 0,75, ami azt jelenti, hogy HashMap
átméretezi önmagát, ha 75 százalékkal teli.
22) Különbség a Java között ArrayList
és LinkedList
a Java-ban? (válasz)
tipp: ugyanaz, mint egy tömb és a csatolt lista, az egyik véletlenszerű keresést tesz lehetővé, míg a másik nem. Beillesztés és törlés egyszerű a linkelt listán, de a keresés egyszerű egy tömbön. Lásd a Java alapjai: Gyűjtemények című részt , Richard Warburton Pluralsight-tanfolyamát, hogy többet tudjon meg a Java alapvető Java-adatszerkezetéről.
23) Különbség a Java CountDownLatch
és CyclicBarrier
a Java között? (válasz)
tipp: Újból felhasználhatja CyclicBarrier
a korlát megszakadása után, de nem használhatja újra, CountDownLatch
ha a számlálás eléri a nullát.
24) Mikor használja a Runnable
vs- Thread
t Java-ban? (válasz)
tipp: mindig
25) Mit jelent az Enum típusbiztonsága a Java-ban? (válasz)
tipp: Ez azt jelenti, hogy nem rendelhet más Enum típusú példányt egy Enum változóhoz. pl. ha olyan változója van, mint a DayOfWeek
nap, akkor nem rendelhet hozzá értéket az DayOfMonth
enum-ból.
26) Hogyan működik az Integer Autoboxingja a Java-ban? (válasz)
tipp: A valueOf()
módszer Java használatával.
27) Különbség a Java PATH
és Classpath
a Java között? (válasz)
tipp: PATH
az operációs rendszer Classpath
használja, míg a JVM a Java bináris, pl. JAR vagy Class fájlok felkutatására. Lásd: Java alapismeretek: Az alapplatform , hogy többet megtudhasson a PATH
(z Classpath
) és egyéb Java környezeti változókról.

28) Különbség a módszer túlterhelése és felülbírálása között a Java-ban? (válasz)
tipp: A felülbírálás az alosztályon történik, míg a túlterhelés ugyanabban az osztályban történik. Ezenkívül a felülbírálás futásidejű tevékenység, miközben a túlterhelés fordítási időben megoldódik.
29) Hogyan akadályozhatja meg, hogy egy osztály alosztályba kerüljön a Java-ban? (válasz)
tipp: csak tedd priváttá a kivitelezőjét
30) Hogyan korlátozhatja az osztályát abban, hogy az ügyfele használja? (válasz)
tipp: tedd priváttá a kivitelezőt, vagy dobj kivételt a kivitelező alól
31) Különbség a Java StringBuilder
és StringBuffer
a Java között? (válasz)
tipp: StringBuilder
nincs szinkronizálva, miközben StringBuffer
szinkronizálva van.
32) Különbség a polimorfizmus és az öröklődés között a Java-ban? (válasz)
tipp: Az öröklés lehetővé teszi a kód újrafelhasználását és kiépíti az osztály közötti kapcsolatot, amelyet a dinamikus viselkedést biztosító polimorfizmus követel meg. Lásd: Java alapjai: Objektumorientált tervezéshogy többet tudjon meg az OOP funkcióiról.
33) Felülírhatjuk-e a statikus módszert Java-ban? (válasz)
tipp: Nem, mert a felülírás futás közben megoldódik, míg a statikus módszeres hívás fordításkor oldódik meg.
34) Hozzáférhetünk a privát módszerhez Java-ban? (válasz)
tipp: igen, ugyanabban az osztályban, de nem az órán kívül
35) Különbség az interfész és az absztrakt osztály között a Java-ban? (válasz)
tipp: a Java 8-tól a homályos a különbség. A Java osztály azonban továbbra is képes több interfészt megvalósítani, de csak egy osztályt bővíthet.
36) Különbség a DOM és a SAX elemző között a Java-ban? (válasz)
tipp: A DOM teljes XML fájlt tölt be a memóriába, míg a SAX nem. Ez egy eseményalapú elemző, és használható egy nagy fájl elemzésére, de a DOM gyors, és előnyben kell részesíteni a kis fájloknál.
37) Különbség a dobás és a dobás kulcsszó között a Java-ban? (válasz)
tipp: dobások deklarálják, hogy a módszer milyen kivételeket dobhat el hiba esetén, de a dob kulcsszó valójában kivételt dob. Lásd a Java alapjai: Kivételkezelés című részt , ha többet szeretne megtudni a Java-ban végzett kivételkezelésről.

38) Különbség a hibamentes és hibamentes iterátorok között a Java-ban? (válasz)
tipp: a hibabiztonság nem dob, ConcurrentModificationException
miközben fail-fast
megteszi, amikor az alapul szolgáló gyűjteményen kívüli változást észlelnek, miközben iterál.
39) Különbség az iterátor és az enumeráció között a Java-ban? (válasz)
tipp: Az Iterator azt is lehetővé teszi, hogy eltávolítson egy elemet iterálás közben, miközben a felsorolás ezt nem teszi lehetővé.
40) Mi van IdentityHashMap
a Java-ban? (válasz)
tipp: A Map
, amely ==
a equals()
módszer helyett az egyenlőség operátort használja az egyenlőség ellenőrzésére .
41) Mi String
a Java készlet? (válasz)
tipp: String
Szó literál. Ne feledje, hogy a JDK 7-ben a perm gen űrből halmozott.
42) Tarthat-e egy Serializable
osztály nem sorosítható mezőt a Java-ban? (válasz)
tipp: Igen, de statikusvá vagy átmenetivé kell tenni.
43) Különbség ez és a szuper között a Java-ban? (válasz)
tipp: ez az aktuális példányra, míg a super a szuperosztály egy példányára vonatkozik.
44) Különbség a Java között Comparator
és Comparable
a Java-ban? (válasz)
tipp: Comparator
meghatározza az egyedi sorrendet, míg Comparable
az objektumok természetes sorrendjét, pl String
. Lásd: A teljes Java MasterClass , ha többet szeretne megtudni a Java rendezéséről.

45) Különbség a Java között java.util.Date
és java.sql.Date
a Java-ban? (válasz)
tipp: az előbbi tartalmazza a dátumot és az időt, míg a későbbi csak a dátumot tartalmazza.
46) Miért van a várakozási és értesítési módszer az Object
osztályban deklarálva a Java-ban? (válasz)
tipp: mert olyan zárat igényelnek, amely csak egy objektum számára érhető el.
47) Miért nem támogatja a Java a többszörös öröklést? (válasz)
tipp: A C ++ alkalmazással kapcsolatos rossz tapasztalatok miatt nem támogatja, de a Java 8 esetében bizonyos értelemben - csak Type
a Java többféle öröksége nem támogatott.
48) Különbség a Java bejelölt és be nem jelölt kivétele között? (válasz)
tipp: Ha be van jelölve, akkor a kivételt a fogási blokk segítségével kell kezelni, míg be nem jelölve, rajtad múlik; a fordítás nem fog zavarni.
49) Különbség a hiba és a kivétel között a Java-ban? (válasz)
tipp: Elegem van a gépelésből, ellenőrizze a választ
50) Különbség a versenyfeltételek és a Java holtpontja között? (válasz)
tipp: mindkettő hiba fordul elő egyidejű alkalmazásban, az egyik a szál ütemezése, míg mások a rossz kódolás miatt fordul elő. Lásd: Többszálas és párhuzamos számítás a Java-ban, ha többet szeretne megtudni a holtpontról, a versenyfeltételekről és más többszálas problémákról.
Záró megjegyzések
Köszönöm, a cikk végére jutottál ... Sok sikert a programozási interjúhoz! Ez minden bizonnyal nem lesz könnyű, de ennek az ütemtervnek és útmutatónak a követésével egy lépéssel közelebb kerül ahhoz, hogy DevOps mérnök legyen.
Ha tetszik ez a cikk, kérjük, ossza meg barátaival és kollégáival, és ne felejtse el követni a javinpaul-ot a Twitteren!
További források
- Java interjú útmutató: 200+ interjú kérdés és válasz
- Tavaszi keretinterjú útmutató - 200+ kérdés és válasz
- Felkészülés egy állásinterjúra: John Sonmez
- Java programozási interjú Markham kiteszi
- A kódolási interjú feltörése - 189 kérdés és válasz
- Adatszerkezet és algoritmusok elemzése az állásinterjúkhoz
- 130+ Java interjúk kérdése az elmúlt 5 évben
PSS - Nem adtam meg a választ a „Hány karakterlánc-objektum keletkezik a kódban?” Képen megosztott interjúkérdésekre. kitalálhatja és megmagyarázhatja?