Uvod u Java 8 pitanja i odgovor na intervju

Java 8 nova je platforma koja se tek izdaje s novim knjižnicama i predavanjima. Ove se značajke uglavnom fokusiraju na čišći i kompaktniji kod. Nove značajke dodane u ovoj verziji mogu se navesti kao Lambda izrazi, reference metoda, opcionalno, funkcionalno sučelje i zadane metode, Nashorn, Stream i Datum API. Potreba za promjenom u Javi bila je učinkovita uporaba sadašnjih više-jezgrenih CPU-a i korištenje FP značajki.

Ispod je najvažnije pitanje postavljeno u intervjuu:

Sada, ako tražite posao koji je povezan sa Javom 8, onda se trebate pripremiti za pitanja za intervju za Java 8 u 2019. godini. Istina je da je svaki razgovor drugačiji prema različitim profilima posla. Ovdje smo pripremili važna Java 8 pitanja i odgovore za intervju koji će vam pomoći u postizanju uspjeha u vašem intervjuu. Ova pitanja za intervju podijeljena su u dva dijela:

Dio 1 - Pitanja o intervjuima Java 8 (osnovno)

Ovaj prvi dio obuhvaća osnovna pitanja i odgovore na intervjuu Java 8

Q1. Po čemu se Java 8 razlikuje od prethodnih verzija Java?

Odgovor:
Različite verzije Java su sljedeće:

  • Datum API: To je poboljšani API koji je nepromjenjiv datumski prilagođeni API od JodaTime.
  • Stream API: Ovo je posebna klasa iteratora koja pomaže u obradi zbirke objekata na funkcionalni način.
  • Lambda izraz: Ovo je nova jezična značajka koja omogućuje tretiranje različitih radnji koje se izvode kao objekti.
  • Referenca metode: Ovo pomaže u definiranju Lambda izraza upućivanjem na različite metode izravno pomoću njihovih imena.
  • Neobavezno: Ovo je posebna klasa omota koja pomaže u određivanju opcionalnih značajki.
  • Funkcionalno sučelje: Ovo je sučelje s maksimalno jednom apstraktnom metodom i njegova primjena omogućena je Lambda izrazom
  • Nashorn Javascript Engine: To je motor temeljen na Javi koji se koristi za izvršavanje i procjenu JavaScript koda.

Q2. Je li moguće implementirati dva sučelja koja imaju zadane metode s istim imenom i potpisom? Objasnite primjerom.

Odgovor:
Ovo je osnovno Java 8 pitanje za intervju postavljeno u intervjuu. Razmotrite sljedeći kôd s implementacijom dva sučelja
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();
)
)

Ovdje prevoditelj daje pogrešku rekavši da je "duplicirati zadane metode". Stoga nije moguće implementirati dva sučelja s istim imenom i potpisom.

Q3. Je li moguće definirati vlastito funkcionalno sučelje? Objasnite pravila za definiranje funkcionalnog sučelja.

Odgovor:
Moguće je definirati vlastita funkcionalna sučelja. Korisnik može upotrijebiti naznaku @FunctionalInterface Java SE 8 da bi sučelje označio funkcionalnim sučeljem. Sljedeća pravila moraju imati na umu prilikom stvaranja funkcionalnog sučelja.

  1. Mora se definirati samo jedno sučelje koje ima samo jednu apstraktnu metodu
  2. Ne može se definirati više nego na apstraktnim metodama
  3. Korisnik bi trebao koristiti @FunctionalInterface napomene u definiciji sučelja.
  4. Može se definirati bilo koji broj različitih metoda poput zadane metode, statičke metode itd.
  5. Metoda klase java.lang.Object može se nadjačati kao apstraktna metoda i to se neće ubrajati u apstraktnu metodu.

Prijeđite na sljedeća pitanja o intervjuima Java 8.

Q4. Što je opcionalno u Javi 8? Objasnite njegove prednosti.

Odgovor:
Neobavezno je završna klasa koja se uvodi kao dio Java SE 8. Dio je java.util.package-a. Može se koristiti za predstavljanje neobaveznih vrijednosti koje ili postoje ili ne postoje. To može imati vrijednost kao jedna ili nulta vrijednost. Ako ova klasa sadrži vrijednost, tada dobivamo vrijednost, a ništa ne dobivamo.
Glavne prednosti ove klase su to što se može izbjeći nulta provjera, a može se izbjeći i 'NullPointerException'.

