Въведение в Java 8 Въпроси за интервю и отговор

Java 8 е нова платформа, която е наскоро издадена с нови библиотеки и класове. Тези функции се фокусират най-вече върху по-чист и компактен код. Новите функции, добавени в тази версия, могат да бъдат изброени като Lambda Expressions, препратки към методи, незадължителен, функционален интерфейс и методи по подразбиране, Nashorn, Stream и Date API. Необходимостта от промяна в Java беше да се използват ефективно многоядрените процесори ефективно и да се използват функциите на FP.

По-долу са най-важният въпрос, зададен в интервюто:

Сега, ако търсите работа, която е свързана с Java 8, трябва да се подготвите за въпросите за интервю за Java 8 от 2019 г. Вярно е, че всяко интервю е различно според различните профили на работа. Тук сме подготвили важните въпроси за отговори и отговори на Java 8, които ще ви помогнат да постигнете успех в интервюто си. Тези въпроси за интервю са разделени на две части, както следва:

Част 1 - Въпроси за интервю с Java 8 (основни)

Тази първа част обхваща основните въпроси и отговори за интервю на Java 8

Q1. По какво се различава Java 8 от предишните версии на Java?

Отговор:
Различните версии на Java са както следва:

  • API за дата: Това е подобрен API, който е неизменен API за вдъхновена дата за JodaTime.
  • API на потока: Това е специален итераторски клас, който помага при обработката на колекцията на обекти по функционален начин.
  • Lambda Expression: Това е нова езикова функция, която позволява да се третират различни действия, изпълнявани като обекти.
  • Метод Справка: Това помага при дефинирането на ламбда изразите чрез позоваване на различни методи директно чрез използване на техните имена.
  • Незадължително: Това е специален клас опаковки, който помага при уточняване на незадължителните функции.
  • Функционален интерфейс: Това е интерфейс с максимално един абстрактен метод и неговото изпълнение се осигурява чрез Lambda израз
  • Nashorn Javascript Engine: Това е Java-базиран двигател, който се използва за изпълнение и оценка на JavaScript код.

Q2. Възможно ли е да се реализират два интерфейса с метод по подразбиране със същото име и подпис? Обяснете с пример.

Отговор:
Това са основните въпроси за интервю на Java 8, зададени в интервю. Помислете следния код с реализирани два интерфейса
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();
)
)

Тук компилаторът дава грешка, казвайки, че „Дублирайте методи по подразбиране“. Следователно не е възможно да се реализират два интерфейса със същото име и подпис.

Q3. Възможно ли е да определим собствения си функционален интерфейс? Обяснете правилата за дефиниране на функционален интерфейс.

Отговор:
Възможно е да определим собствените си функционални интерфейси. Потребителят може да използва пояснението @FunctionalInterface на Java SE 8, за да маркира интерфейса като функционален интерфейс. Следните правила трябва да се имат предвид при създаването на функционален интерфейс.

  1. Трябва да се дефинира само един интерфейс, имащ само един абстрактен метод
  2. Не може да се определи повече от абстрактните методи
  3. Потребителят трябва да използва @FunctionalInterface пояснение в определението на интерфейса.
  4. Може да се определи всеки брой различни методи като метод по подразбиране, статичен метод и т.н.
  5. Можем да отменим метода на клас java.lang.Object като абстрактен метод и това няма да се счита за абстрактен метод.

Нека преминем към следващите въпроси за интервю за Java 8.

Q4. Какво е по избор в Java 8? Обяснете неговите предимства.

Отговор:
По избор е финален клас, който се въвежда като част от Java SE 8. Той е част от java.util.package. Може да се използва за представяне на незадължителни стойности, които съществуват или не съществуват. Това може да има стойност като една или нулева стойност. Ако този клас съдържа стойност, тогава получаваме стойността, а не получаваме нищо.
Основните предимства на този клас са, че може да се използва за избягване на нулеви проверки и може да се използва, за да се избегне „NullPointerException“.

