35 + Java 8 pitanja i odgovora za intervju (2026.)
Bio tehniฤar ili bilo koji drugi profesionalac, intervjui uvijek podiลพu adrenalin od nervoze. Meฤutim, kako biste se istaknuli iz gomile, vaลพno je usavrลกiti svoje vjeลกtine i kladiti se na svoje sposobnosti. ล toviลกe, posjedovanje ฤesto postavljanih pitanja Java 8 pitanja za intervju i odgovora mogu vam pomoฤi.
Stoga, duboko prouฤite ova pitanja za intervjue za java 8 za iskusne i poฤetnike kako biste uspjeลกno obavili svoje nadolazeฤe intervjue.
Java 8 pitanja za intervju za brucoลกe i iskusne
1) Java 8 spada u koju programsku paradigmu?
Java 8 spada u sljedeฤu paradigmu programiranja:
- Objektno ili klasno orijentirani programski jezik.
- Funkcionalni programski jezik.
- Odreฤeni proceduralni programski jezik.
- Logiฤki programski jezik.
2) Zaลกto treba koristiti izbornu klasu?
Izborna klasa je novouvedena klasa spremnika koja je korisna u demonstriranju postojeฤih ili nepostojeฤih izbornih vrijednosti. Njegova glavna prednost je izbjegavanje null & void provjere i olakลกava metode korisne u provjeri postojanja vrijednosti za odreฤenu varijablu.

3) Navedite nekoliko nedavnih znaฤajki predstavljenih u Java 8.
Ispod su najnovije znaฤajke koje su predstavljene u Java 8:
- Lambda izrazi: To je Java funkciju koju moลพete dijeliti ili na koju se moลพete odnositi kao na objekt.
- Interferencija metode: Koristi funkciju kao kriterij za implementaciju metode.
- Funkcionalne smetnje: Svaka funkcionalna smetnja povezana je s jednim trbuลกnim miลกiฤem.tract metoda koja je poznata kao funkcionalna metoda.
- Zadana metoda: Korisno je u implementaciji metoda u suฤelja koja pomaลพu omoguฤiti potencijal 'evolucije suฤelja'.
- Datum i vrijeme API: To je poboljลกana, ali nadahnuta verzija java time API-ja koja rjeลกava nedostatke prethodne verzije.
- Stream API naziva se trbuลกni miลกiฤitract sloj, koji pomaลพe u usmjeravanju podataka za obradu.
- Izborni: Klasa omotaฤa korisna je u provjeri nultih vrijednosti i obradi daljnjih podataka.
- JavaSkripta i Nashorn Engine: To je poboljลกana verzija JavaScript Engine, koji je koristan za omoguฤavanje njegove funkcionalnosti u Java, zamijenivลกi Rhino.
4) Navedite prednosti koriลกtenja jave 8
Evo nekih prednosti koriลกtenja Java 8:
- Pomaลพe u izradi aplikacija puno brลพe i na lakลกi naฤin.
- Pruลพa vrlo stabilan ambijent za programere.
- Saลพeti, viลกekratno upotrebljivi i lako razumljivi kodovi.
- Poboljลกana i uฤinkovita podrลกka.
- Lako se prenosi na razliฤite operativne sustave.
- Minimalni standardni kodovi.
5) ล to je zbirka i po ฤemu se razlikuje od toka?
Zbirka je baza podataka u memoriji koja biljeลพi sve vrijednosti prema trenutnoj strukturi podataka. Dakle, prije nego ลกto ga dodate u zbirku, vaลพno je izraฤunati svaki od njih. Dok je tok vizualno fiksirana struktura podataka u kojoj moลพemo izraฤunati elemente prema naลกim potrebama.
6) ล to je Lambada izraz?
Lambada izraz je vrsta funkcije koja nema ime i ponekad se naziva anonimnom funkcijom jer nema vlastitu vrstu informacija. Moลพete ga koristiti prema svojim potrebama i vrlo je koristan za ponavljanje, filtriranje i objaลกnjavanje.tracprikupljanje bilo kakvih podataka iz zbirke.
Primjer:
import java. util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class LambdaExpressionExample {
public static void main(String[] args) {
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "Dave");
List<String> filteredNames = names.stream()
.filter(name -> name.startsWith("C"))
.map(name -> name.toUpperCase())
.collect(Collectors.toList());
System.out.println(filteredNames);
}
}
Izlaz:
Charlie
7) Definirajte cjevovod toka
Cjevovod toka je metoda grupiranjaping potpuno razliฤite operacije. To moลพete postiฤi kategorizacijom njegovih stream operacija u dva dijela. Meฤuoperacije i terminalne operacije.
Kad god se izvrลกi meฤuoperacija, ona vraฤa instancu u cjevovod toka. Stoga svaki korisnik moลพe postaviti iracionalan broj meฤuoperacija kako bi pojednostavio podatke i konaฤno formirao cjevovod za obradu.
ล toviลกe, da biste prekinuli cjevovode, potrebno je imati operaciju terminala na kraju procesa.
8) U ฤemu su predikat i potroลกaฤ Java 8?
Predikat je funkcionalno suฤelje koje obiฤno prima argumente i dohvaฤa Booleovu vrijednost. Moลพete ga koristiti za primjenu filtra za kolekciju objekata.
S druge strane, potroลกaฤ se naziva ugraฤenim funkcionalnim suฤeljem koje se nalazi u Java.util.function paket. Moลพete ga koristiti za konzumiranje bilo kojeg objekta, a on uzima ulaznu vrijednost i ne daje niลกta.
9) Zaลกto se metoda peek () koristi u Java 8?
Metoda peek() pomaลพe u podrลกci otklanjanju pogreลกaka, pri ฤemu se ลพeli uoฤiti elemente dok teลพe da teku iz odreฤene toฤke u cjevovodu. To je prikaz naลกeg opaลพanja kako svaki element prolazi.
Sintaksa: public Object peek()
10) ล to vas ฤini idealnim kandidatom za Java uloga programera?
Evo nekoliko vaลพnih kvaliteta koje vas mogu uฤiniti idealnim kandidatom za Java uloga programera:
- Trebali biste imati sposobnost pisanja jasnih, lako razumljivih i uฤinkovitih kodova.
- Duboko razumijevanje obrazaca i koncepata "OOP ili objektno orijentirano programiranje".
- Dobro poznavanje razliฤitih arhitektonskih i dizajnerskih obrazaca.
- Upoznavanje s Java obrasci istodobnosti.
- Iskustvo i znanje rada s razliฤitim okvirima web aplikacija kao ลกto su Spark i Igraj.
- Temeljno znanje o Java Virtualni stroj ili JVM, njegovi nedostaci, zaobilazno rjeลกenje itd.
- Dobro iskustvo u koriลกtenju ugraฤenih i vanjskih baza podataka.
11) Objasnite 'Funkcionalno suฤelje'.
Suฤelje s samo jednim absomtract se naziva funkcionalnim suฤeljem. Takoฤer je poznato kao Single Abstract Metoda ili SAM. Meฤutim, anotacija @FunctionalInterface je opcionalna i moลพe se koristiti ฤak i ako nije tamo. Proลกiruje se na drugo suฤelje ako nema nikakvih abstract.
12) Zaลกto su potrebne statiฤke metode Java 8?
Referenca statiฤne metode naziva se usluลพna ili pomoฤna metoda, koja je povezana sa suฤeljem. To je takoฤer klasa koja nije povezana ni s jednim objektom.
Evo razloga za koriลกtenje statiฤke metode u Java:
- Korisno za odrลพavanje i proลกirenje API-ja.
- Ukljuฤuje jasnu i konciznu podjelu odgovornosti i ne morate imati jednu klasu pomoฤnih programa da biste imali zbirke pomoฤnih programa.
- Korisno za keeping sva suฤelja u zajedniฤkom suฤelju, a ne specifiฤna suฤelja.
13) Koje su prednosti Nashorna?
Nashorn je najnapredniji i najnoviji JavaScript godine uveden motor za obradu Java 8. Ranije se temeljio na Mozilla Rhino. Omoguฤuje poboljลกanu usklaฤenost s ECMA-om JavaSkripta. Brลพi je od prethodnih verzija.
14) Po ฤemu se API za prikupljanje i API za strujanje razlikuju?
Evo nekoliko vaลพnih razlika izmeฤu Collection API-ja i Stream API-ja
| API zbirke | Stream API |
|---|---|
| Collection API je prvi put koriลกten u Java 1.2 | Stream API je prvi put predstavljen u Java JI 8. |
| Moลพete ga koristiti za pohranu neograniฤenog broja podataka. | Moลพete ga koristiti za izraฤunavanje neograniฤenih podataka. |
| API za prikupljanje omoguฤuje vam koriลกtenje Iteratora i Spilteratora za ponavljanje podataka. | Stream API omoguฤuje vam upotrebu Iteratora i Spilteratora za ponavljanje podataka. |
| Collection API-ju je lako pristupiti. | In-stream API, ne postoji izravan naฤin za dosezanje odreฤenih elemenata. |
| Takoฤer olakลกava obradu prema vaลกim potrebama. | Stream API moลพe se obraditi samo jednom. |
15) Opiลกite PermGenSpace i MetaSpace.
PermGen ili Permanent Generation Space je jedinstvena vrsta heap prostora koji se koristi za keeping track pohranjenih metapodataka koji su sada uklonjeni u Java 8.
S ovom novom verzijom, pohranjivanje metapodataka vrลกit ฤe se u sliฤnoj memoriji poznatoj kao "MetaSpace". Nije prenosiv Java Heap memorija i poboljลกana je verzija PermGena u aspektima automatskog podeลกavanja, skupljanja smeฤa itd.
16) Kako se stvara funkcionalno suฤelje Java 8?
Za implementaciju abs funkcije moลพete koristiti lambda izraz.tract metoda funkcionalnog suฤelja u Java 8. Ispod je primjer kodiranja istog:
Primjer
import java.util.function.Consumer;
public class FunctionalInterfaceExample {
public static void main(String[] args) {
Consumer<String> printer = System.out::println;
printer.accept("Hello, world!");
}
}
Izlaz:
Hello, world!
17) Koje su razlike i sliฤnosti izmeฤu funkcije i predikata u Java 8?
Ovdje su razlike izmeฤu funkcije i predikata u Java 8:
- Funkcija je korisna u transformaciji, dok se predikat moลพe koristiti za testiranje bilo kojeg uvjeta.
- Funkcija moลพe primiti argument i dati rezultat, dok predikat takoฤer moลพe primiti argument, ali daje samo Booleovu vrijednost.
- Funkcija je oznaฤena sa , a Predikat je oznaฤen samo sa , gdje je T tip funkcije, a R rezultat.
Ispod su sliฤnosti izmeฤu funkcije i predikata:
- I funkcija i predikat su funkcionalna suฤelja.
- I funkcija i predikat su funkcije s jednim argumentom.
18) Na primjeru objasnite razliku izmeฤu skip(long) i limit(long).
Preskakanje (dugo) je meฤuoperacija koja dohvaฤa zaostale elemente nakon eliminacije poฤetnih n elemenata odreฤenog toka.
Primjer:
import java.util.Arrays;
import java.util.List;
public class SkipExample {
public static void main(String[] args) {
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "Dave", "Eve");
// Create a stream from the names list
names.stream()
// Skip the first two elements of the stream
.skip(2)
// Print the remaining elements to the console
.forEach(System.out::println);
}
}
Izlaz:
Charlie Dave Eve
Limit (long) dohvaฤa tok elemenata odreฤene veliฤine
Primjer:
import java.util.Arrays;
import java.util.List;
public class LimitExample {
public static void main(String[] args) {
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "Dave", "Eve");
// Create a stream from the names list
names.stream()
// Limit the stream to the first three elements
.limit(3)
// Print the elements to the console
.forEach(System.out::println);
}
}
Izlaz:
AliceBob Charlie
19) Koja je situacija najprikladnija za koriลกtenje stream API-ja Java 8?
Moลพete koristiti stream API u Java 8. Postoji potreba za sljedeฤim operacijama:
- Moลพete izvrลกiti paralelnu obradu.
- Za izvrลกavanje lijenih operacija
- Za obavljanje operacija baze podataka
- Koristi se za interne iteracije.
- Za pisanje programiranja u funkcionalnom stilu
- Moลพete koristiti za koriลกtenje cjevovodnih operacija.
20) Koja je funkcija zakljuฤivanja tipa?
Tip Inference pomaลพe prevoditelju u identificiranju ili prepoznavanju tipova argumenata samo imajuฤi pregled odgovarajuฤe deklaracije i pozivanja metode.
21) Koji je najlakลกi naฤin za prepoznavanje i uklanjanje dupliciranih elemenata s popisa u Java 8?
Najlakลกi naฤin za prepoznavanje i uklanjanje dupliciranih elemenata je koriลกtenjem operacije toka i provoฤenjem prikupljanja, nakon ฤega slijedi koriลกtenje metode Collections.toSet().
22) Koje su smjernice za funkcionalno suฤelje?
Ispod su smjernice za funkcionalno suฤelje koje je meฤu najฤeลกฤe traลพenim Java 8 programskih pitanja:
- Trebao bi imati samo jedan trbuลกnjaktract metoda.
- Moลพete imati onoliko zadanih metoda koliko god ลพelite jer nije apsolutnotract, a implementacija je dana ranije od strane istog.
- Trbuลกnjacitract metoda, glavni element javnih metoda iz Java.lang, poznat je u funkcionalnom suฤelju. Object se joลก uvijek smatra korisnim suฤeljem.
Biljeลกka: Objaลกnjenje za to je da svaka implementacijska klasa za ovo suฤelje moลพe imati implementaciju za ovaj abstract metoda koja je ili definirana samom implementacijskom klasom ili preuzeta iz nadklase.
23) Napravite razliku izmeฤu spliteratora i iteratora.
Evo nekih razlika izmeฤu spliteratora i iteratora:
| Spliterator | iterator |
|---|---|
| Uveden je godine Java 1.2. | Uveden je godine Java 1.8. |
| Samo iterira sve elemente zasebno. | Popreฤno prelazi sve elemente odvojeno, kao i skupno. |
| Djeluje kao iterator za kompletnu kolekciju API-ja. | Djeluje kao iterator za API toka i zbirke. |
| Neฤe podrลพavati paralelno programiranje. | Podrลพava paralelno programiranje. |
24) Kako moลพete pozvati zadanu metodu suฤelja u klasi?
Zadana kljuฤna rijeฤ, koja je prisutna na poฤetku potpisa metode, koristi se za oznaฤavanje deklaracije metode u suฤelju kao zadane metode. Moลพete preskoฤiti javni modifikator jer je svaka deklaracija metode u suฤelju, ukljuฤujuฤi zadane metode, automatski javna.
25) Definirajte zadanu metodu. Kada ga moลพete koristiti?
Zadana metoda je prisutna u suฤelju i ukljuฤuje implementaciju. Ova metoda je korisna za dodavanje novih funkcionalnosti odreฤenom suฤelju, a istovremenoping unatrag kompatibilna zajedno s klasama koje su veฤ implementirane u suฤelju.
26) Kako se stvaraju tokovi u Java, i je li to jedno od najฤeลกฤe postavljanih pitanja za intervju za java 8 stream?
Ulazi Java opisuju slijed objekata iz odreฤenog izvora, poput zbirke, koji ฤe podrลพavati agregatne operacije. Moลพete ga koristiti za prikupljanje, filtriranje, ispis i promjenu jedne strukture podataka u drugu.
Evo primjera kako stvoriti streamove Java:
import java.util.stream.Stream;
public class StreamExample {
public static void main(String[] args) {
Stream<String> stream = Stream.of("Alice", "Bob", "Charlie", "Dave", "Eve");
stream.forEach(System.out::println);
}
}
Izlaz:
Alice Bob Charlie Dave Eve
27) ล to su Map i FlatMap stream operacije?
Map i FlatMap smatraju se operacijama toka i srednjeg toka koji prihvaฤaju funkciju. Takoฤer pomaลพe u primjeni zadane funkcije na ostale elemente.
28) Zaลกto trebamo mijenjati Java programski jezik ฤesto?
Moramo promijeniti Java programski jezik ฤesto zbog sljedeฤih razloga:
- Moลพete koristiti znaฤajke Funkcionalno programiranje.
- Za uฤinkovito koriลกtenje najnovije tehnologije viลกejezgrenih CPU-a.
29) Navedite nekoliko funkcionalnih suฤelja koja se koriste u Java 8.
Ispod je nekoliko funkcionalnih suฤelja koja se koriste u Java 8:
- BinarniOperahumka
- potroลกaฤ
- funkcija
- Dobavljaฤ
- UnarnoOperahumka
- Bifunkcija
- Predikat
30) Koje su glavne API klase za vrijeme i datum?
Ispod su navedene glavne API klase za vrijeme i datum koje se koriste u Java 8:
- Lokalno vrijeme
- LocalDateTime
- Lokalni datum
31) Navedite osnovnu strukturu/sintaksu Lambda izraza.
Osnovna struktura/sintaksa Lambda izraza je:
(arugument - list) - > {body}
Ovdje,
- Argument โ โโpopis: Moลพete ga drลพati ispunjenog ili praznog.
- ลฝeton strelice: Koristan je u povezivanju izraza tijela i argumenata โ popis.
- Tijelo: Sastoji se od iskaza i izraza za lambda izraz.
32) Koje su glavne karakteristike Streama?
Ispod su glavne karakteristike Streama:
- cjevovod
- izvor
- skupina Operama
- Redoslijed elemenata
- Automatske iteracije
33) Koje su najฤeลกฤe srednje operacije?
Neke od najฤeลกฤih vrsta posrednih izraza su:
- razliฤit ()
- Preskoฤi (dugo n)
- Filtar (predikat)
- Ograniฤenje (dugo n)
- Karta (funkcija)
34) Koje su najฤeลกฤe vrste terminalskih operacija?
U nastavku su navedene najฤeลกฤe vrste terminalskih operacija:
- Raฤunati
- Smanjiti
- Min
- AllMatch
- maksimum
- AnyMatch
- Za niz
35) ล to je referenca metode u Java 8?
Referenca metode u Java 8 je naฤin upuฤivanja na funkcionalno suฤelje. Poznat je kao puno lakลกi i uฤinkovitiji oblik lambda izraza. Kada koristite lambda izraze za referencu metode, moลพete je zamijeniti referencom metode.
36) Po ฤemu se razlikuju unutarnje i vanjske iteracije?
Ispod su razlike izmeฤu unutarnje i vanjske iteracije:
| Interna iteracija | Vanjska iteracija |
|---|---|
| Takoฤer je poznat kao pasivni ili implicitni iterator. | Takoฤer je poznat kao aktivni ili eksplicitni iterator. |
| Nosi se interno na raznim predmetima. | Izvana se prenosi na raznim predmetima. |
| Koristi se u funkcionalnom programiranju. | Koristi se u objektno orijentiranom programiranju. |
| Uzima vrlo manje greลกaka. Meฤutim, kodiranje je neophodno za to. | Uzrokuje viลกe greลกaka. Meฤutim, kodiranje nije potrebno. |
37) Je li zakljuฤak tipa koriลกten u prethodnim verzijama Java?
Java uvedene smetnje tipa u Java 5 ali s vrlo ograniฤenim pristupom. No tijekom godina, moguฤnosti interferencije tipa su se poveฤale, a najbolje je u Java 8.
38) Zapiลกite a Java 8 program koji moลพe pronaฤi minimalni i maksimalni broj Streama.
import java.util.Arrays;
import java.util.stream.IntStream;
public class MinMaxExample {
public static void main(String[] args) {
int[] numbers = {9, 3, 8, 1, 5, 7, 2, 6, 4};
int min = IntStream.of(numbers).min().getAsInt();
int max = IntStream.of(numbers).max().getAsInt();
System.out.println("Minimum number: " + min);
System.out.println("Maximum number: " + max);
}
}
Izlaz:
Minimum number: 1 Maximum number: 9
39) Kako se moลพe spojiti viลกe nizova putem klase StringJoiner?
StringJoiner pomaลพe u spajanju jednog ili viลกe nizova, a to se moลพe uฤiniti putem odreฤenog spojnika ili razdjelnika. Na primjer, moguฤe je spojiti brojne nizove odvajajuฤi ih zarezom (,).
Za stvaranje CSV niza, moลพe se generirati puna staza za odreฤeni direktorij u Linuxu ลกto se moลพe uฤiniti spajanjem niza uz pomoฤ kose crte naprijed โ/.โ
40) Koja je najbolja alternativa lambda izrazima u Java 8?
Opฤenito, koristimo lambda izraze za stvaranje anonimnih metoda koje pomaลพu u dobivanju ลพeljenog rezultata. Meฤutim, postoje sluฤajevi u kojima lambda izrazi ne rade i koriste samo postojeฤu metodu.
Dakle, da biste to izbjegli, moลพete koristiti referencu metode koja moลพe pomoฤi u dobivanju ลพeljenog rezultata. Referenca metode prikazana je pomoฤu simbola: (dvotoฤka).
