14 Často kladené otázky a odpovědi v rozhovoru s Java [2022]

Máte připravený Java pohovor pro vaši vysněnou práci? Zde jsou otázky a odpovědi na pohovor Java, které vám mohou pomoci zvládnout pohovor.

V roce 1982 investoval James Gosling do jazyka Java na vysoké úrovni, který se řídí principy objektově orientovaného programování. Je to jeden z nejpopulárnějších a nejrozšířenějších programovacích jazyků. Začátečníci a profesionální vývojáři softwaru se pro něj rozhodnou jako potenciální kariérní volbu.

Java je o třídě, dědičnosti, JSON, iterátoru, výčtu, nestálých proměnných, přechodné, hibernaci, HTTP tunelování a abstraktní třídě. Odvozuje syntaxi z programovacích jazyků C++ a C. Je však nezbytné znát zásadní otázky, které mohou tazatelé pokládat.

Abychom pomohli vývojářům v Javě, zde jsou některé z důležitých otázek a odpovědí na rozhovory.

Je Java čistě objektově orientovaný jazyk? Vysvětli svoji odpověď.

Ne, Java není čistě objektově orientovaný jazyk. Podporuje primitivní datové typy jako short, byte, double, float, long, char, boolean atd., které nejsou objekty. Splňuje však mnoho objektově orientovaných aspektů.

Programovací jazyk Java není závislý na žádném softwaru a hardwaru díky kompilátoru s runtime prostředím (JRE). Kompilátor Java zkompiluje kód okamžitě a převede jej na bajtový kód (nezávislý na platformě). Díky tomu může kód běžet na více systémech, díky čemuž je extrémně populární.

Vysvětlete základní rozdíl mezi JDK, JRE a JVM.

Java Development KitJava Runtime EnvironmentJava Virtual MachineJDK je nástroj, který je vyžadován k dokumentaci, kompilaci a balení programů Java. Bytový kód Java se spouští pomocí JRE.JVM je abstraktní stroj, který poskytuje běhové prostředí, které usnadňuje spouštění Bytový kód Java. Dodává se s vývojovým nástrojem a JRE. Díky tomu je implementace JVM dostupnější a může existovat fyzicky. JVM zahrnuje implementaci, specifikaci a běhové instance. Implementuje platformy Java Standard Edition, Micro Edition a Enterprise Edition. Obsahuje několik souborů a knihoven, což usnadňuje používání JVM. Provádí spuštění kódu, ověření a načtení.

Nahlédněte do specifikátorů přístupu pro třídy Java?

Klíčové slovo, které se používá před názvem třídy, je v Javě specifikátor přístupu. Označuje rozsah přístupu pomocí různých typů:

  • Chráněno – přistupuje k polím nebo metodám ze stejné třídy a stejného balíčku (podtříd nebo tam, kam patří), ale ne z jiné třídy.
  • Private – Přistupuje k polím nebo metodám ze stejné třídy a odkud patří.
  • Public – Metoda, třída a pole jsou snadno přístupné v celém kódu.
  • Výchozí – Ke třídě, poli a metodě lze přistupovat ze stejného balíčku, nikoli z nativního balíčku nebo zvenčí.

Co myslíte lokální proměnnou a proměnnou instance?

Lokální proměnná – Tyto proměnné jsou dostupné v konstruktoru, funkci nebo bloku, ke kterému lze přistupovat pouze uvnitř nich. Omezení rozsahu bloku se použije v lokální proměnné. Druhá metoda třídy nebude mít přístup k místní proměnné deklarované uvnitř metody nebo o ní nebude mít znalosti.

Proměnná instance – Všechny metody mají přístup k těmto proměnným ve třídě deklarované uvnitř i vně metod. Proměnné nahlédnou do vlastností objektu. V případě jakékoli úpravy je ovlivněna pouze instance, aniž by to ovlivnilo všechny ostatní instance třídy.

Co je JIT Compiler?

Just In Time Compiler se používá ke zvýšení výkonu aplikace, která kompiluje bajtový kód, čímž se snižuje spotřeba času. Pomáhá také překládat kód z JVM do instrukční sady CPU.

Vysvětlete třídu singleton na jednom řádku.

Jedná se o jedinečný typ třídy vykreslující vždy jednu instanci nebo objekt.

Co je klonování objektů?

Klonování objektů znamená vytvoření klonované kopie objektů Java, která pomáhá vývojářům implementovat je později. Vývojáři Javy mohou pomocí metody clone() snadno implementovat rozhraní java.lang.Cloneable.

Vysvětlete konstruktéry.

Konstruktory jsou bloky kódu, které mohou inicializovat objekt se stejným názvem jako třída. Spolu s ním je objekt vytvořen automaticky a nemá žádný návratový typ. Má dva druhy konstruktorů, jako jsou:

  • Parametrizovaný konstruktor – konstruktor může inicializovat proměnné instance, které přebírají argumenty a používají poskytnuté hodnoty.
  • Výchozí konstruktor – konstruktor inicializuje proměnné instance, ve výchozím nastavení nevytváří žádné dodavatele argumentů a nebere žádné vstupy. Není definován žádný jiný konstruktor.

Jaký je rozdíl mezi == a equals() v Javě?

Operátor rovnosti (==) je binární operátor, který porovnává objekty a primitiva v programovacím jazyce Java. Třída Object poskytuje metodu jako public boolean equals(Object o). Zároveň equals() kontroluje rovnost dvou objektů a definuje třídu Objects v Javě definovanou obchodní logikou.

Rozlišujte mezi TreeSet a HashSet.

TreeSetHashSetUdržujte prvky v seřazeném pořadí. Prvky nejsou udržovány v seřazeném pořadí. Povoluje heterogenní objekt. Nepovoluje heterogenní objekt. Implementuje rozhraní SortedSet využívající stromy pro ukládání dat. Implementuje se prostřednictvím hashovací tabulky.

Vysvětlete inicializaci dvojité závorky.

V Javě kombinuje inicializace dvojité závorky dva nezávislé procesy. Inicializace dvojité závorky používá dvě závorky k vytvoření anonymní vnitřní třídy a inicializačního bloku. Ukazatel „Toto“ pomáhá vnitřní třídě odkazovat na vnější třídu pro inicializaci i vytvoření v jediném příkazu.

Definujte Java String Pool.

Kolekce řetězců je známá jako třídění Java String Pool v paměti haldy, kde se vytváří nový objekt. Pool řetězců zkontroluje dostupnost objektů a poté se vrátí stejný odkaz na proměnné. Jinak se vytvoří nový objekt s návratem k příslušným referencím.

Co znamená třída kolekce v Javě?

Považujte to za architekturu představující rámec, který pomáhá manipulovat a třídit skupinu objektů. Kolekce pomáhá provádět úkoly, jako je mazání, vyhledávání, manipulace, třídění, úpravy, vkládání atd., včetně rámců, jako jsou metody, třídy a rozhraní.

Závěrečná slova

Java je nepochybně jedním z nejpopulárnějších programovacích jazyků na vysoké úrovni s působivými standardními knihovnami a výkonnými nástroji. Nabízí podporu vláken pro několik problémů, jako jsou problémy založené na souběžnosti. Má také vestavěné funkce a snadno použitelnou syntaxi kombinující stabilitu produktu.

Abyste zvládli Javu, zvažte přihlášení do některého z těchto online kurzů Java.