Hur man granskar Java-utvecklares kompetens för att hitta de bästa - guide för IT-rekrytering

Publicerad: Senast uppdaterad:
Java: intervjufrågor för programvaruingenjörer

Det kan vara ett allvarligt problem om du vill anlita en Javautvecklare men inte har en aning om vad du ska leta efter. Du kan söka igenom en kandidats LinkedIn-profil eller CV hur mycket du vill. Om du inte kan skilja JPA från Gradel kan du inte avgöra om kandidaten är lämplig för den tjänst du vill tillsätta. Jag skrev den här artikeln för att samla all information du behöver om du är en IT-rekryterare som söker programmerare med Java-kompetens.

Vad är Java?

Java är ett kompilerat, objektorienterat programmeringsspråk som liknar syntaxen i C++. Det är avsett att låta programutvecklare "skriva en gång, köra var som helst", vilket innebär att kompilerad Javakod kan köras på alla plattformar som stöder Java utan att behöva kompileras på nytt. Ett program skrivet i Java har mycket god prestanda tack vare användningen av en Just-In-Time-kompilator som kontinuerligt analyserar programmets hastighet och optimerar ofta utförda punkter. En annan viktig fördel med Java är den automatiska minneshanteringen som gör att utvecklare kan skriva program utan att behöva oroa sig för minnesallokering och -nedläggning. Från och med 2020 var det det mest populära programmeringsspråket testas av arbetsgivarna. Java anses inte vara ett lättanvänt språk för icke-programmerare.

Java är för Javascript som bil är för matta, så blanda inte ihop dessa två programmeringsspråk.

Vad är viktigt för IT-rekryterare att veta om Java och Java-kompetens?

Innan jag går in på detaljer om hur man kan visa Java-kompetens, låt mig först dela med mig av några grundläggande saker som gör att du kan bli mer bekant med denna teknik.

För det första förändras Javavärlden ofta, så erfarenhet av ramverk som förvärvats för fem år sedan är inte längre giltig. Tänk på detta när du bedömer Java-utvecklarens färdigheter på grundval av hittillsvarande anställning.

För det andra är kunskap om verktyg och bibliotek i Java-miljön mer värdefull än kunskap om själva språket. Utan dessa kunskaper kommer en programmerare att skriva allt själv från grunden och bara slösa tid. Om en utvecklare är bekant med Javabibliotek och ramverk kan han använda dem som lego för att göra vad han behöver och skriva kod endast där det är nödvändigt. Genom att göra det på detta sätt blir deras arbete mycket effektivare.

Sist men inte minst är endast kommersiell erfarenhet viktig. Java-kunskaper från ett universitet är nästan aldrig användbara för företagskodning. Så om du inte rekryterar för en nybörjar- eller juniorposition kan du skippa att bedöma Java-kompetens enbart utifrån universitetsutbildning och examen. I det fallet är det viktigare att kandidaten har ett verkligt kodningsprojekt, det behöver inte vara ett kommersiellt projekt - det kan vara ett hobbyprojekt eller ett programmeringsprojekt med öppen källkod.

Grundläggande kunskaper i Java-utveckling

  1.  Språket Java
    - Samlingar
    - Strömmar och lambdauttryck
    - Samtidighet: trådpooler
    - Lås
    - Moderna språkfunktioner: register, förbättrad växel
  2. Ramar
    - Spring Boot 2
    - Spring MVC/WebFlux för REST API:er
    - Hibernate och SQL
    - JUnit
    - Spock (kräver språket Groovy))
  3. Verktyg
    - Maven och Gradle
    - IDE, t.ex. IntelliJ IDEA
    - Git
    - Docker
  4. Nästa steg (välj några): (Kotlin, Groovy (för Spock), reaktiv programmering (Reactor), Kubernetes, React eller Angular 2+ för front-end, Android-utveckling)

Hur verifierar man Java-kompetens i screeningfasen?

Vad ska man leta efter när man anställer en Javautvecklare? Screening är tröttsamt, jobbigt och tar mycket tid i anspråk. Vanligtvis använder sig IT-rekryterare av följande screeningtekniker, från bedömning av Java-kompetens utifrån CV genom intervjuer eller videosamtal till kodningstester online.

Nedan hittar du några användbara och praktiska rekryteringstips om hur du kan verifiera Java-kompetens med hjälp av varje metod.

Teknisk screening av Java-kompetens baserat på kandidatens CV.

Javateknik - en grundläggande ordlista över Java-termer för IT-rekryterare

Visst finns all information du behöver i CV:n - du behöver bara hitta rätt. Låter enkelt, eller hur? Men när du börjar gå igenom CV:n stöter du på termer som Hibernate eller JMX, och ganska snabbt blir du förvirrad över om det är den här kandidaten du letar efter. Om du är en teknisk rekryterare som rekryterar till en tjänst inom java bör du åtminstone vara bekant med alla ramverk, byggverktyg osv. för att veta vad du letar efter och för att kunna tala samma språk med dina kandidater (eller åtminstone förstå grunderna som kandidaten talar om).

Det är därför vi har förberett denna grundläggande Java-ordlista, ta en titt.

Java-ordlista för tekniska rekryterare
Java EE-komponenterJava Server Pages (JSP), Servlets, Enterprise Java Beans (EJB), JAX-RS, JAX-WS, Java Message Service (JMS)
Ramverk för Java-webbJava Server Faces (JSF), Spring MVC, Vaadin/GWT, Wicket, Play
ORMHibernate, Java Persistence API (JPA), EclipseLink, OpenJPA
Verktyg för att bygga JavaMaven, Gradle, Ant
Behållare för Java-applikationerTomcat, JBoss/Wildfly, Undertow, Jetty, WebLogic, WebSphere
Testverktyg för JavaJUnit, TestNG, Spock, Mockito, Cucumber
IoC-ramarSpring Framework, Guice, CDI

Nu när du känner till grunderna kan vi gå in på detaljerna. Om du inte är en teknisk person är det lätt att bli förvirrad av alla olika tekniska namn och förkortningar. Om kandidaten uppger att han/hon kan EJB betyder det att han/hon är bekant med Java EE? Eller om den sökande känner till Maven 1 betyder det att han/hon också kan hantera Maven 2? Håll dig lugn, vi hjälper dig. Fortsätt bara att läsa.

De vanligaste namnen på Java-teknik som används omväxlande:

- JPA, Hibernate, Java Persistence, Java Persistence API,

- Java EE, EJB, Enterprise Java Beans, Enterprise Java,

- JBoss, Wildfly.

Förhållandet mellan olika versioner av Java-tekniken:

- EJB 2.0 är helt annorlunda än EJB 3.0,

- Java EE 1.4 är helt annorlunda än Java EE 5,

- Java EE 7 är en förbättrad version av Java EE 6 som är en förbättrad version av Java EE 5,

- Spring 2.0 eller Spring 3.0 som liknar Spring 4.0,

- Acegi bytte namn till Spring Security,

- Maven 1 är helt annorlunda än Maven 2,

- Maven 2 är mycket lik Maven 3,

- Hibernate 4.x är mycket lik Hibernate 5.x,

- GWT 1.x skiljer sig från GWT 2.x,

- Struts 1 är helt annorlunda än Struts 2,

- JPA 2.x är en rikare version av JPA 1.0.

Det är också värdefullt att känna till följande förhållanden:

- Sökning i fulltext: Om någon kan någon av Lucene, Solr eller ElasticSearch kan han eller hon ta hand om resten.

- Objektrelationell kartläggning: Om någon känner till Hibernate, EclipseLink eller OpenJPA kan han/hon ta hand om resten.

- RESTful-tjänster: Om någon känner till någon av Spring MVC, JaxRS eller Jersey kan han/hon ta hand om resten.

Betydelsen av ett Java-certifikat för att bedöma utvecklarens Java-kompetens

Java-certifikat uppskattas vanligtvis av arbetsgivare. Certifiering är dock sällan ett krav för en sökande. Som teknisk rekryterare måste du dock vara försiktig när du bedömer Java-programmeringskompetens utifrån certifikat, eftersom inget av dem fungerar som en garanti för utvecklarens förmåga.

