Introduktion til Java 8 Interviewspørgsmål og svar

Java 8 er en ny platform, der nyligt er frigivet med nye biblioteker og klasser. Disse funktioner fokuserer mest på at have en renere og kompakt kode. De nye funktioner, der er tilføjet i denne version, kan vises som Lambda Expressions, metodereferencer, valgfri, funktionel interface og standardmetoder, Nashorn, Stream og Date API. Behovet for ændring i Java var at udnytte aktuelle multi-core CPU'er effektivt og at bruge FP-funktioner.

Nedenfor er det vigtigste spørgsmål stillet i interviewet:

Nu, hvis du er på udkig efter et job, der er relateret til Java 8, skal du forberede dig på Java 8 Interview spørgsmålene i 2019. Det er sandt, at hvert interview er forskelligt i henhold til de forskellige jobprofiler. Her har vi forberedt de vigtige Java 8 Interview Spørgsmål og svar, som vil hjælpe dig med at få succes i dit interview. Disse interviewspørgsmål er delt i to dele er som følger:

Del 1 - Java 8 Interviewspørgsmål (grundlæggende)

Denne første del dækker grundlæggende Java 8 Interview Spørgsmål og svar

Q1. Hvordan er Java 8 forskellig fra tidligere Java-versioner?

Svar:
Forskellige Java-versioner er som følger:

  • Date API: Det er en forbedret API, som er uforanderlig JodaTime-inspireret dato API.
  • Stream API: Dette er en speciel iteratorklasse, der hjælper med at behandle indsamling af objekter på en funktionel måde.
  • Lambda Expression: Dette er en ny sprogfunktion, der gør det muligt at behandle forskellige handlinger, der udføres som objekter.
  • Metodehenvisning: Dette hjælper med at definere Lambda-udtryk ved at henvise til forskellige metoder direkte ved hjælp af deres navne.
  • Valgfrit: Dette er en speciel indpakningsklasse, der hjælper med at specificere valgfri funktioner.
  • Funktionel grænseflade: Dette er en grænseflade med maksimalt en abstrakt metode, og dens implementering leveres af Lambda-udtryk
  • Nashorn Javascript Engine: Det er en Java-baseret motor, der bruges til at udføre og evaluere JavaScript-kode.

Q2. Er det muligt at implementere to grænseflader, der har standardmetode med samme navn og signatur? Forklar med eksempel.

Svar:
Dette er de grundlæggende Java 8-interviewspørgsmål, der stilles i et interview. Overvej følgende kode med redskaber to grænseflader
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 giver compileren en fejl med at sige, at “Duplicate Standard Methods”. Derfor er det ikke muligt at implementere to grænseflader med samme navn og signatur.

Q3. Er det muligt at definere vores egen funktionelle grænseflade? Forklar reglerne for at definere en funktionel grænseflade.

Svar:
Det er muligt at definere vores egne funktionelle grænseflader. En bruger kan bruge Java SE 8's @FunctionalInterface-annotation til at markere en grænseflade som funktionel grænseflade. Følgende regler skal huskes, når du opretter en funktionel grænseflade.

  1. Der skal kun defineres en grænseflade, der kun har en abstrakt metode
  2. Mere end abstrakte metoder kan ikke defineres
  3. En bruger skal gøre brug af @FunctionalInterface-annotation i interface-definitionen.
  4. Ethvert antal forskellige metoder som standardmetoden, statisk metode osv. Kan defineres.
  5. Vi kan tilsidesætte java.lang.Object klassens metode som en abstrakt metode, og dette regnes ikke som en abstrakt metode.

Lad os gå til de næste Java 8 Interviewspørgsmål.

Q4. Hvad er valgfrit i Java 8? Forklar dens fordele.

Svar:
Valgfrit er en sidste klasse, der introduceres som en del af Java SE 8. Det er en del af java.util.package. Det kan bruges til at repræsentere valgfri værdier, der enten findes eller ikke findes. Dette kan have en værdi som en værdi eller nulværdi. Hvis denne klasse indeholder en værdi, får vi værdien ellers får vi ikke noget.
De vigtigste fordele ved denne klasse er, at det kan bruges til at undgå nulkontrol, og den kan bruges til at undgå 'NullPointerException'.

