327 întrebări cu privire la interviu pentru dezvoltatori Java
Tu nu ar crede unele materiale valoroase de multe ori vomit dezvoltatorii novice.
Unul dintre ei - o listă mare de întrebări pe Java, care poate fi auzit în timpul interviului, și pentru toate nivelurile, Junior / Middle / Senior. Confirm - am întrebat de multe ori aceste întrebări, și eu însumi, ca un intervievator, au întrebat.
Deoarece de multe ori am vorbit despre o listă similară, am decis să împărtășesc cu voi. Este puțin probabil că veți găsi pe web o versiune mai completă și detaliată.
Multe mulțumiri studentul meu @Alexander Metelchenko unei liste furnizate.
Apropo, o bună parte din aceste probleme se referă la e-mail-curs JavaRanger și JavaEEHunter. Doar un instrument excelent pentru a testa cunoștințele de JavaSE / EE. SQL și web.
![327 Întrebări pentru un interviu Java Developer - devenit senior java (Java) 327 Întrebări pentru un interviu Java Developer - devenit senior java](https://images-on-off.com/images/45/327voprosovnasobesedovaniejavadeveloperb-9549ea19.png)
Cuprins:
tipuri de date, variabile, operatori, bucle, matrice
- Cât de multe cuvinte cheie sunt rezervate limbaj, ce fel de cuvinte care nu sunt utilizate?
- Din ce caractere pot fi un nume de variabilă (act de identitate valid)?
- Ce înseamnă cuvântul „inițializare“?
- Care sunt principalele grupuri pot partaja tipuri de date?
- Ce tipuri primitive nu știi? Nume dimensiune în octeți pentru fiecare tip.
- Ce știi despre conversia tipuri de date primitive, pierderea de date în cazul în care există, dacă puteți converti un tip de logică?
- Care sunt valorile variabilelor sunt inițializate în mod implicit?
- Deoarece valoarea variabilei transmise (link-ul / valoare)?
- Ce știi despre principalele funcții ca condiții obligatorii ale definiției sale?
- Ce logică operatorii și operatorii de știi?
- Care este diferența și scurtcircuitează înregistrare completă operatorii logici?
- Care este tabelul de adevăr?
- Care este operatorul ternar de alegere?
- Ce operație unară știi?
- Ce o operație aritmetică este efectuată atunci când trecerea de biți la stânga / dreapta?
- Care este rolul și regulile de a scrie o declarație selectați?
- Ce cicluri pe care le cunoașteți, care sunt diferențele?
- Ce este o „iterație a buclei“?
- Ce parametri are un ciclu pentru, dacă acestea nu pot cere?
- Care afirmație este folosit pentru a opri imediat ciclul?
- Care afirmație este folosită pentru a trece la următoarea iterație a buclei?
- Ce este o matrice?
- Ce tipuri de matrice, știi?
- Ce știi despre clasa înveliș?
- Ce este avtoupakovka (box / despachetare)?
OOP (TOC)
Excepții (TOC)
- Dă definiția noțiunii de „excepție“
- Care este ierarhia excepțiilor.
- Pot / pot trata erorile JVM nevoie?
- Care sunt diferitele modalități de manipulare excepții?
- Ce cuvântul cheie aruncă?
- Ce este special despre blocul finally? Este întotdeauna se?
- Nu poate fi un singur bloc de captură atunci când trapping excepții?
- Ați putea gândi la o situație în care blocul în cele din urmă nu va fi executat?
- Poate un bloc de captură pentru a prinde câteva excepții (una și diferite ramuri ale moștenirii)?
- Ce știi despre procesul sau tratate (zăresc / uncatched) excepții?
- Ce este special RuntimeException?
- Cum de a scrie propriul dvs. ( „utilizator“), o excepție? Ce te-a motivat va fi ghidat în alegerea tipului de excepții: verificat / neverificată?
- Ce operatorul vă permite să forțați să arunce o excepție?
- Există condiții suplimentare pentru metoda care are potențialul de a arunca o excepție?
- Poate și, în caz afirmativ, în cazul în care prelucrarea acestei excepții se va produce principala excepție metoda vybrovit la exterior?
- În cazul în care declarația de retur este conținut în blocul de captură și în cele din urmă, unele dintre ele sunt „mai importante“?
- OutOfMemoryError
- SQLException și întrebați-l chekced sau necontrolată și este OK în funcție de candidat.
- Ce este o eroare? În cazul în care, o eroare. Dă un exemplu Error'a.
- Care este structura utilizată în Java să se ocupe de excepții?
- Este posibil de a utiliza blocul try-în cele din urmă (nu de captură)?
- Să presupunem că aveți un bloc de încercați-în cele din urmă. În blocul try excepție a avut loc și executarea sa mutat în blocul în cele din urmă. În blocul în cele din urmă, de asemenea, a existat o excepție. Care dintre cele două excepții „cad“ din blocul try-în cele din urmă? Ce se întâmplă cu cea de a doua excepție?
- Să presupunem că aveți o metodă care poate arunca o IOException și FileNotFoundException Secvența în care blocurile trebuie să meargă de captură? Câte blocuri de captură va fi executat?
Colecții (TOC)
String (TOC)
- Care sunt clasele de „string“ știi?
- Care sunt proprietățile de bază ale „șirul“ de clase (caracteristicile lor)?
- Este posibil să moștenească un tip de șir, de ce?
- Definirea conceptului de concatenare șir.
- Cum de a converti un șir de caractere la un număr?
- Cum se compara valoarea celor două linii?
- Cum de a transforma un șir de caractere?
- Cum comparația dintre cele două linii?
- Cum să tăiați spații trailing?
- Cum să înlocuiască un caracter într-un șir de caractere?
- Cum pentru a obține o bucată de sfoară?
- Dă definiția „internau șir de caractere.“
- Ce metodă face posibilă alocarea unui subșir într-un șir de caractere?
- Cum să împartă un șir de șir pentru un anumit separator?
- Ce metodă se numește de a converti o variabilă într-un șir de caractere?
- Cum știu valoarea unui anumit caracter într-un șir de caractere, eu știu numărul de serie în șir?
- Cum de a găsi caracterul dorit în șirul?
- Este posibil să se sincronizeze accesul la linia?
- Ceea ce face ca metoda intern ()?
- Care sunt diferențele și ceea ce este comun în clasele String, StringBuffer și StringBuilder?
- Cum de a compara valori șir de două obiecte diferite de tipul String si StringBuffer?
I / O fluxuri (TOC)
Curenții de rulare / threading (TOC)
- Dă definiția „procesului.“
- „Stream“ Dă definiția conceptului.
- Dă definiția „fluxuri de sincronizare“.
- Cum de a interacționa cu programul, procesele și firele?
- În unele cazuri, este recomandabil să se creeze mai multe fluxuri?
- Ce se poate întâmpla în cazul în care două fire va executa același cod în program?
- Ce știi despre firul principal al programului?
- Care sunt modalitățile de a crea și de a lansa un fir?
- Ce metodă începe un fir pentru a efectua?
- Ce metodă descrie fluxul acțiunii în timpul rulării?
- Atunci când un fir finalizează executarea ei?
- Cum de a sincroniza o metodă?
- Cum de a opri forțat fluxul?
- Dă definiția „flux-demon.“
- Cum de a crea un flux-demon?
- Cum să obțineți fluxul de curent?
- Dă definiția „Monitor“.
- Cum pot întrerupe un fir?
- În ce state pot pribyvatpotok?
- Ce este un monitor atunci când apelați o metodă non-statică și statice?
- Ce este un monitor atunci când zona de cod metoda?
- Ce metode pot sincroniza executarea fire?
- Ce metodă convertește fluxul în modul de așteptare?
- Care este funcționalitatea metodelor și notifică notifyAll?
- Permițându-vă pentru a face metoda se alăture?
- Care sunt condițiile apelului metodei wait / notificare?
- „Impas“ Dă definiția conceptului.
- Diferitele metode de întrerupere, întrerupt, isInterrupted?
- În cazul în care acesta va fi aruncat InterruptedException, metode care pot arunca departe?
- Modificatori sincronizate și volatile
- Pachetul java.util.concurrent
- Care sunt câteva modalități de a începe o acțiune într-un fir separat?
- Care sunt câteva moduri de a opri firul?
- Care sunt cuvintele cheie Java, asociate cu multithreading știi?
- Există câteva metode care execută operațiunea i ++. Variabila i tip int. Este de așteptat ca acest cod va fi executat într-un mediu multithread. Indiferent dacă sunt sau nu pentru a sincroniza unitatea?
- Aceasta servește ca un mutex, dacă o metodă este declarat sincronizat?
- Este posibil de a apela în două fluxuri diferite metode de același obiect sincronizate?
- Acesta este utilizat ca un mutex, în cazul în care o metodă este declarată statică sincronizat? Pot crea o nouă clasă de Instanțe în timp ce efectuează metoda sincronizate statică?
- Explicați că acest impas? Dați un exemplu de cod care demonstrează impas.
- Ce caracteristici ale metodei, așteptați? În ce condiții fluxul poate merge de la regimul de așteptare?
- Să presupunem că în metoda run originea RuntimeException, care nu a fost prins. Ce se va întâmpla cu fluxul? Există o modalitate de a ști că a avut loc Exception (nu concluzionând tot corpul rula în blocul try-catch)? Există o modalitate de a restabili fluxul de lucru după ce sa întâmplat?
- Ce instrumente Java standard ați folosi pentru a pune în aplicare o piscină fir?
SQL, JDBC (cuprins)
JSP (cuprins)
Servlet (TOC)
Web (Cuprins)
![327 Întrebări pentru un interviu Java Developer - devenit senior java (interviu) 327 Întrebări pentru un interviu Java Developer - devenit senior java](https://images-on-off.com/images/45/327voprosovnasobesedovaniejavadeveloperb-66b01f96.jpg)
Știi toate răspunsurile pentru Java interviu?
Îmi amintesc că pare să fi fost pe cinci interviuri în cinci companii diferite, și doar o singură serie am văzut întrebări de genul „Care este cuvântul cheie sincronizate».
Dar ce contează? Chiar ai nevoie de o mulțime de experiență și care trece interviul pentru a înțelege că abilitatea de a răspunde la întrebări de acest post nu se sugerează că candidatul este capabil să programeze, precum și capacitatea de a programa candidatul nu este obligat să-i permită să răspundă la aceste întrebări?
Cauți pe cineva care va scrie codul, de ce ar trebui să-l întreb definiția clasei? E ca și cum în căutarea pentru cineva care va trage cu arma, și în loc de cerându-i să tragă, să-l întrebe despre balistica glonț și cere-i să numească toate componentele pe trăgaci.
Tocmai am auzit povești despre modul complet prostănac memoreze cărți și le-a luat pentru dezvoltatorii Senior Java, precum și alte povestiri despre programatorii raționali care nu au putut fi intervievați pentru că nu-mi amintesc nici o definiție. Înainte, nu am putut înțelege cum acest lucru, dar văzând în acest post o listă de întrebări pot vedea că acest lucru este posibil.
George,
Cu mulți sunt de acord.
Mi-ar explica astfel:
1. nu au nevoie doar de codificare care scrie cod, cât de mulți oameni care fac deciziile corecte. Fără o teorie a cunoașterii, aceste soluții vor fi întotdeauna greșit. În cazul în care codificatorul nu poate explica ce este sincronizat, calitatea unei aplicatii multithreaded, el a scris?
2. Acesta este primul și programatori care sunt familiarizați cu teoria de multe ori scrie cod bun și să facă rostirea dreapta (dar nu întotdeauna).
Programatorii care pot scrie cod, și nu știu teoria codului rău scriu mai mult și să ia decizii proaste (dar nu întotdeauna).
statistici banale Powered - clienții reduce riscul de a obține „neglijent“ programator.
3. Care sunt sarcinile practice, puteți cere să zicem Junior, el a scris, de asemenea, câteva sute de linii pentru viața ta? Rămâne doar o teorie. Dacă el știe - și apoi să învețe cum să scrie cod.
4. Nimeni nu anulează sarcinile practice de testare, au cerut doar. Într-un interviu pe Java Teach poziția de plumb de 70% din timp, am decis să practice cu atribuirea codului. Restul timpului - discutarea problemelor arhitecturale. Din lista din articolul cerut nu mai întrebări 3-5.
5. Ce ați răspunde la aceste întrebări, voi face mereu acest lucru. Îmi imaginez că am un client și bugetul pentru 100.000 de dolari, voi lua departe de oameni care nu s-ar încurce proiectul?
Nu vorbesc despre asta „auzit“, deoarece nu se dovedește, ci despre cum am sobvesedovali (peste 40 de ori) și am avut o discuție.
Toate interviurile se pregătesc cel puțin 2 săptămâni. Și da, este 100% examen, nemilos.
astfel încât toate în Google puteți găsi)