15 Tekniske Kjerne Java Intervju Spørsmål Svar For Erfarne Utviklere
Når opplevelsen av En Java Programmerer vokser i årene f.eks når det går fra nybegynner år ( 2 til 4) til mer erfaring eller slags senior nivå ( 5 til 7 år), Kjerne Java Intervju Spørsmål også endre litt. Selvfølgelig forblir grunnleggende som datastruktur, algoritmer og objektorientert programmering det samme, men typer spørsmål blir mer avanserte og svarene deres må definitivt være mer detaljerte og nøyaktige. Jeg mottar ofte spørsmål om Kjerne Java-spørsmål til en senior utvikler med 5 til 6 års erfaring, eller noen ganger går jeg for et intervju med senior Java-utvikler, hva slags spørsmål jeg bør forvente. Dette forvirrer meg noen ganger, at når du blir senior, begynner du automatisk å delta i intervjuet, og du bør ha en ide om hva du kan forvente På Intervjuer, men samtidig kan jeg forstå at det å ha en ide om spørsmål før Du Går På Intervju, hjelper forberedelse. Selvfølgelig kommer du ikke til å få et spørsmål som det du har møtt på 2 til 3 År Nivå Java Intervjuer, Men det avhenger også av ulike intervjurunder.
jeg har ikke sett mange endringer i spørsmålene på telefonisk runde, som nesten forblir den samme. Du vil finne noen faktabaserte, noen koding spørsmål og noen vanskelige spørsmål. På den annen side ansikt til ansikt har intervjuer blitt mer detaljerte og vanskeligere, spesielt med ekkel oppfølging. i denne artikkelen skal jeg dele noen 15 tekniske Kjerne Java Intervju Spørsmål, som jeg har sett spurte senior og erfarne utviklere av 4 til 6 års erfaring i ulike intervjuer, for det meste på telefon runder. Jeg legger ikke inn svar fra nå, men du kan finne svar på de fleste spørsmålene her eller Javarevisited bloggen.hvis du har det travelt og aktivt leter etter En Java-Utvikler Jobb, kan du også ta hjelp fra noen gode bøker skrevet for å forberede Deg På Java J2EE intervjuer. Bøker som Java Programming Interview Exposed dekker alle viktige emner for både Kjerne Java OG Java ee intervjuer, som inkluderer grunnleggende Java spørsmål, datastruktur og algoritmer, JVM internals og GC tuning, Dvalemodus og Vårintervju spørsmål, JUnit ant unit testing spørsmål, og Noen Java 8 ting.Den dekker også kunnskap om ANDRE jvm språk Som Scala, Groovy og Andre plattformer som Android. En perfekt følgesvenn for å gjøre det bra I Java intervjuer.Hvis du vil forberede mer på kodingssiden, kan du også sjekke Ut Cracking The Coding Interview, som inneholder nesten 150 programmeringsspørsmål og løsninger fra tekniske intervjuer av store teknologibedrifter som Amazon, Facebook, Google, Twitter og Microsoft.
15 Kjerne Java Spørsmål for 5 til 6 År Opplevd
alle disse spørsmålene er samlet inn fra ganske senior utviklere, som har minst 5 års erfaring. De har sett disse spørsmålene på ulike runder av Sine Kjerneintervjuer, inkludert telefonisk og ansikt til ansikt runder på forskjellige selskaper, for det meste På Investeringsbanker som Barclays, Morgan, RBS og andre.
Hva Er Opptatt Spinning? Hvorfor Bruke Det I Java?
en av de interessante multithreading spørsmål til senior Java-programmerere, opptatt spinning er en ventestrategi, der en tråd bare vente i en løkke, uten å slippe CPU for å gå i dvale. Dette er en svært avansert og spesialisert ventestrategi som brukes i høyfrekvent handelsapplikasjon når ventetiden mellom to meldinger er svært minimal.ved å ikke slippe CPU eller suspendere tråden, beholder tråden alle de bufrede data og instruksjon, som kan gå tapt hvis tråden ble suspendert og gjenopptatt tilbake i en annen KJERNE AV CPU.
Dette spørsmålet er ganske populær i høyfrekvente lav latens programmering domene, der programmerere prøver for ekstremt lav latens i området mikro til millisekunder. Se her mer 50 + avanserte trådintervju spørsmål for erfarne programmerere.
Hva Er Lese-Skrive Lås? Bruker ConcurrentHashMap I Java ReadWrite-Låsen?
ReadWrite Lock Er en implementering av en lås stripping teknikk, der to separate låser brukes for lesing og skriving drift. Siden leseoperasjonen ikke endrer objektets tilstand, er det trygt å tillate flere tråder tilgang til et delt objekt for lesing uten låsing, og ved å dele en lås inn i lese-og skrivelåsen, kan du enkelt gjøre det.
Java gir en implementering av en lese-skrive lås i form Av ReentrantReadWritLock klassen i java.util.samtidige.lås pakken. Dette er verdt å se før du bestemmer deg for å skrive din egen lese-skrive låsing implementering.
også den nåværende implementeringen av java.util.ConcurrentHashMap bruker Ikke ReadWriteLock, i stedet deler Den Kartet i flere segmenter og låser dem separat ved hjelp av forskjellige låser. Dette betyr en gitt tid, bare en del Av ConcurrentHashMap er låst, i stedet for Hele Kartet. Se Hvordan ConcurrentHashMap internt fungerer I Java for flere detaljer. 4 til 6 år, hvor Du forventer At Intervjueren skal gå mer detaljert, som ved å be deg om å gi en implementering av lese-skrivelåsen med ulike retningslinjer. Hvis Du er en erfaren Java-programmerer, bør du vurdere å lese Java Samtidighet I Praksis for å få mer tillit til multithreading og samtidighet I Java.
Hvordan Lage Et Objekt Uforanderlig I Java? Hvorfor Skal Du Gjøre Et Objekt Uforanderlig?
Vel, Uforanderlighet gir flere fordeler, inkludert trådsikkerhet, evne til å cache og resultere i en mer lesbar multithreading-kode. Se her for å lære å gjøre objekter Uforanderlige. Igjen kan dette spørsmålet også gå inn i mer detalj, og avhengig av svaret ditt, kan det føre til flere andre spørsmål, f. eks. Når Du nevner Våren Er Uforanderlig, vær klar Med noen grunner Til Hvorfor String Er Uforanderlig I Java.
Hvilke Designmønstre Har Du Brukt I Java-Prosjektet ditt?
forvent alltid noen designmønstre relatert spørsmål For Kjerne Java Intervju av senior utvikler stilling. Det er en bedre strategi å nevne NOE GOF-designmønster i stedet For Singleton eller MVC, som nesten alle Andre Java-utviklere bruker den. Din beste innsats kan være Et Dekorasjonsmønster eller Kanskje Avhengighetsinjeksjonsmønster, som er ganske populært I Vårrammen. Det er også godt å nevne bare designmønstrene som du faktisk har brukt i prosjektet ditt, og vet at det er avvik. Det er vanlig at Når du nevner Et bestemt designmønster, Sier Fabrikk Eller Abstrakt Fabrikk, Vil Intervjuerens neste spørsmål være, har du brukt dette mønsteret i prosjektet ditt? Så vær klar med riktige eksempler og hvorfor du velger et bestemt mønster. Du kan også se denne artikkelen for mer avanserte design mønster spørsmål Fra Java intervjuer.
vet Du Om Åpent Lukket Designprinsipp eller Liskov Substitusjonsprinsipp?
Designmønstre er basert på objektorienterte designprinsipper, som jeg sterkt følte at hver objektorientert utvikler og programmøren burde vite, eller i det minste ha en grunnleggende ide om hva disse prinsippene er og hvordan de hjelper deg med å skrive bedre objektorientert kode. Hvis du ikke vet svaret På dette spørsmålet, kan du høflig si Nei, da det ikke forventes av deg å vite svaret på hvert spørsmål, men ved å svare på dette spørsmålet, kan du gjøre kravet ditt sterkere, da mange erfarne utviklere ikke klarer å svare på grunnleggende spørsmål som dette. Les Mer om objektorienterte og SOLIDE designprinsipper.
Hvilket Designmønster Vil Du Bruke Til Å Skjerme Koden Din Fra Et tredjepartsbibliotek som Sannsynligvis Vil Bli Erstattet av Et Annet om Noen Måneder?
Dette er bare ett eksempel på scenario-basert design mønster intervju spørsmålet. For å teste Den praktiske erfaringen Fra Java-utviklere med mer enn 5 års erfaring, spør selskapene denne typen spørsmål. Du kan forvente mer virkelige designproblemer i forskjellige formater, noen med mer detaljert forklaring med kontekst, eller noen med bare hensikt rundt. en måte å beskytte koden din fra et tredjepartsbibliotek er å kode mot et grensesnitt i stedet for implementering og deretter bruke avhengighetsinjeksjon for å gi en bestemt implementering. Denne typen spørsmål blir også spurt ganske ofte til erfarne Og senior Java-utviklere med 5 til 7 års erfaring.
Spørsmål 7) Hvordan forhindrer DU SQL-Injeksjon I Java-Kode?
Dette spørsmålet er mer spurt j2ee og Java ee utviklere enn kjerne Java utviklere, men det er fortsatt et godt spørsmål å sjekke JDBC Og sikkerhet ferdigheter av erfarne Java-programmerere.
Du kan bruke PreparedStatement for å unngå SQL-injeksjon I Java-kode. Bruk Av PreparedStatement for å utføre SQL-spørringer ikke bare gir bedre ytelse, men også skjerme Java OG J2EE søknad FRA SQL Injection angrep. På et lignende notat, hvis du jobber mer På Java EE eller J2EE side, bør du også være kjent med andre sikkerhetsproblemer, inkludert Session Fixation attack eller Cross-Site Scripting attack og hvordan du løser dem. Dette er noen felt og spørsmål der et godt svar kan gjøre mye forskjell i ditt valg.
Spørsmål 8) Fortell meg om ulike Referansetyper tilgjengelig I Java, F. Eks WeakReference, SoftReference eller PhantomReference? og Hvorfor skal du bruke dem?
Vel, de er forskjellige referansetyper som kommer fra java.lang.ref pakke og gitt for å hjelpe Java Garbage Collector i et tilfelle av lite minne problemer. Hvis du pakker inn et objekt Med Svakreferanse enn det vil være kvalifisert for søppel samlet hvis det er o sterke referanser. De kan senere bli gjenvunnet Av Søppelsamleren hvis JVM har lite minne.
java.util.WeakHashMap er en spesiell Kartimplementering, hvis nøkler er Gjenstand For WeakReference, så hvis Bare Map inneholder referansen til et objekt og ingen andre, kan disse objektene bli søppel samlet hvis GC trenger minne. Se Java Performance Den Definitive Veiledningen lær mer om hvordan du håndterer ytelsesproblemer I Java.
Spørsmål 9) hvordan får Metoden For HashMap fungerer I Java?
Ja, Dette er fortsatt en av de mest populære kjerne Java spørsmål for senior utvikler intervjuer. Du kan også forvente dette spørsmålet på telefonisk runde, etterfulgt av mange oppfølgingsspørsmål som diskutert i innlegget mitt. Det korte svaret på dette spørsmålet er At HashMap er basert på hash table datastruktur og bruker hashCode () – metoden for å beregne hash-kode for å finne bøtteplasseringen på den underliggende arrayen og equals () – metoden for å søke objektet i samme bøtte i tilfelle kollisjon. Se her for å lære mer om hvordan get () – metoden For HashMap fungerer I Java.
Spørsmål 10) Hvilke To Metoder HashMap nøkkelobjekt Skal Implementere?
Dette er et av oppfølgingsspørsmålene jeg sa om i tidligere spørsmål. Siden arbeidet Med HashMap er basert på hash table datastruktur, må ethvert objekt som du vil bruke som nøkkel For HashMap eller annen hash-basert samling, For Eksempel Hashtable eller ConcurrentHashMap, implementere equals() og hashCode () – metoden. indeks for den underliggende matrisen og equals () – metoden brukes til å finne det rette objektet i en koblet liste lagret i bøtte i tilfelle kollisjon. Forresten, Fra Java 8, Begynte HashMap også å bruke en trestruktur for å lagre objektet i tilfelle kollisjon for å redusere Den verste ytelsen Til HashMap Fra O (n) Til o(logN). Se artikkelen for å lære mer om hvordan HashMap handless kollisjoner i Java.
Spørsmål 11) Hvorfor Skal Et Objekt Som Brukes Som Nøkkelen skal Være Uforanderlig?
Dette er en annen oppfølging av tidligere Kjerne Java intervju spørsmål. Det er godt å teste dybden av teknisk kunnskap om kandidater ved å stille flere og flere spørsmål om samme emne. Hvis Du vet Om Uforanderlighet, kan du selv svare på dette spørsmålet. Det korte svaret på dette spørsmålet er nøkkelen skal være uforanderlig, slik at hashCode () – metoden alltid returnerer samme verdi.
siden hash-koden returnert av hashCode () – metoden avhenger av innholdet i objektet, dvs. verdier av medlemsvariabler. Hvis et objekt er foranderlig enn disse verdiene kan endres, og det er også hash-koden. Hvis det samme objektet returnerer forskjellig hash-kode når du har satt inn verdien I HashMap, vil du ende opp med å søke på forskjellige bøtte steder og vil ikke kunne hente objektet. Derfor bør et nøkkelobjekt være uforanderlig. Det er ikke en regel håndhevet av kompilatoren, men du bør ta vare på den som en erfaren programmerer. Se artikkelen for mer avanserte Java Collection intervju spørsmål.
Spørsmål 12) Hvordan ConcurrentHashMap oppnå Sin Skalerbarhet?
noen ganger er dette multithreading + samling intervju spørsmålet også spurt som forskjellen Mellom ConcurrentHashMap og Hashtable I Java. Problemet med synkronisert HashMap eller Hashtable var at Hele Kartet er låst når en tråd utfører en operasjon med Kart.
java.util.ConcurrentHashMap klasse løser dette problemet ved hjelp av en lås stripping teknikk, der hele kartet er låst på ulike segmenter og bare et bestemt segment er låst under skriveoperasjonen, ikke hele kartet. Den ConcurrentHashMap oppnår også sin skalerbarhet ved å tillate lock-free leser som lest er en tråd-sikker drift. Se her for mer avanserte multi-threading og samtidighet spørsmål I Java.
Spørsmål 13) Hvordan deler du et objekt mellom tråder? eller hvordan å sende et objekt fra en tråd til en annen?
det er flere måter å gjøre det på, f. eks. Køer, Veksler, etc, Men Blokkeringkø ved Hjelp Av Produsent-Forbruker mønster er den enkleste måten å sende et objekt fra tråd til en annen.
Spørsmål 14) Hvordan finner hvis programmet har en fastlåst?
ved å ta tråddump ved hjelp av kill -3, ved Hjelp Av JConsole eller VisualVM), foreslår jeg å forberede dette kjerne java intervju spørsmålet mer detaljert, da Intervjueren definitivt liker å gå med flere detaljer, for eksempel vil de trykke med spørsmål som, har du virkelig gjort det i prosjektet ditt eller ikke?
Spørsmål 15) Hvordan unngår du vranglås mens koding?
ved å sikre at låser er anskaffet og utgitt på en bestilt måte, se her for et detaljert svar på dette spørsmålet.
Det er alt på denne listen Over Kjerne Java Intervju Spørsmål for senior utviklere og erfarne programmerere. Jeg har ikke tatt med mange spørsmål fra andre viktige emner som Unntakshåndtering, Søppelsamling tuning og JVM Internals, som også er veldig populært Blant Java-programmerere med 5 til 6 års erfaring, kanskje jeg vil inkludere dem i neste del.
Forresten, hvis du ikke finner svaret på noen Av Disse kjerne Java-Spørsmålene, gi meg beskjed. Jeg kan oppdatere innlegget med et mer detaljert alternativ, basert på leserens forespørsel.
Videre Læring
Den Komplette Java Masterclass
Java Fundamentals: Java språk
Relaterte Java Intervju Spørsmål om andre emner
- Java Spørsmål For Telefon Skjermen Intervjuer (liste)
- Tråd Og Samtidighet Spørsmål Fra Java Intervjuer (liste)
- Java Enum Intervju Spørsmål og Svar (liste)
- Java Oop Intervju Spørsmål med Svar (liste)
- Spring Mvc Intervju Spørsmål og Svar (liste)
- Hibernate intervjuspørsmål med Svar (Liste)
- jdbc intervjuspørsmål og svar (liste)
- array concept intervjuspørsmål i java (Liste)
- RESTful Web Service Intervju Spørsmål (liste)
- Servlet Og JSP Intervju Spørsmål og Svar (liste)
- Java Web Service Intervju Spørsmål og Svar (liste)
Leave a Reply