Introducere în Java 8 Întrebări despre interviu și răspuns

Java 8 este o nouă platformă care a fost lansată recent cu noi biblioteci și clase. În principal, aceste caracteristici se concentrează pe a avea un cod mai curat și compact. Noile funcții adăugate în această versiune pot fi listate ca Lambda Expressions, referințe de metodă, opțional, interfață funcțională și metode implicite, Nashorn, Stream și Date API. Nevoia de schimbare în Java a fost utilizarea eficientă a procesoarelor multi-core actuale și utilizarea funcțiilor FP.

Mai jos sunt cele mai importante întrebări puse în interviu:

Acum, dacă sunteți în căutarea unui loc de muncă legat de Java 8, atunci trebuie să vă pregătiți pentru întrebările de interviu Java 8 din 2019. Este adevărat că fiecare interviu este diferit în funcție de diferitele profiluri de muncă. Aici, am pregătit importante întrebări și răspunsuri la interviu Java 8 care vă vor ajuta să obțineți succes în interviu. Aceste întrebări de interviu sunt împărțite în două părți:

Partea 1 - Întrebări de interviu Java 8 (de bază)

Această primă parte acoperă întrebările și răspunsurile de bază ale Java 8 Interviu

Q1. Cum este Java 8 diferit de versiunile Java anterioare?

Răspuns:
Diferite versiuni Java sunt următoarele:

  • Data API: este o API îmbunătățită, care este imutabilă JodaTime inspirată date API.
  • Stream API: Aceasta este o clasă specială de iterare care ajută la procesarea colecției de obiecte într-o manieră funcțională.
  • Expresia Lambda: Aceasta este o caracteristică de limbaj nouă care permite tratarea diferitelor acțiuni efectuate ca obiecte.
  • Referință de metodă: Aceasta ajută la definirea expresiilor Lambda prin raportarea directă la diferite metode, folosind numele lor.
  • Opțional: Aceasta este o clasă specială de înveliș care ajută la specificarea funcțiilor opționale.
  • Interfață funcțională: aceasta este o interfață cu maxim o metodă abstractă, iar implementarea acesteia este asigurată de expresia Lambda
  • Nashorn Javascript Engine: este un motor bazat pe Java care este utilizat pentru executarea și evaluarea codului JavaScript.

Q2. Este posibil să implementați două interfețe care au o metodă implicită cu același nume și semnătura? Explicați cu exemplu.

Răspuns:
Aceasta este întrebările de bază Java 8 Interviu adresate într-un interviu. Luați în considerare următorul cod cu implementează două interfețe
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();
)
)

Aici compilatorul dă o eroare spunând că „Duplicate Default Methods”. Prin urmare, nu este posibilă implementarea a două interfețe cu același nume și semnătura.

Q3. Este posibilă definirea propriei noastre interfețe funcționale? Explicați regulile pentru a defini o interfață funcțională.

Răspuns:
Este posibilă definirea propriilor noastre interfețe funcționale. Un utilizator poate utiliza adnotarea @FunctionalInterface Java SE 8 pentru a marca o interfață ca interfață funcțională. La crearea unei interfețe funcționale trebuie să aveți în vedere următoarele reguli.

  1. Trebuie definită o singură interfață având o singură metodă abstractă
  2. Mai mult decât pe metode abstracte nu pot fi definite
  3. Un utilizator ar trebui să utilizeze adnotarea @FunctionalInterface în definiția interfeței.
  4. Poate fi definit orice număr de metode diferite, cum ar fi metoda implicită, metoda statică etc.
  5. Putem să înlocuim metoda clasei java.lang.Object ca o metodă abstractă și aceasta nu va fi considerată ca o metodă abstractă.

Să trecem la următoarele întrebări de interviu Java 8.

Q4. Ce este opțional în Java 8? Explicați avantajele sale.

Răspuns:
Opțional este o clasă finală care este introdusă ca o parte a Java SE 8. Face parte din java.util.package. Poate fi folosit pentru a reprezenta valori opționale care există sau nu există. Aceasta poate avea valoarea ca o valoare sau ca valoare zero. Dacă această clasă conține o valoare, atunci obținem valoarea, altfel nu obținem nimic.
Principalele avantaje ale acestei clase sunt faptul că se poate utiliza pentru a evita verificările nule și poate fi folosită pentru a evita „NullPointerException”.

Q5. Codul de mai jos va compila fără eroare?

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

Da, acest cod va compila fără nicio eroare, deoarece respectă regula specificării interfeței funcționale, definind doar o singură metodă abstractă. A doua metodă folosită este o metodă implicită care nu crește numărul abstract al metodei.

Partea 2 - Întrebări de interviu pe serverul Java 8 (avansat)

Haideți să aruncăm o privire la întrebările și răspunsurile avansate la interviu Java 8

Q6. Ce este Nashorn în Java?

Răspuns:
Acesta este noul motor de procesare Java pentru platforma Java, care este livrat în Java 8. Până la platforma Java JDK 7 a folosit Rhino ca motor de procesare. Era un motor de procesare Javascript. Nashorn asigură o mai bună conformitate cu specificațiile JavaScript normalizate ECMA. De asemenea, oferă o performanță de rulare mai bună decât versiunile anterioare.

Q7. Care este diferența dintre Predicat și Funcție?

Răspuns:
Ambele sunt interfețe funcționale. Un predicat este o singură funcție de argument care returnează fie adevărat, fie fals. Această expresie poate fi utilizată ca țintă de atribuire pentru expresia lambda sau orice referință a metodei.
Funcția este, de asemenea, o singură funcție de argument, dar aici diferența este că returnează un obiect. Aici T reprezintă intrarea în funcție și R reprezintă tipul de rezultat. Ambele acestea pot fi utilizate ca țintă de atribuire pentru expresii lambda sau referințe de metodă.

Să trecem la următoarele întrebări de interviu Java 8.

Q8. Explicați diferența dintre operațiunile intermediare și cele terminale.

Răspuns:
Operațiunile de flux sunt utilizate pentru procesarea fluxurilor și combinarea acestora. Toate aceste operațiuni sunt intermediare sau terminale. Operațiunile intermediare returnează Stream-ul în sine și permit operațiunile suplimentare, dacă acestea sunt efectuate. Aceste operațiuni nu sunt efectuate în același timp. Aceste operațiuni pot fi efectuate numai pentru procesarea datelor atunci când există o operațiune terminal. Pentru a numi câteva operații, acestea sunt filtre, hartă și hartă plană.
Operațiunile de terminare încheie conducta și inițiază procesarea fluxului. Acest flux este trecut prin toate operațiile intermediare în timpul funcționării terminalului. Aceste operațiuni includ pentru fiecare, reduce, colectează, suma etc.

Q9. Ce este canalizarea în flux 8 în Java 8?

Răspuns:
Acest lucru este avansat Java 8 Interviu Întrebări adresate într-un interviu. Este conceptul de înlănțuire a operațiilor. Acest proces se realizează prin divizarea operațiilor care pot funcționa cu fluxuri cu două categorii de operații intermediare și terminale. Fiecare operație intermediară returnează o instanță a unui flux atunci când rulează. De asemenea, trebuie să existe o operațiune a terminalului care să returneze o valoare finală și să încheie conducta.

Q10. Ce este StringJoiner?

Răspuns:
StringJoiner este o metodă utilă care este utilizată pentru a construi diferite șiruri cu delimitatoare dorite. De asemenea, poate ajuta la crearea secvențelor de caractere diferite, separate prin delimitatori. Acesta a fost introdus în Java 8. Diferenti constructori sunt Public StringJoiner (CharSequence delimiter) și Public StringJoiner (CharSequence delimiter, CharSequence prefix, CharSequence sufix) .Below este un exemplu de StringJoiner:
StringJoiner strJoiner = new StringJoiner(".");
strJoiner.add("Buggy").add("Bread");
System.out.println(strJoiner); // prints Buggy.Bread

Articol recomandat

Acesta a fost un ghid pentru lista cu întrebările și răspunsurile la interviu Java 8, astfel încât candidatul să poată împărți cu ușurință aceste întrebări de interviu Java 8. Aici, în acest post, am studiat cele mai bune întrebări de interviu Java 8, care sunt adesea puse în interviuri. De asemenea, puteți consulta următoarele articole pentru a afla mai multe -

  1. Întrebări de interviu Java multi-threading
  2. Întrebări de interviu Java EE
  3. Oops Întrebări de interviu Java
  4. Întrebări de interviu Java Spring
  5. Ce este nou în Java 8?