Interjú a java-programozó (java-fejlesztő interjú)

Ez a folytatása egy cikksorozat egy interjúban java-programozó:

Java kapcsolatos technológiák és keretek születnek és halnak, és tudta nélkül java mag nem megy messzire. Honnan tudom, Hibernate, de nem tudom, a JDBC és az SQL? Hogyan érthetem tavaszi MVC vagy Struts, de az úszás servletekkel? Hogyan lehet használni blokkoló sorok ekzekyutorami és zárak, de nem értem, hogy a várakozás / értesítik? Számomra még mindig rejtély.

Másrészt, néha elgondolkodom munkavállalói kérdések kérik a jelölteket. Miért kérdezni vektor és hash - az udvaron hamarosan 4. évezredben. Vagy: „Miért kell UNION”? Szóval azt akarom mondani - az SQL-befecskendezés. Rovására tervezési minták és UML, én általában csendben - igazán még nem játszott elég? De ez nem is olyan rossz. Néha kérdezőbiztosok maguk is elismerik, inkább baklövéseket. Bővebben később.

Kérdések interjú Core Java

A pozíciók, mint Senior, ezek a kérdések is kimarad. De néha megéri biztonságos.

1. módosító Java.

Különösen mély nem kell kérni - röviden, mi a célja, és használati esetek. Akkor kérdezni a kontextusban, ha ezeket a módosítókat (osztály / mező / módszer). Részletes kérdések hozzáférési módosítók, bővítése módosítók öröklés, kényszerítő és eltitkolása módszerek, elméleti és záró módosító osztályok / módszerek legjobb a kérdéseket a PFSZ a Java. Részletes ismerete módosítók szinkronizált és illékony komponensek lehet ellenőrizni többszálas.

2. A hierarchia gyűjtemények Java.

Úgy véljük Collection, Set, List, Sor, térkép és az alapvető végrehajtását. Ez elvileg lehetséges, hogy kérje a módszereket, amelyek a gyűjtemény felület, de jobb, ha nem. Van, hogy kérdezi, hogy mi az a személy használt gyűjtemények, de a lényeg, nem a fanatizmus. Emlékeztetem, vektor és hash (Stack és túl) - a múlt században, különösen akkor, ha dolgozik korábbi kódot mindig látható sortsy. Mégis meg lehet beszélni tömbök és a következő kódot vezethet egy érdekes párbeszéd:

Tulajdonságaira és a szerződés értéke / kivonat, érdemes feltenni a bontást a gyűjtemények is, de nem sok elviszik, mert ez vezethet a kedvenc tárgya a legtöbb kérdezőbiztosok HashMap eszköz. Ez viszont közvetlenül elvezet bennünket adatstruktúrát kérdések, algoritmusok és azok bonyolultságát. Az én véleményem az ügyben - algoritmusokkal ismerős olimpiadniki és azok, akik tanítják az egyetemen a megfelelő szinten. Én, például, ebben a tekintetben, nem szerencse minden egyik, sem másik. És, hogy megértsék az algoritmusok / ADT a munkájuk során, csak akkor, ha van egy adott probléma vagy csak volt az idő és a vágy, hogy olvasni és megérteni. Ennek eredményeként - a gyors rendezés, összeolvad sort, radix sort ír; hash-térképet, láncolt lista, bináris keresési fa írd szemafor, menet medence, blokkoló sorban is írni. Valami másra van szükség? Rendben, írok.

Mi van, ha a árral is zavarja, és szeretnénk legalább egyszer életében, hogy megmutassák alapos ismerete algoritmusok és adatszerkezetek megrémült jelölt. Kezdjük azzal, hogy az ilyen kérdéseket érdemes feltenni csak vezető fejlesztő és csak akkor, ha az a terv céljainak megtalálható a projekt elég gyakran (ami ritka). Így legyen, kérdezni HashMap az eszköz és a keresési sebesség láncolt lista készülék és a műveletek összetettségének rájuk. Akkor kérdezzük meg az embereket a saját szavaival, elmondta, hogy a gyors / merge sort vesz log2 n. Akkor még néhány probléma algoritmikus beállítva. De ne feledd, hogy lehetséges ez az ember még mindig kell dolgozni, mint egy csapat.