Det händer ofta att en mycket erfaren programmerare knappt klarar certifieringsprovet och att en svag programmerare får bra resultat i ett sådant prov. Varför är det så? Sådana certifikat verifierar knappast praktiska färdigheter. De kräver vanligtvis att man lär sig saker utantill som en mer erfaren utvecklare snabbt skulle hitta i dokumentationen eller kunna verifiera. Med snabbt menar jag inom några sekunder med hjälp av deras favorit IDE (programvara som en programmerare använder för att arbeta med program), som inte är tillgänglig under provet. Att inte kunna använda IDE är för övrigt inte meningsfullt eftersom programmeraren dagligen använder många externa källor, t.ex. IDE, för att utföra sitt arbete.

Nedan hittar du en lista över Java-certifieringar som är uppdelade i tre grupper.

A. Praktiska Java-certifikat som kräver praktisk erfarenhet och som garanterar fördjupade kunskaper i ämnet.

Vårcertifikat:

- Våren Professional,

- Utvecklare av Spring Web Application,

- Specialist på företagsintegration.

B. Användbara Java-certifikat kan fungera som ett tillförlitligt bevis på kunskap.

- Oracle Certified Master, Java SE 6 - kräver ganska goda Java-kunskaper, men endast Java 1.6, som släpptes för tio år sedan (2006),

- Oracle Certified Expert, Java EE 6 Web Services Developer - kräver gedigna kunskaper men verifierar inte kommersiell erfarenhet, och kan därför inte fungera som en garanti för projektframgång,

- Oracle Certified Expert, Java EE 6 Java Persistence API Developer - kräver gedigna kunskaper men verifierar inte kommersiell erfarenhet, och kan därför inte fungera som en garanti för projektets framgång,

- Oracle Certified Master, Java EE 6 Enterprise Architect - en kandidat förstår och kan tillämpa Java på arkitekturnivå,

- IBM WebSphere - kräver gedigen produktkunskap men verifierar inte kommersiell erfarenhet, och kan därför inte fungera som en garanti för att projektet ska lyckas.

C. Java-certifikat - teoretisk kunskap, inte särskilt användbar ur ett affärsperspektiv.

- Oracle Certified Associate, Java SE,

- Oracle Certified Professional, Java SE,

- Oracle Certified Expert, Java EE 6 JavaServer Faces Developer,

- Oracle Certified Expert, Java EE 6 Web Component Developer,

- Oracle Certified Expert, Java EE 6 Enterprise JavaBeans Developer.

Annan information i ett CV som kan visa en utvecklares Java-kompetens

Deltagande i projekt med öppen källkod är den information som är värd att ta hänsyn till. Om kandidaten bidrar till välkända och stora projekt kan det vara av stort värde. Det är också viktigt om en programmerare har erfarenhet av liknande typ av IT-projekt som vi söker en anställd för. Att skapa nya saker kräver en annan uppsättning färdigheter och egenskaper än att underhålla dem.

Teknisk screening av Java-kunskaper under en teknisk intervju per telefon/video.

Eftersom det är ganska svårt att dra tillförlitliga slutsatser om en kandidats programmeringskunskaper från själva CV:t, genomför IT-rekryterare ofta en telefon- eller videointervju. Dessa typer av intervjuer ger en möjlighet att ställa frågor om deras Java-kompetens. På många företag utgör en sådan teknisk telefon- eller videointervju grunden för att fatta ett beslut om huruvida man ska bjuda in någon till en teknisk intervju på plats med ett IT-team eller inte, så det är värt att ställa rätt tekniska frågor.

Eftersom frågorna i sig kan variera beroende på vilken tjänst du rekryterar till och vilka specifika färdigheter du vill kontrollera, rekommenderar jag följande allmänna frågor för att ta reda på mer om kandidatens Java-färdigheter:

A. Intervjufråga om Java som rör utvecklarens erfarenhet

  • Q1: Har du haft kommersiell erfarenhet av de tekniker som anges i ditt CV under de senaste två åren? Vilka ansvarsområden hade du? Vad var din största prestation?
  • Varför frågar du Q1? Genom att ställa den här frågan kan du få reda på mer om kandidatens aktuella Java-erfarenhet, ansvarsområden och prestationer. På så sätt lär du känna din kandidat bättre.