Q5. Кодът по-долу ще се компилира без грешка?

Отговор:
@FunctionalInterface
public interface Function2 (
public V apply(T t, U u);
default void count() (
// increment counter
)
)

Да, този код ще се компилира без никаква грешка, тъй като следва правилото на спецификацията на функционалния интерфейс за дефиниране само на един абстрактен метод. Вторият метод, който се използва, е метод по подразбиране, който не увеличава броя на абстрактните методи.

Част 2 - Въпроси за интервю за Java 8 сървър (разширено)

Нека сега да разгледаме разширените въпроси за отговори и отговори на интервю за Java 8

Q6. Какво е Nashorn в Java?

Отговор:
Това е новият процесор за обработка на Java за платформата Java, която се доставя в Java 8. Докато платформата JDK 7 Java не използва Rhino като двигател за обработка. Това беше двигател за обработка на Javascript. Nashorn осигурява по-добро съответствие с ECMA нормализираната спецификация на JavaScript. Той също така осигурява по-добри експлоатационни характеристики от предишните му версии.

Q7. Каква е разликата между предикат и функция?

Отговор:
И двете са функционални интерфейси. Предикатът е функция на един аргумент, която връща или вярно, или невярно. Този израз може да бъде използван като цел за присвояване на лямбда експресия или какъвто и да е референтен метод.
Функцията също е функция на един аргумент, но разликата тук е, че тя връща обект. Тук T представлява вход към функцията, а R представлява вида на резултата. И двете могат да бъдат използвани като цел за присвояване за ламбда изрази или препратки към методи.

Нека преминем към следващите въпроси за интервю за Java 8.

Q8. Обяснете разликата между междинните и крайните операции.

Отговор:
Поточните операции се използват за обработка на потоци и за тяхното комбиниране. Всички тези операции са или междинни, или терминални. Междинните операции връщат самия Поток и позволяват по-нататъшни операции, ако те трябва да бъдат извършени. Тези операции не се извършват едновременно. Тези операции могат да се извършват само за обработка на данни, когато има терминална операция. За да назовем няколко операции, те са филтър, карта и плоска карта.
Операциите на терминала прекратяват тръбопровода и инициират обработката на потока. Този поток се предава през всички междинни операции по време на работа на терминала. Тези операции включват за всяка, намаляване, събиране, сума и т.н.

Q9. Какво е поточно тръбопровод в Java 8?

Отговор:
Това е разширено Въпроси за интервю на Java 8, зададени в интервю. Това е концепцията за свързване на операции заедно. Този процес се извършва чрез разделяне на операции, които могат да работят с потоци с две категории междинни и терминални операции. Всяка междинна операция връща екземпляр от поток, когато се изпълнява. Трябва да има и терминална операция, която ще върне крайната стойност и ще прекрати тръбопровода.

Q10. Какво е StringJoiner?

Отговор:
StringJoiner е утилитен метод, който се използва за конструиране на различни низове с желани разделители. Също така може да помогне в създаването на поредици от различни знаци, разделени от разделители. Това беше въведено в Java 8. Различните конструктори са Public StringJoiner (разделител на CharSequence) и Public StringJoiner (разделител на CharSequence, префикс CharSequence, суфикс CharSequence). По-долу е пример за StringJoiner:
StringJoiner strJoiner = new StringJoiner(".");
strJoiner.add("Buggy").add("Bread");
System.out.println(strJoiner); // prints Buggy.Bread

Препоръчителен член

Това е ръководство за изброяване на въпроси за отговори и отговори на Java 8, така че кандидатът да може лесно да прекъсне тези въпроси за интервю за Java 8. Тук в тази публикация сме проучили топ въпроси за интервю за Java 8, които често се задават в интервюта. Можете също да разгледате следните статии, за да научите повече -

  1. Въпроси за интервю на Java с многократно нанизване
  2. Въпроси за интервю на Java EE
  3. Упс Java въпроси за интервю
  4. Въпроси за интервю за Java Spring
  5. Какво е новото в Java 8?