Recommended Articles

Cuevana 3

Australia Battles Historic Floods as Qantas Settles $105 Million COVID Credit Dispute

Northern Australia faces devastating floods forcing mass evacuations while Qantas agrees to pay $105 million to settle a class action over COVID-era flight credits.

James Whitmore
Cuevana 3

Australian Greens Navigate Leadership Transition After Electoral Setback

[[person:Larissa Waters|Larissa Waters]] takes the helm of the [[company:Australian Greens|Australian Greens]] following a devastating 2025 election that saw the party lose three of four House seats, including leader [[person:Adam Bandt|Adam Bandt’s]] historic Melbourne stronghold.

James Whitmore
Cuevana 3

The Guardian’s Experience Column: Where Extraordinary Stories Meet Ordinary Lives

For over two decades, The Guardian’s Experience section has carved out a unique niche in journalism, offering readers a weekly dose of remarkable personal stories that transcend the noise of daily news.

Maya Chen
Cuevana 3

From $1 an Hour to Heroes: The Complex Reality of America’s Incarcerated Firefighters

As devastating wildfires tear through Los Angeles, over 1,000 incarcerated firefighters risk their lives for as little as $1 per hour. California just changed that.

James Whitmore
Cuevana 3

China’s Energy Lifeline Under Threat as Trump’s Iran War Disrupts Oil Flows

Beijing faces a perfect storm as U.S. military action against Iran threatens its primary source of discounted crude oil, while new domestic laws cement the erosion of minority rights.

Richard Hayes
Cuevana 3

Australia’s Military Gamble: When Albanese Chose Trump Over Tame

As missiles streak across Middle Eastern skies, Australia finds itself drawn deeper into America’s war with Iran while its Prime Minister faces fierce criticism from an unlikely opponent at home.

Richard Hayes

Java Pohovor: 50 Otázek a Odpovědí, které Musíte Znát

Připravujete se na pohovor na pozici Java developera? Zvládnutí syntaxe a základních konceptů nestačí. Firmy se zaměřují i na vaše znalosti Java Core. Tento článek vám pomůže s přípravou. Připravili jsme pro vás 50 otázek a odpovědí, které se často objevují na pohovorech pro Java Core pozice.

Základy Javy

Co je to JVM, JRE a JDK?

JVM (Java Virtual Machine) je virtuální stroj, který spouští Java bytecode. JRE (Java Runtime Environment) obsahuje JVM a knihovny potřebné pro spouštění Java aplikací. JDK (Java Development Kit) obsahuje JRE a nástroje pro vývoj Java aplikací, jako je kompilátor a debugger.

Jaké jsou datové typy v Javě?

Java má dva hlavní typy dat: primitivní a referenční. Primitivní datové typy zahrnují byte, short, int, long, float, double, boolean a char. Referenční datové typy odkazují na objekty.

Co je to garbage collection v Javě?

Garbage collection je automatický proces správy paměti v Javě. Automaticky uvolňuje paměť obsazenou objekty, které již nejsou používány. To pomáhá předcházet memory leakům.

Vysvětlete rozdíl mezi == a .equals() v Javě.

Operátor == porovnává referenční proměnné a zkontroluje, zda ukazují na stejný objekt v paměti. Metoda .equals() porovnává obsah objektů. Je důležité si uvědomit, že metoda .equals() může být přepsána v třídě, aby poskytovala specifické porovnání obsahu.

Objektově orientované programování (OOP)

Co jsou to čtyři základní principy OOP?

  1. Encapsulation (Zapouzdření): Skrývání dat a metod uvnitř objektu a poskytnutí kontrolovaného přístupu k nim.
  2. Abstraction (Abstrakce): Zjednodušení složitého systému modelováním pouze relevantních vlastností a chování.
  3. Inheritance (Dědičnost): Umožňuje vytvářet nové třídy na základě existujících tříd, čímž se snižuje redundance kódu.
  4. Polymorphism (Polymorfismus): Umožňuje objektům různých tříd reagovat na stejné volání metody odlišným způsobem.

Vysvětlete rozdíl mezi třídou a rozhraním v Javě.

Třída může obsahovat jak implementaci, tak deklaraci metod. Rozhraní obsahuje pouze deklarace metod (bez implementace) a konstanty. Rozhraní definuje kontrakt, který musí implementovat třídy.

Co je to abstraktní třída?

Abstraktní třída je třída, kterou nelze instanciovat. Může obsahovat abstraktní metody (bez implementace) a konkrétní metody. Abstraktní třídy slouží jako základ pro dědičnost a definují společné chování.

Co je to polymorfismus a jaké existují typy polymorfismu?

Polymorfismus umožňuje objektům různých tříd reagovat na stejné volání metody odlišným způsobem. Existují dva hlavní typy polymorfismu: compile-time (static) polymorfismus (method overloading) a runtime (dynamic) polymorfismus (method overriding).

Kolekce

Jaké jsou hlavní typy kolekcí v Javě?

Hlavní typy kolekcí v Javě zahrnují List (ArrayList, LinkedList), Set (HashSet, TreeSet), Map (HashMap, TreeMap) a Queue (PriorityQueue).

Vysvětlete rozdíl mezi ArrayList a LinkedList.

ArrayList je založen na dynamickém poli a poskytuje rychlý přístup k prvkům podle indexu. LinkedList je založen na propojeném seznamu a poskytuje rychlé vkládání a odstraňování prvků na začátku a konci seznamu. ArrayList je vhodnější pro čtení dat, zatímco LinkedList pro časté operace vkládání a mazání.

Co je to HashMap a jak funguje?

HashMap je implementace rozhraní Map, která používá hashovací funkci k ukládání a načítání dat. Klíče jsou hashovány a uloženy v poli. Klíče by měly implementovat metodu hashCode() a equals() pro správné fungování HashMap.

Výjimky

Co je to výjimka v Javě?

Výjimka je událost, která naruší normální tok programu. Java poskytuje mechanismus pro zpracování výjimek pomocí bloků try-catch-finally.

Jaké jsou typy výjimek v Javě?

Výjimky v Javě se dělí na checked exceptions (kontrolované výjimky), které musí být explicitně ošetřeny (např. IOException) a unchecked exceptions (nekontrolované výjimky), které nemusí být ošetřeny (např. NullPointerException, ArrayIndexOutOfBoundsException).

Vysvětlete použití bloku try-catch-finally.

Blok try obsahuje kód, který může vyvolat výjimku. Blok catch obsahuje kód pro ošetření výjimky. Blok finally obsahuje kód, který se vždy provede, bez ohledu na to, zda byla výjimka vyvolána nebo ne. Slouží pro uvolnění zdrojů (např. zavření souborů).

Další důležité otázky

Toto je pouze malý výběr možných otázek. Během pohovoru můžete očekávat další otázky týkající se multithreadingu, databází, návrhových vzorů a dalších pokročilých konceptů Javy. Důležité je ukázat nejen znalosti, ale i schopnost řešit problémy a logicky uvažovat.

Pamatujte, že dobrá příprava je klíčem k úspěchu na pohovoru. Hodně štěstí!