Tekintse át ezt az 50 kérdést a Java programozási interjú feltöréséhez

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 ClassLoadera 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 HashSeta Java között? (válasz)

tipp: minden különbség Listés Setitt 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 HashMapa Java között? (válasz)

tipp: több, de a legfontosabb az Hashtable, ami szinkronizált, míg HashMapnem. 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: Listrendezve van és megengedi a duplikátumot. Setrendezetlen, és nem engedélyezi az ismétlődő elemeket.

14) A Java ArrayListés Vectora Java közötti különbség (válasz)

tipp: Sok, de a legfontosabb, hogy ArrayListnem szinkronizált és gyors, míg Vectorszinkronizá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 ConcurrentHashMapa 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 Objectkell használni, mint Keya 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 notifyAlla Java-ban? (válasz)

tipp: notifyértesíti, hogy egy véletlenszerű szál várja a zárat, miközben notifyAlltá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 notifyAlljobb. 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 HashMapvagy ArrayList.

21) Mi az HashMapeszkö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 LinkedLista 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 CyclicBarriera Java között? (válasz)

tipp: Újból felhasználhatja CyclicBarriera korlát megszakadása után, de nem használhatja újra, CountDownLatchha a számlálás eléri a nullát.

24) Mikor használja a Runnablevs- Threadt 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 DayOfWeeknap, akkor nem rendelhet hozzá értéket az DayOfMonthenum-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 Classpatha Java között? (válasz)

tipp: PATHaz operációs rendszer Classpathhaszná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 StringBuffera Java között? (válasz)

tipp: StringBuildernincs szinkronizálva, miközben StringBufferszinkronizá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, ConcurrentModificationExceptionmiközben fail-fastmegteszi, 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 IdentityHashMapa 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 Stringa Java készlet? (válasz)

tipp: StringSzó literál. Ne feledje, hogy a JDK 7-ben a perm gen űrből halmozott.

42) Tarthat-e egy Serializableosztá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 Comparablea Java-ban? (válasz)

tipp: Comparatormeghatározza az egyedi sorrendet, míg Comparableaz 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.Datea 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 Objectosztá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 Typea 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
PS - Ha INGYENES forrásokra van szüksége a Java megtanulásához, a felkészülés megkezdéséhez megnézheti ezt az ingyenes Java-tanfolyamok listáját .

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?