3. A hierarchia a kivételek és hibák.

Aztán mintha minden világos, de előfordul, hogy az emberek nem tudják, az alapvető dolgokat. Meg kell kérni a hierarchia ellenőrzött és ellenőrizetlen hibák / kivételek, amikor ezeket vagy más módon és mikor kell kezelni. Akkor is kezdeni egy kis párbeszéd OutOfMemoryError. Ha egy személy ismeri a JDBC, akkor lehet beszélni a SQLException és kérje meg chekced vagy ellenőrizetlen és ez rendben szerint a jelölt.

A válasz erre a kérdésre megtalálható itt

4. Beágyazott osztályok Java.

Egyesek úgy vélik, hogy ez a kérdés nem szükséges. Személy szerint én nem így gondolom. Érdemes firtató besorolás, használati esetek, sérti a tokozás és a legérdekesebb - miért kell a véleményét a jelölt.

SEN kérdések Java

Ennek folytatásaként az azonos például beszélhetünk a tágulási / összehúzódási fajta érvek felülbírálja az eljárás abban az esetben, ha egy Java lista formális paraméterek nem szerepelnek a módszer aláírásával.

6. Design Patterns

Ne felejtsük el, hogy nem szükséges, hogy kérje mélyen a tervezési minták. És minden esetben, nem tanít a történeteket a jelölt „ahogy ők egészséges” és „hogyan kell végrehajtani őket helyesen.” By the way, a szépség / érthetősége kódot és sebességét az írást, barátom azt mondja: „Ahhoz, hogy hűvös hack a Java, meg kell feltörni dohera Java”.

Katalógus tervezési minták megtalálható itt

Interjú kérdések többszálas Java

7. többszálas Java.

Szeretném szentelni ezt a témát egy cikksorozatot: egy bekezdés nem fog ki. Röviden, megkérdezheti, hogy miért többszálú, ami egy monitor tárgy, kérdezni syhcnronized módosítók és változékony, a módszerek várakozás / értesítik / notifyAll, valamint a java.util.concurrent csomagot. És a következő kódrészletet kell vezetnie egy meglehetősen érdekes beszélgetést:

Kapcsolatos kérdések adatbázisok

A kezdéshez, hogy kérdéseket tegyen fel az ANSI SQL. Továbbá, attól függően, hogy az adatbázist használják a projekt, akkor kérheti a fontos különbség közte nyelvjárást. Tehát, hogy a személy beszélni alapelemeit az adatbázis - az asztalok, eljárások, függvények, stb konstreyntah Mintegy konstreyntah lehet kérni körül egy kicsit. Hogy megkérdezzük, hogy egy ember megérti null adatbázisokban. Ide az aggregált funkciókat és hogyan működnek a null, ne feledkezzünk meg a csoportot, amelynek. Adhat egy pár apró problémák ebben a témában (lásd. 1-2 alábbi feladatokat). Kérdezd körül a típusú csatlakozhatnak, és így egy pár brainteasers (ld. Alább 3-4 feladat).

Probléma 1. Dana táblázat T típusú oszlop Egy teljes amely a következő értékeket 10, 20, 30, null. Mik egyenlő megnyilvánulásai "AVG (A)" és a "SUM (A) / COUNT (*)"?

Probléma 2. Dana táblázat T oszlopon Egy egész szám jellegű. Írj egy lekérdezést, amely visszatér a pozitív értékek a táblázatban található többször is.

Probléma 3. A levél asztalok T1 és T2. Minden oszlopban A jelentése egész szám jellegű. Az értékek az első táblázat - 1, 2, és a második - 2, 3. Mi cserébe azt kéri, inner join, bal / jobb / teljes külső összekapcsolás és határon csatlakozhat típusa „válassza T1.A, T2.A T1 csatlakozzon T2. T1.A = T2.A”.

Zadcha 4. 2 A betű táblázat oszlopainak egész szám jellegű. Írj egy lekérdezést, amely visszatér az összes érték oszlopának első tábla, amelyre nincs egyezés, a második oszlopban az A.

