Úvod do otázok Java Interview Otázky a odpovede

Java 8 je nová platforma, ktorá bola nedávno uvedená na trh s novými knižnicami a triedami. Väčšinou sa tieto funkcie zameriavajú na čistší a kompaktný kód. Nové funkcie pridané v tejto verzii je možné uviesť ako Lambda Expressions, odkazy na metódy, voliteľné, funkčné rozhranie a predvolené metódy, Nashorn, Stream a Date API. Potreba zmeny v Jave spočívala v efektívnom využití súčasných viacjadrových CPU a vo využívaní funkcií FP.

V nasledujúcom texte sú najdôležitejšie otázky položené počas rozhovoru:

Teraz, ak hľadáte prácu, ktorá súvisí s Java 8, musíte sa pripraviť na 2019 Java 8 Interview Questions. Je pravda, že každý pohovor sa líši podľa rôznych profilov zamestnania. Tu sme pripravili dôležité otázky a odpovede týkajúce sa rozhovoru Java 8, ktoré vám pomôžu dosiahnuť úspech v rozhovore. Tieto otázky týkajúce sa rozhovoru sú rozdelené do dvoch častí:

1. časť - Otázky na rozhovor s Java 8 (základné)

Táto prvá časť obsahuje základné otázky a odpovede týkajúce sa rozhovoru Java 8

Q1. Ako sa Java 8 líši od predchádzajúcich verzií Java?

odpoveď:
Rôzne verzie Java sú nasledujúce:

  • Date API: Ide o vylepšené API, ktoré je nemenným JodaTime inspirovaným dátumom API.
  • Stream API: Toto je špeciálna trieda iterátorov, ktorá pomáha pri funkčnom spracovaní kolekcie objektov.
  • Lambda Expression: Toto je nová jazyková funkcia, ktorá umožňuje zaobchádzať s rôznymi činnosťami vykonávanými ako s objektmi.
  • Referencia metódy: Pomáha to pri definovaní výrazov Lambda priamym odkazom na rôzne metódy pomocou ich mien.
  • Voliteľné: Toto je špeciálna trieda obalov, ktorá pomáha pri určovaní voliteľných funkcií.
  • Funkčné rozhranie: Toto je rozhranie s maximálne jedným abstraktným spôsobom a jeho implementácia je zabezpečená Lambda výrazom
  • Nashorn Javascript Engine: Jedná sa o modul založený na Java, ktorý sa používa na vykonávanie a hodnotenie kódu JavaScript.

Q2. Je možné implementovať dve rozhrania, ktoré majú predvolenú metódu s rovnakým menom a podpisom? Vysvetlite príklad.

odpoveď:
Toto sú základné otázky týkajúce sa rozhovoru v jazyku Java 8, ktoré boli položené počas rozhovoru. Zoberme si nasledujúci kód s implementáciou dvoch rozhraní
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();
)
)

Tu kompilátor uvádza chybu, ktorá hovorí, že „Duplikovať predvolené metódy“. Z tohto dôvodu nie je možné implementovať dve rozhrania s rovnakým menom a podpisom.

Q3. Je možné definovať naše vlastné funkčné rozhranie? Vysvetlite pravidlá na definovanie funkčného rozhrania.

odpoveď:
Je možné definovať naše vlastné funkčné rozhrania. Užívateľ môže použiť anotáciu @FunctionalInterface Java SE 8 na označenie rozhrania ako funkčného rozhrania. Pri vytváraní funkčného rozhrania je potrebné mať na pamäti nasledujúce pravidlá.

  1. Musí byť definované iba jedno rozhranie, ktoré má iba jednu abstraktnú metódu
  2. Viac ako v abstraktných metódach nie je možné definovať
  3. Užívateľ by mal v definícii rozhrania využiť anotáciu @FunctionalInterface.
  4. Je možné definovať ľubovoľný počet rôznych metód, ako je predvolená metóda, statická metóda atď.
  5. Metódu triedy java.lang.Object môžeme prepísať ako abstraktnú metódu, ktorá sa nebude považovať za abstraktnú metódu.

Prejdime k ďalším otázkam rozhovoru Java 8.

Q4. Čo je voliteľné v jazyku Java 8? Vysvetlite jej výhody.

odpoveď:
Voliteľné je konečná trieda, ktorá sa zavádza ako súčasť Java SE 8. Je súčasťou java.util.package. Môže sa použiť na reprezentáciu voliteľných hodnôt, ktoré buď existujú, alebo neexistujú. Môže to mať jednu alebo nulovú hodnotu. Ak táto trieda obsahuje hodnotu, dostaneme hodnotu, inak nič nedostaneme.
Hlavnými výhodami tejto triedy sú to, že sa dajú použiť na zamedzenie nulových kontrol a na zabránenie „NullPointerException“.

Q5. Zostaví sa nasledujúci kód bez chyby?

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

Áno, tento kód sa skompiluje bez akejkoľvek chyby, pretože sa riadi pravidlom špecifikácie funkčného rozhrania definovania iba jednej abstraktnej metódy. Druhá použitá metóda je predvolená metóda, ktorá nezvyšuje počet abstraktných metód.

2. časť - Otázky na rozhovor s serverom Java 8 (rozšírené)

Pozrime sa teraz na pokročilé otázky a odpovede týkajúce sa rozhovoru Java 8

Q6. Čo je Nashorn v Jave?

odpoveď:
Toto je nový procesor na spracovanie Java pre platformu Java, ktorý sa dodáva v jazyku Java 8. Až do doby, keď platforma Java JDK 7 používala Rhino ako procesor na spracovanie. Bol to Javascript procesor. Nashorn poskytuje lepšiu zhodu so špecifikáciou JavaScriptu normalizovanou ECMA. Poskytuje tiež lepší výkon pri behu ako predchádzajúce verzie.

Q7. Aký je rozdiel medzi predikátom a funkciou?

odpoveď:
Obidve sú funkčné rozhrania. Predikát je funkcia jediného argumentu, ktorá vracia buď true alebo false. Tento výraz sa môže použiť ako cieľ priradenia pre lambda expresiu alebo ako odkaz na metódu.
Funkcia je tiež funkciou jedného argumentu, ale rozdiel je v tom, že vracia objekt. Tu T predstavuje vstup do funkcie a R predstavuje typ výsledku. Obidva môžu byť použité ako cieľ priradenia výrazov lambda alebo odkazov na metódy.

Prejdime k ďalším otázkam rozhovoru Java 8.

Q8. Vysvetlite rozdiel medzi strednými a terminálnymi operáciami.

odpoveď:
Operácie toku sa používajú na spracovanie a kombinovanie tokov. Všetky tieto operácie sú buď prechodné, alebo terminálové. Stredné operácie vracajú samotný tok a umožňujú ďalšie operácie, ak sa majú vykonať. Tieto operácie sa nevykonávajú súčasne. Tieto operácie sa môžu vykonávať iba na spracovanie údajov, keď existuje terminálová operácia. Aby sme vymenovali niekoľko operácií, sú to filter, mapa a plochá mapa.
Operácie terminálu ukončujú plynovod a iniciujú spracovanie toku. Tento tok prechádza cez všetky medzilahlé operácie počas prevádzky terminálu. Tieto operácie zahŕňajú pre každého, zníženie, výber, súčet atď.

Q9. Čo je potrubné rozvody v Java 8?

odpoveď:
Toto sú pokročilé otázky týkajúce sa rozhovoru Java 8, ktoré boli položené počas rozhovoru. Je to koncept reťazových operácií spolu. Tento proces sa vykonáva rozdelením operácií, ktoré môžu pracovať s tokmi, s dvoma kategóriami medziľahlých a terminálových operácií. Každá stredná operácia vráti pri spustení inštanciu toku. Musí existovať aj operácia terminálu, ktorá vráti konečnú hodnotu a ukončí plynovod.

Q10. Čo je StringJoiner?

odpoveď:
StringJoiner je metóda použitia, ktorá sa používa na zostavenie rôznych reťazcov s požadovanými oddeľovačmi. Môže tiež pomôcť pri vytváraní sekvencií rôznych znakov oddelených oddeľovačmi. Toto bolo predstavené v jazyku Java 8. Rôzni konštruktéri sú Public StringJoiner (oddeľovač CharSequence) a Public StringJoiner (oddeľovač CharSequence, predpona CharSequence, prípona CharSequence). Nižšie je príklad StringJoiner:
StringJoiner strJoiner = new StringJoiner(".");
strJoiner.add("Buggy").add("Bread");
System.out.println(strJoiner); // prints Buggy.Bread

Odporúčaný článok

Toto bol sprievodca zoznamom otázok a odpovedí na otázky týkajúce sa rozhovoru v jazyku Java 8, aby uchádzač mohol tieto otázky týkajúce sa rozhovoru v jazyku Java 8 ľahko nájsť. Tu v tomto príspevku sme študovali najčastejšie otázky týkajúce sa rozhovorov v jazyku Java 8, ktoré sa často kladú pri rozhovoroch. Ďalšie informácie nájdete aj v nasledujúcich článkoch -

  1. Otázky týkajúce sa rozhovoru Java s viacerými vláknami
  2. Otázky na rozhovor s Java EE
  3. Ľutujeme, Java Interview Otázky
  4. Java Spring Interview Otázky
  5. Čo je nové v Java 8?

Kategórie: