Bevezetés a Java 8-ba. Interjúkérdések és válaszok

A Java 8 egy új platform, amelyet nemrégiben adtak ki új könyvtárakkal és osztályokkal. Ezek a szolgáltatások elsősorban a tisztább és kompakt kódra összpontosítanak. Az ebben a verzióban hozzáadott új szolgáltatások felsorolhatók: Lambda kifejezések, módszer hivatkozások, opcionális, funkcionális interfész és alapértelmezett módszerek, Nashorn, Stream és Date API. A Java változtatásának szükségessége az volt, hogy a jelenlegi többmagos CPU-kat hatékonyan hasznosítsák és az FP szolgáltatásait hasznosítsák.

Az alábbiakban felsoroljuk az interjú során feltett legfontosabb kérdéseket:

Most, ha olyan állást keres, amely a Java 8-hoz kapcsolódik, akkor fel kell készülnie a 2019-es Java 8 interjúkérdésekre. Igaz, hogy az interjúk különbözőek a munkakörök szerint. Itt készítettük el a Java 8 interjúval kapcsolatos fontos kérdéseket és válaszokat, amelyek segítenek abban, hogy sikerrel járjon az interjúban. Ezek az interjúkérdések két részre oszlanak, a következők szerint:

1. rész - Java 8 interjúkérdések (alapvető)

Ez az első rész a Java 8 interjúval kapcsolatos alapvető kérdéseket és válaszokat tartalmazza

Q1. Miben különbözik a Java 8 a korábbi Java verziótól?

Válasz:
A különböző Java verziók a következők:

  • Dátum API: Ez egy továbbfejlesztett API, amely változatlan JodaTime ihlette dátum API.
  • Stream API: Ez egy speciális iterator osztály, amely elősegíti az objektumok gyűjtésének funkcionális feldolgozását.
  • Lambda kifejezés: Ez egy új nyelvi szolgáltatás, amely lehetővé teszi a különféle műveletek objektumként kezelését.
  • Módszertani referencia: Ez segít meghatározni a Lambda kifejezéseket úgy, hogy különféle módszerekre hivatkoznak közvetlenül, a nevük felhasználásával.
  • Opcionális: Ez egy speciális csomagoló osztály, amely segít az opcionális szolgáltatások meghatározásában.
  • Funkcionális interfész: Ez egy olyan felület, amelyben egy legfeljebb egy elvont módszer található, és megvalósítását a Lambda kifejezés biztosítja
  • Nashorn Javascript Engine: Ez egy Java alapú motor, amelyet JavaScript kód végrehajtására és értékelésére használnak.

Q2. Lehetséges két olyan interfész megvalósítása, amelyek alapértelmezett módszerrel rendelkeznek azonos névvel és aláírással? Magyarázza meg példával.

Válasz:
Ez az alapvető Java 8 interjúkérdések, amelyeket egy interjúban feltettünk. Fontolja meg a következő kódot két interfész megvalósításával
public interface DefaultMethodInterface (
default public void defaultMethod()(
System.out.println("I am in Default method Interface I");
)
)
public interface DefaultMethodInterface2 (
default public void defaultMethod()(
System.out.println("I am in Default method Interface II");
)
)
public class HelloJava8 implements DefaultMethodInterface, DefaultMethodInterface2 (
public static void main(String() args)(
DefaultMethodInterface defMethIn = new HelloJava();
defMethIn.defaultMethod();
)
)

Itt a fordító hibát ad, amikor azt mondja, hogy “Alapértelmezett módszerek ismétlődnek”. Ezért nem lehetséges két felületet azonos névvel és aláírással megvalósítani.

Q3. Meg lehet határozni a saját funkcionális interfészünket? Magyarázza el a funkcionális interfész meghatározására vonatkozó szabályokat.

Válasz:
Meg lehet határozni a saját funkcionális interfészeinket. A felhasználó a Java SE 8 @FunctionalInterface megjegyzésével felhasználhatja az interfész funkcionális interfészként való megjelölését. A következő szabályokat szem előtt kell tartani a funkcionális felület létrehozásakor.

  1. Csak egy interfészt kell meghatározni, csak egyetlen elvont módszerrel
  2. Az absztrakt módszereken túl nem definiálható
  3. A felhasználónak az @FunctionalInterface kommentárt kell használnia az interfész meghatározásában.
  4. Tetszőleges számú módszer definiálható, például az alapértelmezett módszer, a statikus módszer stb.
  5. A java.lang.Object osztály módszerét absztrakt módszerként felülbírálhatjuk, és ez nem számít absztrakt módszernek.

Térjünk át a következő Java 8 interjúkérdésekhez.

Q4. Mi választható a Java 8-ban? Magyarázza meg annak előnyeit.