B.Intervjufråga om Javaom utvecklarens kunskaper och åsikter

  • Q2: Vilka Java-bibliotek med öppen källkod anser du vara värdefulla och varför?
  • Varför fråga Q2: Den här frågan låter kandidaten visa sin kunskap om Javas ekosystem. Dessutom kan kandidaten peka på vad han eller hon tar hänsyn till när han eller hon väljer en viss teknik. Som en följdfråga kan du också fråga vad som enligt hans åsikt är fördelarna med kommersiella lösningar framför öppen källkod och vice versa. Detta visar hur kandidaten tänker.
  • Q3: Jag har noterat att du har angett ram X i ditt CV. Vad anser du om det? Är det ett bra val?
  • Varför frågar du Q3? En sådan öppen fråga ger kandidaten möjlighet att visa sin kunskap om han eller hon har den. Du kan också spela djävulens advokat utifrån deras svar: "Men varför inte använda ramverk Y för det?". På så sätt kan du se hur kandidaterna väljer teknik, motiverar sina val och om deras åsikter stämmer överens med era IT-team.

C.Intervjufråga om Javaom utvecklarnas beslutsfattande när det gäller Java-teknik

  • Q4: På vilket stadium gick du med i de senaste projekten? Var du delaktig i valet av teknik eller i upplägget av projektet? Om ja, vilken teknik valde du eller rekommenderade du för projektet och varför?
  • Varför frågar du Q4: En sådan fråga visar inte bara hur en kandidat gör val när det gäller teknik, utan också om han eller hon har varit delaktig i beslutsfattandet. Det är särskilt viktigt om du letar efter någon med erfarenhet.

D. Beteendefrågor för javautvecklare

  • Q5: Tänk på ett beslut om programmeringsprojekt som du fattade och som misslyckades. Varför tror du att det var ett misstag? Varför hände det? Kunde man ha gjort något annorlunda för att vända det till framgång? Vilka åtgärder vidtog du för att förbättra situationen? Vad lärde du dig av denna erfarenhet?
  • Varför ställa Q5: Den typen av frågor hjälper dig att ta reda på hur kandidaten uppfattar sina beslut, drar slutsatser och hur mycket han eller hon lär sig av sina tidigare erfarenheter.

Teknisk screening av Java-utvecklarens färdigheter med hjälp av kodningstester online.

Kodningstester online kan vara ett bra sätt att granska Java-utvecklarens färdigheter. Nedan hittar du information om hur du kan använda programmeringstester och vilka du ska välja.

Java-kodningstester online - den primära eller kompletterande metoden för screening

I vissa företag används programmeringstester som en ytterligare metod för att granska kandidater, efter att CV:t analyserats och telefon- eller videointervjuer genomförts. Allt fler företag använder dock kodningstester som första metod för att granska programmeringskunskaper. Vad jag menar är att företaget bjuder in alla kandidater som söker en viss tjänst att göra ett test. På så sätt spenderar IT-rekryteraren å ena sidan endast tid på de kandidater som klarat provet så att de bevisat att de har Java-programmeringskunskaper, och å andra sidan visar en sådan kandidat mer engagemang eftersom de redan har lagt ner sin tid på rekryteringsprocessen och därmed är mer benägna att delta i alla dess steg.

Java-kodningstest online - vilket test ska du välja?

Men för att kunna göra en korrekt screening måste kodningstesterna vara de rätta.

Det finns många Java-kodningstester online på marknaden, men de kontrollerar vanligtvis kandidatens kunskaper snarare än programmeringsfärdigheter och förmågor att lösa verkliga kodningsproblem. Det är därför många erfarna programmerare inte gillar den typen av bedömning och dessutom kan de inte få ett bra resultat eftersom de inte kan visa sin erfarenhet och förmåga att lösa verkliga programmeringsproblem.

Vilka funktioner bör då sådana kodningstester ha? Nedan hittar du mina fem viktigaste funktioner som du bör leta efter:

  1. Testerna för Java-programmering bör inte bara kontrollera Java-utvecklarens färdigheter när det gäller tekniken i allmänhet, utan även ramverk och bibliotek.
  2. Java-kodningstesterna bör bestå av ett par uppgifter, inte bara flervalstester, utan framför allt programmeringsuppgifter vars svårighetsgrad bör motsvara de ansvarsområden som kandidaterna kommer att ha om de får jobbet (testerna bör inte baseras på algoritmiska uppgifter, eftersom du på så sätt inte kan verifiera om en kandidat kan lösa kodningsutmaningar i det verkliga livet).
  3. Java-programmeringsuppgifterna bör helst förberedas på ett företags kodbas, eftersom detta är det bästa sättet att efterlikna de utmaningar som kandidaten kommer att få när han eller hon väl får jobbet.
  4. Det finns ingen mening med att förbjuda programmeraren att använda externa källor, det bästa sättet är att skapa en miljö som den de har på jobbet, så en öppen tentamen är mycket lämpligare. Dessutom bör kandidaten kunna använda den IDE som han eller hon föredrar, precis som han eller hon gör dagligen.
  5. Kodningstestet kan också innehålla uppgifter med kodgranskningsutmaningar för att testa Java-färdigheter. Det ger mycket korrekt information om kandidatens erfarenhet, deras inställning till kodkvalitet och effektivitet när det gäller att felsöka och hitta fällor. En sådan bedömning bör vara obligatorisk vid rekrytering av seniora Java-utvecklare.

Intervjufrågor om Java för 5, 10 och 15 års erfarenhet

När du skapar Java-intervjufrågor för 5, 10 och 15 års erfarenhet är det viktigt att ha en mängd olika frågor som inte bara verifierar kandidatens akademiska kunskaper utan även testar deras programmeringsfärdigheter. Våra screeningtester kan göra detta genom att använda problem från den verkliga världen snarare än pussel och algoritmiska tester. På så sätt kan du verifiera en utvecklares färdigheter samt kunskap om ramverk och bibliotek. Om du anställer för en junior-, mellan- eller seniorposition bör varje Java-test matcha positionen och innehålla Java-intervjufrågor för 5, 10 och 15 års erfarenhet. Detta kan göras genom att använda ditt företags kodbas så att den kan matcha det dagliga arbetet för tjänsten.

Intervjufrågor för Java-utvecklare

Det kan vara svårt att få en fullständig förståelse för en kandidats förmåga genom ett algoritmiskt test. Detta beror på att det kanske inte innehåller intervjufrågor för Javautvecklare som låter kandidaterna visa sina nuvarande färdigheter och kunskaper. Algoritmiska tester bygger främst på kandidatens universitetsutbildning. Eftersom Java-miljön ständigt förändras kan inte utvecklaren på detta sätt visa sin fulla förmåga och ger ingen objektiv bild av sina färdigheter. På grund av detta kan kandidater hoppa av rekryteringsprocessen eftersom de anser att de inte blev rättvist testade. Det är viktigt att ha intervjufrågor för Javautvecklare som baseras på verkliga uppgifter som är relaterade till den tjänst som du kommer att anställa. Devskiller-testerna innehåller intervjufrågor för Javautvecklare som motsvarar verkliga situationer med hjälp av vår RealLifeTesting-metodik.

DevSkiller färdiga test för bedömning av Java-kodning online, redo att användas

På DevSkiller ger vi företag en infrastruktur som gör att de kan använda sin egen kodbas, hela IT-projekt med hjälp av ramverk och bibliotek, för att testa programmerare online. Men vi har också några färdiga Java-kodningstester som du kan använda i din rekryteringskampanj.

Java
MIDDLE
Testade färdigheter
Varaktighet
75 minuter max.
Utvärdering
Automatisk
Översikt över testet

Frågor om valmöjligheter

bedömning av kunskaper om Java och Spring Boot

Luckor i koden

bedömning av kunskaper om Java och MongoDB

Programmeringsuppgift - Nivå:

Java | MongoDB, Spring Boot | Flygsökare med MongoDB-cache - Implementera kod som kan söka efter priser från flera flygbolag enligt kundens begäran.

Android
JUNIOR
Testade färdigheter
Varaktighet
53 minuter max.
Utvärdering
Automatisk
Översikt över testet

Frågor om valmöjligheter

bedömning av kunskaper om Android,

Luckor i koden

bedömning av kunskap om Android, Kotlin och Java

Programmeringsuppgift - Nivå:

Android | Kotlin | Employees Application - Komplett app som visar en lista över personer som ansvarar för olika områden inom företaget, t.ex. IT eller löner.

Java
JUNIOR
Testade färdigheter
Varaktighet
45 minuter max.
Utvärdering
Automatisk
Översikt över testet

Frågor om valmöjligheter

bedömning av kunskaper om Java, Våren, Hibernate

Programmeringsuppgift - Nivå:

Java | Spring, Hibernate | Hottest pepper application - Implementera metoder i PepperDao klassen med Spring och Hibernate.

Våren
JUNIOR
Testade färdigheter
Varaktighet
35 minuter max.
Utvärdering
Automatisk
Översikt över testet

Frågor om valmöjligheter

bedömning av kunskaper om Java, Våren

Programmeringsuppgift - Nivå:

Java | Spring | Valutaväxlingstjänst - Skapa en tjänst för valutaväxlingskurser. Den ska göra det möjligt för användare att hämta information om valutakurser och beräkna hur mycket pengar de kommer att få efter växlingen.

Java
JUNIOR
Testade färdigheter
Varaktighet
35 minuter max.
Utvärdering
Automatisk
Översikt över testet

Frågor om valmöjligheter

bedömning av kunskaper om Java, Våren

Programmeringsuppgift - Nivå:

Java | Kafka | Flygbiljetter - Implementera tjänsten för validering av datakvalitet som tas emot från resebyråer.

Spring Boot
JUNIOR
Testade färdigheter
Varaktighet
54 minuter max.
Utvärdering
Automatisk
Översikt över testet

Frågor om valmöjligheter

bedömning av kunskaper om Java, Spring Boot

Luckor i koden

bedömning av kunskaper om Java

Programmeringsuppgift - Nivå:

Java | Spring Boot | HATEOAS Bike Station - Slutför implementeringen av HATEOAS till REST API.

Java
JUNIOR
Testade färdigheter
Varaktighet
120 minuter max.
Utvärdering
Automatisk
Översikt över testet

Front End-programmering - Nivå:

JavaScript | TypeScript | Fakturaapplikation - frontend - Implementera frontenddelen för att slå samman och aggregera fakturadata med valutakurser.

Back End-programmering - Nivå:

Java | Fakturaapplikation - backend - Implementera backend-delen för sökning och sammanställning av fakturadata med tjänsten och DAO-metoderna.

Java
JUNIOR
Testade färdigheter
Varaktighet
29 minuter max.
Utvärdering
Automatisk
Översikt över testet

Frågor om valmöjligheter

bedömning av kunskaper om Java

Luckor i koden

bedömning av kunskaper om Java

Programmeringsuppgift - Nivå:

Java | GetWordFromText och Reverse - Implementera två metoder som returnerar orden från texten och vänder dem.

QA
SENIOR
Testade färdigheter
Varaktighet
49 minuter max.
Utvärdering
Automatisk
Översikt över testet

Frågor om valmöjligheter

bedömning av kunskaper om QA, Enhetstestning, Manuell testning, Testning av

Programmeringsuppgift - Nivå: Svårt

QA | Java, Selenium | Automatisering av test av autentisering med flera faktorer - Automatisera autentiseringsmekanismen i Selenium.

Dela inlägg

Läs mer om rekrytering av tekniker

Prenumerera på vår Learning Hub för att få nyttiga insikter direkt i din inkorg.

Kontrollera och utveckla kodningsfärdigheter utan problem.

Se DevSkillers produkter i praktiken.

Säkerhetscertifieringar och efterlevnad. Vi ser till att dina data är säkra och skyddade.

DevSkillers logotyp TalentBoost logotyp TalentScore-logotyp