Introduksjon til Java 8 intervjuspørsmål og svar

Java 8 er en ny plattform som nylig er utgitt med nye biblioteker og klasser. Disse funksjonene fokuserer mest på å ha en renere og kompakt kode. De nye funksjonene som er lagt til i denne versjonen, kan vises som Lambda Expressions, metodereferanser, valgfrie, funksjonelle grensesnitt og standardmetoder, Nashorn, Stream og Date API. Behovet for endring i Java var å utnytte gjeldende flerkjerne-CPUer effektivt og å bruke FP-funksjoner.

Nedenfor er det viktigste spørsmålet som stilles i intervjuet:

Nå, hvis du leter etter en jobb som er relatert til Java 8, må du forberede deg på Java 8 intervjuspørsmål. Det er sant at hvert intervju er forskjellig per de forskjellige jobbprofilene. Her har vi forberedt viktige Java 8 intervjuspørsmål og svar som vil hjelpe deg å få suksess i intervjuet. Disse intervjuspørsmålene er delt inn i to deler er som følger:

Del 1 - Java 8 intervjuspørsmål (grunnleggende)

Denne første delen dekker grunnleggende Java 8 intervjuspørsmål og svar

Q1. Hvordan er Java 8 forskjellig fra tidligere Java-versjoner?

Svar:
Ulike Java-versjoner er som følger:

  • Date API: Det er en forbedret API som er uforanderlig JodaTime inspirert dato API.
  • Stream API: Dette er en spesiell iteratorklasse som hjelper til med å behandle samling av objekter på en funksjonell måte.
  • Lambda Expression: Dette er en ny språkfunksjon som gjør det mulig å behandle forskjellige handlinger utført som objekter.
  • Metodehenvisning: Dette hjelper med å definere Lambda-uttrykk ved å referere til forskjellige metoder direkte ved å bruke navnene deres.
  • Valgfritt: Dette er en spesiell innpakningsklasse som hjelper deg med å spesifisere valgfrie funksjoner.
  • Funksjonelt grensesnitt: Dette er et grensesnitt med maksimalt en abstrakt metode, og implementeringen er gitt av Lambda-uttrykk
  • Nashorn Javascript Engine: Det er en Java-basert motor som brukes til å utføre og evaluere JavaScript-kode.

Q2. Er det mulig å implementere to grensesnitt med standardmetode med samme navn og signatur? Forklar med eksempel.

Svar:
Dette er de grunnleggende Java 8 intervjuspørsmålene som stilles i et intervju. Tenk på følgende kode med to grensesnitt
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();
)
)

Her gir kompilatoren en feil ved å si at “Duplicate Standard Methods”. Derfor er det ikke mulig å implementere to grensesnitt med samme navn og signatur.

Q3. Er det mulig å definere vårt eget funksjonelle grensesnitt? Forklar reglene for å definere et funksjonelt grensesnitt.

Svar:
Det er mulig å definere våre egne funksjonelle grensesnitt. En bruker kan bruke Java SE 8s @FunctionalInterface-kommentar for å merke et grensesnitt som funksjonelt grensesnitt. Følgende regler må huskes når du oppretter et funksjonelt grensesnitt.

  1. Bare ett grensesnitt må defineres med bare en abstrakt metode
  2. Mer enn på abstrakte metoder kan ikke defineres
  3. En bruker bør benytte seg av @FunctionalInterface-merknad i grensesnittdefinisjonen.
  4. Et hvilket som helst antall forskjellige metoder som standardmetode, statisk metode, etc. kan defineres.
  5. Vi kan overstyre java.lang.Object klassens metode som en abstrakt metode, og denne vil ikke bli regnet som en abstrakt metode.

La oss gå til de neste Java 8 intervjuspørsmål.

Q4. Hva er valgfritt i Java 8? Forklar fordelene.

Svar:
Valgfritt er en sluttklasse som introduseres som en del av Java SE 8. Det er en del av java.util.package. Det kan brukes til å representere valgfrie verdier som enten eksisterer eller ikke eksisterer. Dette kan ha verdi som en verdi eller null verdi. Hvis denne klassen inneholder en verdi, får vi verdien ellers får vi ikke noe.
De viktigste fordelene med denne klassen er at det kan brukes til å unngå null sjekk, og den kan brukes til å unngå 'NullPointerException'.