Válasz:
Opcionális egy végső osztály, amelyet a Java SE 8 részeként vezetnek be. A java.util.package része. Használható olyan opcionális értékek ábrázolására, amelyek léteznek vagy nem léteznek. Ennek értéke lehet egy érték vagy nulla. Ha ez az osztály tartalmaz értéket, akkor azt az értéket kapjuk, amelyben nem kaptunk semmit.
Ennek az osztálynak a fő előnye, hogy felhasználható a null ellenőrzések elkerülésére, és a 'NullPointerException' elkerülésére.

Q5. Az alábbi kód hiba nélkül fordul elő?

Válasz:
@FunctionalInterface
public interface Function2 (
public V apply(T t, U u);
default void count() (
// increment counter
)
)

Igen, ez a kód hiba nélkül fordul elő, mivel követi a funkcionális interfész specifikációjának szabályát, amely szerint csak egyetlen elvont módszert definiál. A második alkalmazott módszer egy alapértelmezett módszer, amely nem növeli az absztrakt módszer számát.

2. rész - Java 8 szerver interjúkérdések (haladó)

Vessen egy pillantást a fejlett Java 8 interjúkérdésekre és válaszokra

Q6. Mi a Nashorn a Java-ban?

Válasz:
Ez az új Java feldolgozó motor a Java platformon, amelyet a Java 8-ban szállítanak. Amíg a JDK 7 Java platform Rhino-t használta feldolgozási motorként. Javascript feldolgozó motor volt. A Nashorn jobban megfelel az ECMA normalizált JavaScript-specifikációjának. Ezenkívül jobb futási teljesítményt nyújt, mint korábbi verziói.

Q7. Mi a különbség az előrejelzés és a funkció között?

Válasz:
Mindkettő funkcionális interfész. A predátum egyetlen argumentumfüggvény, amely igaz vagy hamis eredményt ad vissza. Ez a kifejezés felhasználható hozzárendelési célként a lambda kifejezéshez vagy bármely módszer referenciához.
A függvény szintén egyetlen argumentumfüggvény, de a különbség az, hogy egy objektumot ad vissza. T itt a függvény bemeneti jelét és R az eredmény típusát jelöli. Mindkettő felhasználható hozzárendelési célként a lambda kifejezésekhez vagy a módszer referenciákhoz.

Térjünk át a következő Java 8 interjúkérdésekhez.

Q8. Magyarázza el a különbséget a közbenső és a terminálműveletek között.

Válasz:
A patakműveleteket adatfolyamok feldolgozására és kombinálására használják. Mindezek a műveletek vagy közbenső vagy terminális műveletek. A közbenső műveletek visszatérnek az adatfolyamhoz, és további műveletek végrehajtását lehetővé teszik. Ezeket a műveleteket nem egyszerre hajtják végre. Ezeket a műveleteket csak adatfeldolgozásra lehet végrehajtani, ha van terminálművelet. Néhány művelet megnevezése: szűrő, térkép és sík térkép.
A terminálműveletek lezárják a csővezetéket és megindítják az adatfolyam feldolgozását. Ezt az áramot a terminál működése közben minden közbenső műveleten átjuttatjuk. Ezek a műveletek tartalmazzák mindegyiket, csökkentést, gyűjtést, összeget stb.

Q9. Mi az a stream pipelining a Java 8-ban?

Válasz:
Ez a fejlett Java 8 interjú kérdése, amelyet egy interjúban feltett. Ez az együttes láncolás fogalma. Ezt a folyamatot olyan műveletek felosztásával hajtják végre, amelyek két kategóriájú közbenső és terminálművelettel működő adatfolyamokkal működnek. Minden közbenső művelet visszaad egy patak példányát, amikor fut. Olyan terminálműveletnek is kell lennie, amely visszatér a végső értékhez és lezárja a csővezetéket.

Q10. Mi az a StringJoiner?

Válasz:
A StringJoiner egy hasznos módszer, amelyet különböző vonóságok előállítására használnak a kívánt határolóval. Segíthet a határvonalakkal elválasztott különféle karakterek sorozatának létrehozásában. Ezt a Java 8-ban vezették be. A különféle konstruktorok a Public StringJoiner (CharSequence elválasztó) és a Public StringJoiner (CharSequence elválasztó, CharSequence előtag, CharSequence utótag). Az alábbi példa a StringJoiner:
StringJoiner strJoiner = new StringJoiner(".");
strJoiner.add("Buggy").add("Bread");
System.out.println(strJoiner); // prints Buggy.Bread

Ajánlott cikk

Ez egy útmutató a Java 8 interjúkérdések és válaszok listájához, így a jelölt könnyen meg tudja oldani ezeket a Java 8 interjúkérdéseket. Itt, ebben a bejegyzésben a Java 8 interjú kérdéseit vizsgáltuk meg, amelyeket gyakran feltesznek az interjúkban. A következő cikkeket is megnézheti további információkért -

  1. Java többszálú interjúkérdések
  2. Java EE interjúkérdések
  3. Hoppá a Java interjú kérdései
  4. Java tavaszi interjú kérdései
  5. Újdonságok a Java 8-ban?