Q5. Hoće li se kôd u nastavku sastaviti bez pogreške?

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

Da, ovaj se kôd sastavlja bez ikakve pogreške jer slijedi pravilo specifikacije funkcionalnog sučelja definiranja samo jedne apstraktne metode. Druga metoda koja se koristi je zadana metoda koja ne povećava broj apstraktnih metoda.

Dio 2 - Pitanja o intervjuu poslužitelja Java 8 (napredno)

Pogledajmo sada napredna Java 8 Intervju pitanja i odgovore

P6. Što je Nashorn u Javi?

Odgovor:
Ovo je novi Java-ov procesor za obradu Java platforme koji se isporučuje na Javi 8. Sve dok JDK 7 Java platforma nije koristila Rhino kao motor za obradu. Bio je to motor za obradu Javascripta. Nashorn omogućuje bolju usklađenost s ECMA normaliziranom specifikacijom JavaScripta. Također nudi bolje performanse u odnosu na prethodne verzije.

Q7. Koja je razlika između predikata i funkcije?

Odgovor:
Oba su to funkcionalna sučelja. Predikat je funkcija jednog argumenta koja vraća istinu ili laž. Taj se izraz može koristiti kao cilj dodjele za lambda izraz ili bilo koju referencu metode.
Funkcija je također funkcija jednog argumenta, ali razlika je u tome što vraća objekt. Ovdje T predstavlja ulaz u funkciju, a R predstavlja vrstu rezultata. Oboje se mogu koristiti kao cilj dodjele za lambda izraze ili reference metode.

Prijeđite na sljedeća pitanja o intervjuima Java 8.

Q8. Objasnite razliku između posrednih i terminalnih operacija.

Odgovor:
Operacije strujanja koriste se za obradu tokova i njihovo kombiniranje. Sve ove operacije su ili posredne ili terminalne. Posredne operacije vraćaju sam Stream i omogućuju daljnje operacije ako ih treba izvesti. Te se operacije ne izvode istodobno. Te se operacije mogu izvoditi samo za obradu podataka kada postoji terminal. Da nabrojimo nekoliko operacija, to su filtar, karta i ravna karta.
Operacije terminala prekidaju cjevovod i započinju obradu struje. Taj se tok prolazi kroz sve posredne operacije tijekom rada terminala. Ove operacije uključuju za svaku, smanjenje, prikupljanje, zbroj itd.

P9. Što je strujni cjevovod u Java 8?

Odgovor:
Ovo je napredna Java 8 pitanja o intervjuima postavljena u intervjuu. To je koncept povezivanja operacija zajedno. Ovaj se postupak vrši razdvajanjem operacija koje mogu raditi s strujama s dvije kategorije posrednih i terminalnih operacija. Svaka intermedijarna operacija vraća instancu potoka kad se pokrene. Mora postojati i terminalni zahvat koji će vratiti konačnu vrijednost i prekinuti cjevovod.

Q10. Što je StringJoiner?

Odgovor:
StringJoiner je utilna metoda koja se koristi za izgradnju različitih nizova s ​​željenim razgraničicima. Također može pomoći u kreiranju nizova različitih znakova razdvojenih razlučivačima. Ovo je predstavljeno u Javi 8. Različiti konstruktori su Public StringJoiner (razgraničitelj CharSequence) i javni StringJoiner (razgraničitelj CharSequence, prefiks CharSequence, sufiks CharSequence). Ispod je primjer StringJoiner:
StringJoiner strJoiner = new StringJoiner(".");
strJoiner.add("Buggy").add("Bread");
System.out.println(strJoiner); // prints Buggy.Bread

Preporučeni članak

Ovo je vodič za popis Java 8 pitanja i odgovora za intervjue kako bi kandidat mogao lako razbiti ova pitanja o 8 intervjua za Java 8. Ovdje u ovom postu, proučili smo vrhunska Java 8 Intervju pitanja koja se često postavljaju u intervjuima. Možete pogledati i sljedeće članke da biste saznali više -

  1. Java pitanja s intervjuima s višestrukim navojem
  2. Java EE pitanja za intervju
  3. Ups Java pitanja za razgovor
  4. Java proljetna pitanja za intervju
  5. Što je novo u Javi 8?

Kategorija: