Java developer interview FAQ, 1. diel: Časté otázky na pracovnom pohovore Java programátora juniora

Java je populárny programovací jazyk používaný na vývoj rôznych druhov aplikácií. Ak sa chystáš na pohovor na pracovnú pozíciu Java developera, je dôležité byť dobre pripravený a vedieť odpovedať na často kladené otázky. Tvoje odpovede by mali byť stručné, ale zároveň informačne bohaté a takto môžeš ukázať svojmu potenciálnemu zamestnávateľovi, že si odborne pripravený na pohovor.

V prvom diele tohto seriálu sa pozrieme na časté kľúčové otázky zamerané teoreticky na pozíciu Java programátor junior, ktoré sa zamestnávatelia zvyknú pýtať na 1. kole pracovného pohovoru.

Pozri si aj ďalšie články zo seriálu Java programátor pohovor:

Čo je Java?

Java je vysokoúrovňový objektovo orientovaný programovací jazyk navrhnutý tak, aby bol nezávislý na platforme, č o znamená, že kód napísaný v Jave môže byť spustený na akomkoľvek systéme, ktorý má nainštalovaný Java Virtual Machine (JVM).

Jednou z kľúčových výhod Javy je jej filozofia, teda: „napíš raz, spusti kdekoľvek”, ktorá umožňuje vývojárom vytvárať kód, ktorý môže byť použitý na rôznych platformách bez potreby úprav pre každý jednotlivý systém. Java je tiež známa pre svoju robustnosť, bezpečnostnými funkciami a veľkou knižnicou štandardných tried a metód, ktoré uľahčujú vývoj komplexných aplikácií.

JDK, JRE a JVM – aký je medzi nimi rozdiel?

JDK (Java Development Kit) je softvérový vývojový nástroj, ktorý vývojári používajú na vytváranie Java aplikácií. Obsahuje nástroje ako kompilátor, debugger a iné utility potrebné na tvorbu Java aplikácií.

JRE (Java Runtime Environment) je softvérový balík, ktorý je potrebný na spustenie Java aplikácií. Obsahuje JVM a súbor knižníc, ktoré sú nevyhnutné pre beh Java aplikácií.

JVM (Java Virtual Machine) je softvérový engine, ktorý je zodpovedný za vykonávanie Java bytecode. JVM interpretuje skompilovaný Java kód a vykonáva ho na cieľovom stroji. Poskytuje vrstvu abstrakcie medzi Java kódom a hardvérom, čo robí Java programy nezávislými na platforme.

Vysvetli pojem Objektovo orientované programovanie

Objektovo orientované programovanie (OOP) je paradigma programovania, ktorá sa zameriava na modelovanie reálnych vecí v programovacom jazyku pomocou objektov. V OOP, kód je organizovaný do tried a objektov. Triedy definujú vlastnosti a správanie objektov, ktoré sú vytvorené z týchto tried. Objekty môžu interagovať s inými objektami, a tak vytvárať zložitejšie systémy.

OOP má niekoľko hlavných výhod, ako napríklad opätovné použitie kódu, zjednodušené riadenie a údržba kódu, schopnosť modelovať zložité procesy a schopnosť vykonávať abstrakciu. Preto je OOP veľmi populárne v dnešnej dobe a je široko používané v rôznych oblastiach, vrátane webových aplikácií, mobilných aplikácií a hier.

Uveď kľúčové vlastnosti jazyka Java

Platformová nezávislosť: Java kód môže byť skompilovaný raz a spustený na akomkoľvek operačnom systéme.

Objektovo orientovaný: Java je objektovo orientovaný programovací jazyk, čo znamená, že umožňuje vytváranie objektov a definovanie ich vlastností a metód.

Jednoduchosť: Java je navrhnutá ako jednoduchý jazyk s ľahko naučiteľnou syntaxou, čo ju robí prístupnou pre začiatočníkov.

Robustnosť: Java má silný systém správy pamäte, automatické zberanie odpadu a spracovanie výnimiek, čo z nej robí robustný jazyk.

Bezpečnosť: Java poskytuje zabudované bezpečnostné funkcie, ako sú načítavače tried (class loader), overovanie bytecode a správca bezpečnosti, čo ju robí bezpečným jazykom.

Prenositeľnosť: Java programy môžu byť spustené na akomkoľvek operačnom systéme, na ktorom je nainštalovaný Java Virtual Machine (JVM).

Viacvláknovosť: Java podporuje viacvláknovosť, čo umožňuje programom vykonávať viacero úloh súčasne.

Vysoká výkonnosť: Just-In-Time (JIT) kompilátor a efektívny systém správy pamäte robia z Javy vysokovýkonný jazyk.

Dynamickosť: Java podporuje dynamické načítavanie tried, čo umožňuje vývojárom načítať triedy len vtedy, keď sú potrebné.

Distribuovateľnosť: Java poskytuje zabudovanú podporu pre distribuované výpočty, čo umožňuje aplikáciám komunikovať cez sieť.

Aký je rozdiel medzi primitívnymi dátovými typmi a objektami?

V jazyku Java existujú dva typy dát: primitívne a referenčné (objekty). Hlavný rozdiel medzi nimi spočíva v tom, že primitívne dátové typy sú základné typy dát zabudované do jazyka, zatiaľ čo objekty sú inštancie tried.

Primitívne dátové typy zahŕňajú celočíselné typy (byte, short, int, long), typy s pohyblivou desatinnou čiarkou (float, double), logický typ (boolean) a znakový typ (char). Tieto typy sa používajú na ukladanie jednoduchých hodnôt priamo v pamäti a sú prenášané hodnotou.

Na druhej strane, objekty sa vytvárajú z tried a ukladajú sa v pamäti ako odkazy na ich umiestnenie. Objekty môžu uchovávať zložité dátové štruktúry a môžu mať metódy a vlastnosti s nimi spojené. Sú prenášané odkazom, čo znamená, že keď prenesieš objekt do metódy, metóda dostane odkaz na umiestnenie objektu v pamäti.

Ďalším rozdielom medzi primitívnymi dátovými typmi a objektmi je, že primitívne dátové typy majú pevnú veľkosť a nikdy nemôžu byť null, zatiaľ čo objekty môžu byť null a majú rôzne veľkosti na základe dát, ktoré obsahujú.

Čo je to trieda v Jave?

V Jave je trieda (java class) šablóna pre vytváranie objektov. Definuje vlastnosti (alebo atribúty) a správanie (alebo metódy), ktoré bude mať objekt tejto triedy.

Trieda môže mať jeden alebo viac konštruktorov (java constructor), ktoré sú špeciálne metódy, ktoré sa volajú pri vytváraní objektu tejto triedy. Konštruktor inicializuje atribúty objektu na špecifické hodnoty.

V Jave sa triedy deklarujú pomocou kľúčového slova class, nasledovaného názvom triedy. Telo triedy je uzavreté do zložených zátvoriek a obsahuje atribúty a metódy triedy.

Triedy sú základom objektovo-orientovaného programovania v Jave. Umožňujú vytváranie objektov, ktoré môžu vykonávať konkrétne úlohy a interagovať s inými objektmi predvídateľným spôsobom.

Ak si úplný začiatočník, klikni si na článok Ako sa stať programátorom. Prečítaj si viac o plate programátora. Hľadáš prácu ako Java programátor senior alebo junior? Pozri si naše firemné benefity a reaguj na pracovné ponuky.

O autorovi

Jozef Wagner

Java Developer Senior

Viac ako 10 rokov programujem v Jave, momentálne pracujem v msg life Slovakia ako Java programátor senior a pomáham zákazníkom implementovať ich požiadavky do poistného softvéru Life Factory. Vo voľnom čase si rád oddýchnem v lese, prípadne si zahrám nejakú dobrú počítačovú hru.

Daj nám o sebe vedieť