Articles

15 Technické Jádro Java Rozhovor Otázky a Odpovědi pro Zkušené Vývojáře

Když zkušenosti z Java Programátor roste v letech např. když to jde od začátečníků let ( 2 až 4), na více zkušeností, nebo trochu vyšší úrovni ( 5-7 let), Jádro Java Rozhovor Otázky také změnit trochu. Základy, jako je struktura dat, algoritmy a objektově orientované programování, samozřejmě zůstávají stejné, ale typy otázek budou pokročilejší a jejich odpovědi budou určitě muset být podrobnější a přesnější. Jsem se často dostávají dotazy o jádro Java otázek senior vývojář 5 až 6-leté zkušenosti, nebo, někdy, já jdu na pohovor senior Java developer, jaké otázky bych měla očekávat. To někdy zaráží mě, že jakmile se stanete starší, začnete automaticky účast v rozhovoru, a měli byste mít představu o tom, co očekávat na Rozhovory, ale ve stejné době, chápu, že mít představu o otázky, než jít na Pohovor, pomáhá přípravy. Samozřejmě, nebudete mít otázku, jako je ta, kterou jste čelili 2 na 3 let na úrovni Java rozhovory, ale také záleží na různých kolech rozhovorů.
neviděl jsem mnoho změn v otázkách položených v telefonickém kole, které téměř zůstávají stejné. Najdete zde několik faktů, některé kódovací otázky a několik záludných otázek. Na druhou stranu, rozhovory se staly podrobnějšími a složitějšími, zejména s ošklivými následnými kroky.
V tomto článku, budu sdílet některé 15 technické jádro Java Rozhovor Otázky, které jsem viděl, zeptal se starší a zkušení vývojáři ze 4 na 6 let zkušeností v různých rozhovorů, většinou na telefonické kolech. Odpovědi zatím nezveřejňuji, ale odpovědi na většinu otázek najdete zde nebo na blogu Javarevisited.
pokud spěcháte a aktivně hledáte práci vývojáře Java, můžete také pomoci z některých dobrých knih napsaných, aby vás připravili na rozhovory Java J2EE. Knihy, jako je, Programování v jazyce Java Rozhovor Vystaven pokrývá všechna důležitá témata pro obě jádra Java a Java EE rozhovory, které zahrnují základní otázky Java, datové struktury a algoritmy, JVM vestavby a GC tuning, Přezimují a na Jaře rozhovor otázky, ant JUnit testování jednotek otázky, a některé Java 8 věci.
zahrnuje také znalosti dalších jazyků JVM, jako je Scala, Groovy a další platformy, jako je Android. Perfektní společník dělat dobře v Java rozhovorů.
Pokud chcete připravit více o kódování straně pak můžete se také podívat na Prolomení Kódování Rozhovoru, který obsahuje téměř 150 programových otázek a řešení od technické rozhovory z velké tech společností, jako je Amazon, Facebook, Google, Twitter a Microsoft.

15 Jádro Java Otázek Pro 5 až 6 Let Zkušený

Všechny tyto otázky byly shromážděny z docela senior vývojáře, který má minimálně 5 let zkušeností. Viděli tyto otázky na různých kolech jejich core Java interview, včetně telefonické a face-to-face kol na různých společností, většinou na Investiční banky jako Barclays, Morgan, RBS, a další.

co je zaneprázdněno předení? Proč byste ji měli používat v Javě?

Jedna ze zajímavých multithreading otázka senior Java programátory, práce spinning je čekací strategie, ve které vlákno jen čekat ve smyčce, bez uvolnění PROCESORU pro spaním. Jedná se o velmi pokročilou a specializovanou strategii čekání používanou ve vysokofrekvenční obchodní aplikaci, když je čekací doba mezi dvěma zprávami velmi minimální.
není uvolnění CPU nebo pozastavení nit, nit zachovává všechny mezipaměti data a instrukce, které mohou být ztraceny, pokud vlákno bylo přerušeno a pokračovalo na jiné jádro CPU.
tato otázka je poměrně populární ve vysokofrekvenční programovací doméně s nízkou latencí, kde se programátoři snaží o extrémně nízkou latenci v rozmezí mikro až milisekund. Viz zde více 50 + pokročilé vlákno Rozhovor Otázky pro zkušené programátory.

core java interview questions for senior developers

co je zámek čtení a zápisu? Používá ConcurrentHashMap v Javě zámek ReadWrite?

ReadWrite Lock je implementace techniky odizolování zámku, kde se pro čtení a zápis používají dva samostatné zámky. Od operace čtení nemění stav objektu, je bezpečné povolit více nití přístup na sdílený objekt pro čtení bez zamykání, a rozdělením jednoho zámku do číst a psát zámek, můžete snadno udělat, že.
Java poskytuje implementaci zámku čtení a zápisu ve formě třídy ReentrantReadWritLock v Javě.util.souběžný.zámek balíček. To stojí za to se podívat, než se rozhodnete napsat vlastní implementaci zamykání čtení a zápisu.
také současná implementace java.util.ConcurrentHashMap nepoužívá ReadWriteLock, místo toho rozděluje mapu do několika segmentů a uzamkne je samostatně pomocí různých zámků. To znamená, že v daném okamžiku je uzamčena pouze část mapy ConcurrentHashMap namísto celé mapy. Podívejte se, jak ConcurrentHashMap interně funguje v Javě pro více podrobností.
Toto jádro Java otázku je také velmi populární na starší a zkušenější úrovni Java rozhovory např. od 4 do 6 let, kde očekáváte, že Tazatel jít do více detailů, jako tím, že žádá vás, aby implementace read-write lock s různými politiky. Pokud jste zkušený programátor Java, zvažte čtení Java souběžnosti v praxi, abyste získali větší důvěru v multithreading a souběžnost v Javě.

jak vytvořit objekt neměnný v Javě? Proč byste měli udělat objekt neměnný?

neměnnost nabízí několik výhod, včetně bezpečnosti vláken, schopnosti mezipaměti a výsledku čitelnějšího vícevláknového kódu. Zde se dozvíte, jak vytvořit objekty neměnné. Tato otázka může opět jít do podrobností a v závislosti na vaší odpovědi může přinést několik dalších otázek, např. když zmíníte jaro je neměnný, být připraven s některými důvody, proč String je neměnný v Javě.

jaké návrhové vzory jste použili ve svém projektu Java?

vždy očekávejte nějakou otázku týkající se návrhových vzorů pro Core Java Interview senior developer position. Je to lepší strategie zmínit jakýkoli designový vzor GOF spíše než Singleton nebo MVC,který téměř každý jiný vývojář Java používá.
vaše nejlepší sázka může být vzor dekoratéra nebo možná vzor injekce závislosti, který je v jarním rámci docela populární. Je také dobré zmínit pouze designové vzory, které jste ve svém projektu skutečně použili a vědí, že je to kompromis.
je běžné, že jakmile zmíníte konkrétní designový vzor, řekněme továrna nebo abstraktní továrna, další otázka tazatele by byla, použili jste tento vzor ve svém projektu? Buďte tedy připraveni na správné příklady a proč si vyberete konkrétní vzor. Můžete také vidět tento článek pro pokročilejší návrh vzor otázky z Java rozhovorů.

víte o principu otevřeného uzavřeného návrhu nebo o principu substituce Liskova?

Návrhové vzory jsou založeny na objektově orientované principy návrhu, který jsem silně cítil každý objekt-orientované vývojář a programátor by měl vědět, nebo mít alespoň základní představu o tom, co jsou tyto principy a jak jim pomůže psát lepší objektově orientovaný kód.
f neznáte odpověď na tuto otázku, můžete zdvořile říci Ne, protože to není od vás očekává, že znám odpověď na každou otázku, ale o odpověď na tuto otázku, můžete si vytvořit svůj nárok silnější, jak mnoho zkušených vývojářů nedokáží odpovědět na základní otázky, jako je tento. Viz čistý kód další informace o objektově orientovaných a pevných principech návrhu.

který návrhový vzor použijete k ochraně kódu před knihovnou třetí strany, která bude pravděpodobně nahrazena jinou za pár měsíců?

Toto je jen jeden příklad otázky rozhovoru s návrhovým vzorem založeným na scénáři. Za účelem testování praktických zkušeností vývojářů Java s více než 5 lety zkušeností se společnosti ptají na tento druh otázky. Můžete očekávat více problémů s designem v reálném světě v různých formátech, některé s podrobnějším vysvětlením s kontextem, nebo jiné s jediným záměrem.
Jeden způsob, jak chránit váš kód od třetí strany knihovna je kód proti rozhraní spíše než provádění, a pak použít dependency injection poskytnout konkrétní implementace. Tento druh otázky je také kladen poměrně často zkušeným a starším vývojářům Java s 5 až 7 lety zkušeností.

otázka 7) jak zabráníte SQL Injection v kódu Java?

tato otázka je více položena vývojářům J2EE a Java EE než vývojářům core Java, ale stále je dobré zkontrolovat JDBC a bezpečnostní dovednosti zkušených programátorů Java.

Můžete použít PreparedStatement, abyste se vyhnuli injekci SQL v kódu Java. Použití PreparedStatement pro provádění SQL dotazů poskytuje nejen lepší výkon, ale také chránit Java a J2EE aplikace z SQL Injection útoku.
Na podobnou poznámku, Pokud pracujete více na Java EE nebo J2EE straně, pak byste měli být také obeznámeni s jinými bezpečnostní otázky, včetně Zasedání Fixace útok, nebo Cross-Site Scripting útok a jak je řešit. Toto jsou některá pole a otázky, kde dobrá odpověď může ve vašem výběru hodně změnit.

otázka 8) řekněte mi o různých typech referencí dostupných v Javě, např. WeakReference, SoftReference nebo PhantomReference? a proč byste je měli používat?

No, jsou to různé referenční typy pocházející z Javy.lang.ref balíček a za předpokladu, že pomáhají Java Garbage Collector v případě problémů s nízkou pamětí. Máte-li zabalit objekt s WeakReference, než bude mít nárok na odpadky shromážděny, pokud existují o silné odkazy. Mohou být později regenerovány sběračem odpadků, pokud JVM nemá paměť.
java.util.WeakHashMap je speciální Mapa, realizace, jejichž klíče jsou předmětem WeakReference, tak pouze v případě, Mapa obsahuje odkaz na každý objekt a žádný jiný, ty objekt může být uvolněna, pokud GC potřebuje paměť. Viz Java Performance The Definitive Guide další informace o tom, jak se vypořádat s problémy s výkonem v Javě.

core java technické rozhovor otázky a odpovědi pro zkušené

Otázka 9) Jak se dostat metoda HashMap funguje v Javě?

Ano, Toto je stále jedna z nejpopulárnějších základních otázek Java pro rozhovory se staršími vývojáři. Můžete také očekávat, že tuto otázku na telefonické kole, následuje mnoho otázek, jak je popsáno v mém příspěvku jak se HashMap práce v jazyce Java.
stručná odpověď na tuto otázku je, že HashMap je založený na hashovací tabulky, datové struktury a používá hashCode() metoda pro výpočet hash kódu najít kbelík umístění na podkladové pole a se rovná() metoda k vyhledávání objektu ve stejném kbelíku v případě kolize. Zde se dozvíte více o tom, jak funguje get() metoda HashMap v Javě.

otázka 10) které dvě metody HashMap key objekt by měl implementovat?

toto je jedna z navazujících otázek, o kterých jsem hovořil v předchozích otázkách. Od té doby pracuje z HashMap je založený na hashovací tabulky, datové struktury, jakýkoliv objekt, který chcete použít jako klíč pro HashMap nebo jakýkoliv jiný hash-based např. kolekce Hashtable, nebo ConcurrentHashMap musí implementovat equals() a hashCode() metoda.
hashCode() se používá k nalezení kbelík umístění tj. index základní matice a se rovná() metoda se používá k najít správný objekt v propojeném seznamu uložené v kbelíku v případě kolize. Mimochodem, od Java 8, HashMap také začal používat strom datová struktura pro uložení objektu v případě kolize snížit nejhorší výkon HashMap z O(n) na O(logN). Viz článek pro další informace o tom, jak HashMap handless kolize v Javě.

otázka 11) proč by měl být objekt použitý jako klíč neměnný?

Toto je další pokračování předchozích otázek Core Java interview. Je dobré otestovat hloubku technických znalostí kandidátů kladením stále více otázek na stejné téma. Pokud víte o neměnnosti, můžete na tuto otázku odpovědět sami. Krátká odpověď na tuto otázku je klíčová by měla být neměnná, aby metoda hashCode() vždy vrátila stejnou hodnotu.

protože hash kód vrácený metodou hashCode () závisí na obsahu objektu, tj. hodnotách členských proměnných. Pokud je objekt proměnlivý, mohou se tyto hodnoty změnit a stejně tak je hash kód. Pokud stejný objekt vrátí jiný hash kód, jakmile vložíte hodnotu do HashMap, skončíte hledáním v různých místech kbelíku a nebudete moci objekt načíst. Proto by klíčový objekt měl být neměnný. Není to pravidlo vynucené kompilátorem, ale měli byste se o to postarat jako zkušený programátor. V článku najdete pokročilejší otázky týkající se rozhovoru s kolekcí Java.

otázka 12) Jak ConcurrentHashMap dosahuje své škálovatelnosti?

někdy je tato otázka multithreading + collection interview také položena jako rozdíl mezi ConcurrentHashMap a Hashtable v Javě. Problém s synchronizované HashMap nebo Hashtable bylo, že celá Mapa je uzamčen, pokud vlákno provádí všechny operace s Mapou.
java.util.Třída ConcurrentHashMap řeší tento problém pomocí techniky odizolování zámku, kdy je celá mapa uzamčena v různých segmentech a během operace zápisu je uzamčen pouze určitý segment, ne celá mapa. ConcurrentHashMap také dosahuje své škálovatelnosti tím, že umožňuje čtení bez zámku, protože čtení je operace bezpečná pro vlákna. Zde naleznete pokročilejší otázky týkající se více závitů a souběžnosti v Javě.

otázka 13) Jak sdílíte objekt mezi vlákny? nebo jak předat objekt z jednoho vlákna do druhého?

existuje několik způsobů, jak toho dosáhnout např. Fronty, výměník atd., Ale Blokovánífronta pomocí vzoru výrobce a spotřebitele je nejjednodušší způsob, jak předat objekt z vlákna do druhého.

otázka 14) Jak zjistit, zda má váš program zablokování?

Tím, že vlákno dump pomocí kill -3, pomocí JConsole nebo VisualVM), navrhuji přípravě tohoto jádro java rozhovor otázky podrobněji, jako Tazatel určitě nemá rád jít s podrobněji např. budou press s otázkami jako, že nemáš v projektu, nebo ne?

otázka 15) Jak se vyhnout zablokování při kódování?

tím, že zajistíte získání a uvolnění zámků objednaným způsobem, naleznete zde podrobnou odpověď na tuto otázku.
To je vše na tomto seznamu klíčových otázek Java Interview pro starší vývojáře a zkušené programátory. Jsem nezahrnul mnoho otázek z dalších důležitých témat, jako je zpracování Výjimek, odvoz Odpadu, ladění a JVM Vestavby, který je také velmi populární mezi Java programátory s 5-6 roky zkušeností, možná jsem se zahrnout je do další části.
mimochodem, pokud nenajdete odpověď na některou z těchto základních otázek Java, dejte mi vědět. Mohu aktualizovat příspěvek s podrobnější možností, na základě požadavku mého čtenáře.
Další učení
Kompletní Java Masterclass
Java Fundamentals: Jazyk Java
Související Otázky Java Rozhovor na jiná témata

  • Java Otázky pro Displej Telefonu Rozhovorů (seznam)
  • Thread a Souběžnost Otázky Java Rozhovor (seznam)
  • Java Enum Rozhovor Otázky a Odpovědi (seznam)
  • Java OOP Rozhovor Otázky a Odpovědi (seznam)
  • Spring MVC Rozhovor Otázky a Odpovědi (seznam)
  • Hibernace Rozhovor Otázky a Odpovědi (seznam)
  • JDBC Rozhovor Otázky a Odpovědi (seznam)
  • Array Koncept Rozhovor Otázky v Javě (seznam)
  • RESTful Webové Služby Otázky Rozhovoru (seznam)
  • Servlet a JSP Rozhovor Otázky a Odpovědi (seznam)
  • Java Web Service Rozhovor Otázky a Odpovědi (seznam)