Itt is, anélkül, hogy torzulások. Kérdezz Connection, Statement, PreparedStatement, CallableStatement, ResulSet, miért minden ilyen szervnél van szükség. Akkor kérje arról, hogy mit absztrakt klassamm, konkrét osztályok vagy interfészek, és miért.

Egy másik kérdés - hogyan lehet létrehozni egy kapcsolatot a JDBC, hogyan lehet a legjobban hozzá nagyszámú rekordok az asztalra, jól és biztos tranzakciós és autocommit. Majdnem elfelejtettem - a kérdés a tranzakció izolációs szint, úgy legalább az ország - a következő alkalommal, amikor azt akarjuk, hogy kérje, ne feledje, hogy hányszor szintek szigetelés Ön személyesen tapasztaltam.

Olvassa el a blog egy részletes bemutató a JDBC.

Kérdések a webes programozási interjú

Először meg kell kérdezni HTTP egészére. Mi a kérés fejlécét, amelyek minden típusú lekérdezések egy HTTP Status Code.

Ezután meg kell kérdezni a HttpServlet osztály, a forma, amelyben akkor dolgozni a kérés és válasz. Mi a munkamenet (HttpSession) és hogyan lehet azt. Ne felejtsük el, hogy kérdezni ServletFilter és opciók a használatukra.

A testnek szüksége van alvásra. A cikk köt egy idő után. Jó szerencse, hogy.

És soha nem kérdéseket feltenni a dolgokat, hogy „minden jó fejlesztő pontosan tudja”, de kevesen tudják indokolni? Véleményem néha ez is mutatja, hogy mennyire valaki szereti és tudja, hogyan vegyenek részt magát a kutatás (és így növeli a szinten), + hogy mennyire bízik a tapasztalat, mint hozzászólások blogokon és fórumokon, mint amennyire a dokumentáció és a forráskód könyveket. A helyes válasz itt nem lehet, mint az ilyen kérdés lehet mélyíteni a végtelenségig. De az elmélyülő ez azt mutatja, hogy milyen mélyen a jelölt tisztában van a különböző aspektusait.

Például - ha ez gyorsan működik Elmélkedés Java? Minden hallgató tudja, hogy lassan? Figyelemre méltó, és miért? Ne szegély, próbálja leírni részletesen a folyamat közvetlenül az eljárás meghívásakor a JVM (a jelölt képes emlékezni a invokevirtual, például, és egyéb bytecode), és hogyan, hogy egy hívást visszaverődése útján? Keresztül JNI és kapcsolást igényel a JVM-kód natív és fordítva? Oké, mi az a környezet váltás, és ezért drága (by the way, és drága - ez mennyi?). Tudtad, hogy akkor hívja a refledction jelentősen felgyorsult, ha az ok előtte setAccessible (igaz)? És tudod, hogy gyakran okoz a módszer létrehoz Java-csonkja, amely révén tovább, hogy a közvetlen hívásokat?

- Ha a jelölt elérte ide -, hogy ajánlatot

Köszönöm a cikket, Kostya és szeretném kérdezni, hogy ... mit gondolsz, van rá esély, hogy interjút a helyzet junior'a ismeretében csak mag java és az SQL? (Plusz OOP és minták)

2 sasha: jobb tinkered legalább a legalapvetőbb szinten a technológiák, amelyek jelenleg „divatos”. Plusz nem lesz pontos. Főleg olyan alapvető ismereteket Junior pontosan hogy gond nélkül.

Tovább jól tenné, hogy válasszon egy kezdő valamilyen irányba, és tinkered egy kicsit mélyebbre. Természetesen, akkor specializáció lehet cserélni. A legfontosabb dolog, hogy most már tudja, hogy a munkáltató érdeklődését. példák:

Most ülök vayayu kisebb dokumentum egy listát a kérdés az interjút, érdemes feltenni a kérdést, és fizet tudni maguk és mások számára.

