Inleiding tot Java-interviewvragen voor nieuwe kandidaten
Als u op zoek bent naar een functie die verband houdt met Java, moet u zich voorbereiden op de Java-interviewvragen voor nieuwe sollicitanten. Hoewel elk interview anders is en de reikwijdte van een baan ook anders, kunnen we u helpen met de beste Java-interviewvragen en -antwoorden, die u helpen de sprong te wagen en u succesvol te maken in uw Java-interview.
Hieronder staan de beste Java-interviewvragen die veel worden gesteld in een interview
1. Verschil tussen String Buffer en String Builder in Java
Antwoord:
Dit is een van de favoriete vragen voor interviewers, die echter vaak door de kandidaten jammerlijk wordt beantwoord.
Hier zijn enkele opvallende verschillen over String Buffer en String Builder voor een beter begrip
1) StringBuilder is een niet-gesynchroniseerde versie van de StringBuffer-klasse. Methoden in StringBuilder
Bijvoorbeeld, alle overbelaste versie van append () methode is niet gesynchroniseerd.
2) StringBuilder werkt sneller dan StringBuffer omdat er geen overhead is voor het verkrijgen en vrijgeven van sloten die verband houden met gesynchroniseerde methoden.
3) StringBuffer wordt beschouwd als thread-safe en StringBuilder is niet omdat als een dergelijke synchronisatie vereist is, het beter is om de StringBuffer-klasse te gebruiken. StringBuilder-klasse Instanties kunnen niet worden gedeeld tussen meerdere threads
4) StringBuffer is de oude klasse; het is opgenomen in JDK vanaf de eerste release, terwijl StringBuilder een relatief nieuwere klasse is
5) Het belangrijkste feit over StringBuffer en StringBuilder is dat, wanneer String-aaneenschakeling wordt gedaan met behulp van de operator +, Java die aanroep intern converteert naar de overeenkomstige StringBuilder append () -methode. Bijvoorbeeld "één" + "twee" + "drie" zal worden geconverteerd naar nieuwe StringBuilder (). Append ("one"). Append ("two"). Append ("three").
2. Java-programma om het grootste en kleinste getal in een geheel getal te vinden
Antwoord:
Een simpele 5-wijzer om deze vraag te beantwoorden
- Maak een Java-bronbestand met de naam MaximumMinimumArrayDemo.java en kopieer de code om te compileren en uit te voeren in uw favoriete IDE
- Maak een methode met de naam grootste en kleinste (int () nummers) om het grootste en kleinste aantal int array af te drukken dat aan het programma is doorgegeven.
- Gebruik twee grootste en kleinste variabelen om de maximale en minimale waarden van de array op te slaan. Aanvankelijk wordt de grootste geïnitialiseerd met Integer.MIN_VALUE en de kleinste wordt geïnitialiseerd met Integer.MAX_VALUE.
- Vergelijk voor alle iteraties van de lus het huidige nummer met de grootste tot de kleinste en werk deze dienovereenkomstig bij.
- Als een nummer groter is dan het grootste, kan het niet kleiner zijn dan het kleinste, wat betekent dat u niet hoeft te controleren of de eerste voorwaarde waar is, daarom hebben we een if-else-codeblok gebruikt, waarbij het andere deel alleen uitvoeren als de eerste voorwaarde niet waar is.
De logica om het grootste element uit een array in Java te vinden, wordt hieronder gegeven.
In plaats van een variabele toe te wijzen aan Integer.MAX_VALUE, hebben we het eerste element uit de array toegewezen.
3. Wat is het verschil tussen C ++ en Java?
Antwoord:
C ++ en Java zijn alleen vergelijkbaar in syntactische vergelijkingen. Hieronder staan verschillen:
-
- Java is multithreaded
- Java heeft geen aanwijzingen
- Java heeft automatisch geheugenbeheer (garbage collection)
- Java is platformonafhankelijk
- Java heeft ingebouwde ondersteuning voor commentaardocumentatie
- Java heeft geen operatoroverbelasting
Java biedt geen meerdere overervingen
- Er zijn geen vernietigers op Java
4. Verschil tussen abstracte klasse en interface?
Antwoord:
Meerdere overerving:
Een abstracte klasse kan slechts één abstracte klasse erven; in de interface kan een klasse echter meerdere interfaces implementeren. Dit bewijst dat Interface Multiple Inheritance ondersteunt, maar de klasse Abstract niet.
Implementatie:
Een abstracte klasse kan standaardcode bieden omdat deze zowel onvolledige als volledige leden bevat, terwijl een interface geen code kan bieden omdat deze alleen onvolledig lid bevat
Fields
We kunnen velden en beperkingen definiëren in een klasse Abstract, terwijl in een interface geen velden kunnen worden gedefinieerd
Snelheid
Een abstracte klasse is snel in vergelijking met een interface, omdat deze laatste meer tijd nodig heeft om de methode te vinden voor de overeenkomstige klasse
Gebruik
Een abstracte klasse komt in beeld wanneer we een gemeenschappelijke functionaliteit in een ouder-kindrelatie willen delen, terwijl Interface wordt gebruikt om polymorfisme, ontkoppeling en standaardisatie te definiëren en af te dwingen
5. Verschil tussen privé, beschermd, openbaar en pakketmodifier of trefwoord in Java
Antwoord:
privé versus openbaar versus beschermd versus pakket in Java
Java heeft vier toegangsmodificatoren namelijk; privaat, beschermd, openbaar en pakketniveau
toegang op pakketniveau wordt beschouwd als standaardtoegangsniveau dat wordt aangeboden door Java als er geen toegangsmodificator wordt geïdentificeerd
Deze toegangsmodificatoren werken om de toegankelijkheid te beperken van een klasse, methode of variabele waarop deze van toepassing is
Hieronder worden de functionaliteiten van elke toegangsmodificator beschreven en hoe verschillend ze van elkaar zijn
privé sleutelwoord in Java
- private modifier in Java kan worden toegepast op ledenveld, methode of geneste klasse in Java.
- Men kan de privé-modifier niet gebruiken op de hoogste klasse.
- privévariabelen, methoden en klasse zijn alleen toegankelijk voor de klasse waarop ze zijn gedeclareerd.
- privates de hoogste vorm van Encapsulation Java API biedt en moet zoveel mogelijk worden gebruikt.
Het is de beste codeerpraktijk in Java om standaard variabele privé te verklaren. Een privémethode kan alleen worden aangeroepen vanuit de klasse waarin deze is aangegeven
pakket of standaard toegangsniveau in Java
- pakket is een trefwoord dat wordt gebruikt om een pakket in Java aan te geven; een pakket is een map waartoe een klasse in Java behoort.
- pakket of standaard toegangsniveau is de op een na hoogste beperkende toegangsmodifier na privé en elke variabele, methode of klasse die als pakket-privé wordt aangegeven, is alleen toegankelijk op het pakket waartoe het behoort.
Het goede van de standaardmodificator is dat klasse op het hoogste niveau ook pakket-privé kan zijn als er geen toegangsmodificator op klassenniveau is.
beschermd trefwoord in Java
Het verschil tussen particulier en beschermd sleutelwoord is die beschermde methode, variabele of geneste klasse, niet alleen toegankelijk binnen een klasse, binnen het pakket maar ook buiten het pakket op een subklasse.
Als je aangeeft dat een variabele beschermd is, kan iedereen deze gebruiken als ze je klas uitbreiden. De klasse op het hoogste niveau kan ook niet beschermd worden.
openbaar trefwoord in Java
Openbaar is de minst beperkende toegangsmodificator in de programmeertaal Java en het is een slechte gewoonte om veld, methode of klasse standaard openbaar te maken, want zodra u het openbaar maakt, is het erg moeilijk om wijzigingen aan te brengen in de interne structuur van de klasse, omdat dit van invloed is op alle clients die gebruiken het.
Het openbaar maken van klasse of instantie variabele heeft ook het principe van inkapseling geschonden, dat helemaal niet goed is en het onderhoud ernstig beïnvloedt
Aanbevolen artikel
Dit is een gids voor Lijst met Java-interviewvragen en -antwoorden, zodat de kandidaat deze Java-interviewvragen gemakkelijk kan beantwoorden. U kunt ook de volgende artikelen bekijken voor meer informatie -
- Vragen tijdens solliciteren bij Java Developer
- Belangrijke Java Multi-threading-interviewvragen
- J2EE Interview vragen en antwoorden
- Java String-interviewvraag en antwoorden
- Vragen en antwoorden over sollicitatiegesprekken bij Java 8