Q5. Vil koden nedenfor samles uten feil?

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

Ja, denne koden vil sammenstille uten feil da den følger regelen om funksjonell grensesnittspesifikasjon for å definere bare en enkelt abstrakt metode. Den andre metoden som brukes er en standardmetode som ikke øker antallet abstrakte metoder.

Del 2 - Java 8 Server Interview Interview (Advanced)

La oss nå se på de avanserte spørsmålene og svarene på Java 8 intervju

Q6. Hva er Nashorn i Java?

Svar:
Dette er den nye Java-prosesseringsmotoren for Java-plattformen som sendes i Java 8. Inntil JDK 7 Java-plattformen brukte Rhino som prosesseringsmotor. Det var en Javascript-prosesseringsmotor. Nashorn gir bedre samsvar med ECMA normaliserte JavaScript-spesifikasjoner. Det gir også bedre driftsytelse enn de tidligere versjonene.

Q7. Hva er forskjellen mellom Predikat og funksjon?

Svar:
Begge disse er funksjonelle grensesnitt. Et predikat er en enkelt argumentfunksjon som returnerer enten sant eller usant. Dette uttrykket kan brukes som et tildelingsmål for lambda-uttrykk eller hvilken som helst metodehenvisning.
Funksjon er også en enkelt argumentfunksjon, men forskjellen her er at den returnerer et objekt. Her representerer T innspill til funksjonen og R representerer typen resultat. Begge disse kan brukes som tildelingsmål for lambda-uttrykk eller metodereferanser.

La oss gå til de neste Java 8 intervjuspørsmål.

Q8. Forklar forskjellen mellom mellomoperasjoner og terminaloperasjoner.

Svar:
Streamoperasjoner brukes til å behandle strømmer og kombinere dem. Alle disse operasjonene er enten mellomliggende eller terminal. Mellomoperasjoner returnerer selve strømmen og tillater ytterligere operasjoner hvis de skal utføres. Disse operasjonene utføres ikke på samme tid. Disse operasjonene kan bare utføres for å behandle data når det er en terminaloperasjon. For å nevne noen operasjoner er de filter, kart og flat kart.
Terminaloperasjoner avslutter rørledningen og setter i gang strømbehandling. Denne strømmen føres gjennom alle mellomoperasjoner under terminaldrift. Disse operasjonene inkluderer for hver, redusere, samle inn, summe osv.

Q9. Hva er strømledninger i Java 8?

Svar:
Dette er avanserte Java 8 intervjuspørsmål som stilles i et intervju. Det er konseptet med å lenke sammen driften. Denne prosessen gjøres ved å dele opp operasjoner som kan arbeide med bekker med to kategorier mellom- og terminaloperasjoner. Hver mellomliggende operasjon returnerer en forekomst av en strøm når den kjører. Det må også være en terminaloperasjon som vil returnere en endelig verdi og vil avslutte rørledningen.

Q10. Hva er StringJoiner?

Svar:
StringJoiner er en bruksmetode som brukes til å konstruere forskjellige strenger med ønskede avgrensere. Det kan også hjelpe med å lage sekvenser av forskjellige karakterer atskilt av avgrensere. Dette ble introdusert i Java 8. De forskjellige konstruktørene er Public StringJoiner (CharSequence-avgrenser) og Public StringJoiner (CharSequence-avgrenser, CharSequence-prefiks, CharSequence-suffiks). Nedenfor er et eksempel på StringJoiner:
StringJoiner strJoiner = new StringJoiner(".");
strJoiner.add("Buggy").add("Bread");
System.out.println(strJoiner); // prints Buggy.Bread

Anbefalt artikkel

Dette har vært en guide til listen over Java 8 intervjuspørsmål og svar, slik at kandidaten enkelt kan slå sammen disse Java 8 intervjuspørsmål. Her i dette innlegget har vi studert topp Java 8 intervjuspørsmål som ofte blir stilt i intervjuer. Du kan også se på følgende artikler for å lære mer -

  1. Java flerstrengingsspørsmål
  2. Java EE intervjuspørsmål
  3. Ups Java-intervjuspørsmål
  4. Java Spring Interview Questions
  5. Hva er nytt i Java 8?