A praxisomban kérdéseket az interjú gyengén korrelált azzal, amit meg kellett küzdenie később. Idővel ez csak lesz zavaró. Miért a munkát a hirdetést 22 technológiák ha kell foglalkozni két vagy három? Miért az interjú kérdezni bármilyen ellentmondásos üledék? Nézzük csak buta példát. A stressz teszt a jelölt?

A legreálisabb lehetőség -, hogy beszéljen a jelölt arról, amit igazán tette a múltban, milyen problémákat, és hogyan lehet megoldani látott. Magukat (!) Vonatkoznak hallotta, hogy kellett volna tennie, és felméri a kockázatokat. Sok a „tudatlanság” valójában nagyon olcsó szempontjából a döntést. Például, az ár lehet 2 nap egy könyvet. Ez a törzs a cég? Inkább nem. De ha egy személy elvileg nem képes az absztrakt gondolkodás, hogy ez a cég van szükség a programozó pozíciókat?

Tehát itt van egy kérdés: a létezését Oracle Certified Java Programmer (korábbi SCJP) érkezik meg hat hónappal az interjú előtt, a munkáltató eleget tesz kíváncsiság, vagy minden alkalommal újra kell emlékezni felszerelés?

Először magamról, előfordult, hogy az ő gyakorlatban írta származó ASM végződő @Formula, és a Lotus Script Lotus Notes, beleértve a Java, C ++. Meg kellett, hogy vegye fel, és hogyan kell csapatban dolgozni. Mára a PM a.

Tehát ez az, amit meghatározott magunknak negativitás a keresési jelöltek:

1) ismerete az elmélet nem visszhangzik a gyakorlatot, és valójában nem számít. És arra, hogy a kendő nashkryabat tökéletes kódot, ez a show-off egy beszélgetéshez egy csésze teát, nem vonatkozik a valós projektek.

2) A „gadzhetomaniya” - elsősorban a probléma bármely projekt. Hadd magyarázzam mánia kipróbálni valami újat, új nyers egység, adatbázis, technológia stb ... mindig majdnem 100% -os valószínűséggel kárt a projekt, ami indokolatlan költségek alkalmazása instabilitás, és a fejfájás már egész osztályok és a vállalatok. Indokolt eseteket kivéve persze, de ismét új technológia segítségével tudatosan megy kockázatot.

Ez a maga számára a pozitív, azt mondta:

2) A sikeres pályázó, függetlenül a tapasztalat, hogy megismerjék és a gyakorlatban számos szabványos algoritmusok róluk, akkor mindig beszélni, vitatkozni még tovább, de azt hiszem, azok, akik nem értik, mire gondolok.

Mi mindezeket a kérdéseket az interjú során? Olyan, mintha a mentalitás a testvére soha nem fog megváltozni. Ki van a munkáltatók .... Itt van egy normális felnőtt döntés! Készítsük el a szokásos teszteket papíron ugyanazokat a kérdéseket, amelyek ténylegesen a gyakorlatban használt, és nyomja meg a jelöltek! Ha 80-90 százalék illik, még akkor is, és beszélgettünk a „szeretet” és a többi erény! Vagy használhatja a szokásos megfelelő szolgáltatást online megoldani a problémákat. Ne a múlt században. Igen, és a jelöltek lesz veled könnyebb és kellemesebb kommunikálni, majd az érzésem, hogy folyamatosan az interjúk össze kell hasonlítani egy helyen, ez még egy ürügy őszinteség)). Mintegy érdekes projekt, minden, ami érdekes volt hosszú ideig nem új, mindent elkövetnek és végrehajtani. Hívjon legalább egy projektet, hogy lehet nevezni érdekes? Mi az átlagos szintje a programozó nem lesz képes végrehajtani és megjeleníteni? Vagy senor? különböző szintű problémákat megoldani, a megfelelő embereket. Nyugdíjasok dönt, hogy kiszolgáló-feladatok, a Közel-kliens. Nos, Junior építeni servleteket és felhívni interfészeket. Minden a helyén. Az Úr tehát a munkaadók, dobja az összes ezt a cuccot fejem kérdésekre, és hagyja, hogy egy hozzáértő emberek keresni a kenyeret.