Q5. Vil nedenstående kode samles uden fejl?

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

Ja, denne kode kompileres uden fejl, da den følger reglen om funktionel grænsefladespecifikation om kun at definere en enkelt abstrakt metode. Den anden metode, der bruges, er en standardmetode, der ikke øger antallet af abstrakte metoder.

Del 2 - Java 8 Server Interview Interview (Avanceret)

Lad os nu se på de avancerede Java 8 Interview Spørgsmål og svar

Q6. Hvad er Nashorn i Java?

Svar:
Dette er den nye Java-behandlingsmotor til Java-platform, der sendes i Java 8. Indtil JDK 7 Java-platform anvendte Rhino som behandlingsmotor. Det var en Javascript-behandlingsmotor. Nashorn giver bedre overensstemmelse med ECMA-normaliserede JavaScript-specifikationer. Det giver også bedre runtime-ydelse end de tidligere versioner.

Q7. Hvad er forskellen mellem Predikat og funktion?

Svar:
Begge disse er funktionelle grænseflader. Et predikat er en enkelt argumentfunktion, der returnerer enten sandt eller falskt. Dette udtryk kan bruges som et tildelingsmål for lambda-ekspression eller en hvilken som helst metodehenvisning.
Funktion er også en enkelt argumentfunktion, men forskellen her er, at den returnerer et objekt. Her repræsenterer T input til funktionen, og R repræsenterer resultattypen. Begge disse kan bruges som et tildelingsmål for lambda-udtryk eller metodehenvisninger.

Lad os gå til de næste Java 8 Interviewspørgsmål.

Q8. Forklar forskellen mellem mellem- og terminaloperationer.

Svar:
Stream-operationer bruges til at behandle strømme og kombinere dem. Alle disse operationer er enten mellemliggende eller terminal. Mellemoperationer returnerer selve Stream og tillader yderligere operationer, hvis de skal udføres. Disse operationer udføres ikke på samme tid. Disse operationer kan kun udføres for at behandle data, når der er en terminaloperation. For at nævne nogle få operationer er de filter, kort og fladt kort.
Terminaloperationer afslutter rørledningen og starter strømbehandling. Denne strøm ledes gennem alle mellemliggende operationer under terminaldrift. Disse operationer inkluderer for hver, reduktion, indsamling, sum osv.

Q9. Hvad er stream pipelining i Java 8?

Svar:
Dette er avanceret Java 8-interviewspørgsmål, der stilles i et interview. Det er begrebet kædeoperationer sammen. Denne proces udføres ved at opdele operationer, der kan arbejde med streams med to kategorier mellem- og terminaloperationer. Hver mellemliggende operation returnerer et eksempel på en strøm, når den kører. Der skal også være en terminaloperation, der returnerer en endelig værdi og afslutter rørledningen.

Q10. Hvad er StringJoiner?

Svar:
StringJoiner er en anvendelsesmetode, der bruges til at konstruere forskellige strenge med ønskede afgrænsere. Det kan også hjælpe med at skabe sekvenser af forskellige tegn adskilt af afgrænsere. Dette blev introduceret i Java 8. De forskellige konstruktører er Public StringJoiner (CharSequence-afgrænser) og Public StringJoiner (CharSequence-afgrænser, CharSequence-præfiks, CharSequence-suffiks). Nedenunder er et eksempel på StringJoiner:
StringJoiner strJoiner = new StringJoiner(".");
strJoiner.add("Buggy").add("Bread");
System.out.println(strJoiner); // prints Buggy.Bread

Anbefalet artikel

Dette har været en guide til listen over Java 8 Interview Spørgsmål og svar, så kandidaten let kan slå disse Java 8 Interview Spørgsmål ned. Her i dette indlæg har vi studeret top Java 8 Interview Spørgsmål, som ofte stilles i interviews. Du kan også se på de følgende artikler for at lære mere -

  1. Java Multi-threading Interviewspørgsmål
  2. Java EE-interviewspørgsmål
  3. Ups Java Interview spørgsmål
  4. Java Spring Interview spørgsmål
  5. Hvad er nyt i Java 8?