Sådan screener du Java-udvikleres færdigheder for at finde de bedste - guide til it-rekruttering

Udgivet: Sidst opdateret:
Java: spørgsmål til interview med softwareingeniør

Det kan være et alvorligt problem, hvis du ønsker at ansætte en Java-udvikler, men ikke aner, hvad du skal kigge efter. Du kan søge i en kandidats LinkedIn-profil eller CV alt det, du vil. Hvis du ikke kan skelne din JPA fra din Gradel, kan du ikke se, om kandidaten passer til den stilling, du ønsker at besætte. Jeg har skrevet denne artikel for at samle alle de oplysninger, du har brug for, hvis du som it-rekrutteringsmedarbejder søger programmører med Java-kompetencer.

Hvad er Java?

Java er et kompileret, objektorienteret programmeringssprog, der i syntaks ligner C++. Det er beregnet til at lade applikationsudviklere "skrive én gang, køre hvor som helst", hvilket betyder, at kompileret Java-kode kan køre på alle platforme, der understøtter Java, uden at det er nødvendigt med en ny kompilering. En applikation skrevet i Java har en meget god ydeevne takket være brugen af en Just-In-Time compiler, som løbende analyserer programmets hastighed og optimerer hyppigt udførte steder. En anden vigtig fordel ved Java er den automatiske hukommelsesstyring, som gør det muligt for udviklere at skrive programmer uden at skulle bekymre sig eksplicit om allokering og deallokering af hukommelse. Fra 2020 var det det mest populære programmeringssprog testet af arbejdsgiverne. Java anses ikke for at være et let anvendeligt sprog for ikke-programmører.

Java er for Javascript som bil er for tæppe, så forveksl ikke disse to programmeringssprog.

What is important for IT Recruiter to know about Java and Java skills?

Før jeg går i detaljer med, hvordan man screener Java-færdigheder, vil jeg først fortælle dig om nogle grundlæggende ting, som vil gøre dig mere fortrolig med denne teknologi.

For det første ændrer Java-verdenen sig ofte, så erfaringer med rammer, der er opnået for 5 år siden, er ikke længere gyldige. Husk dette, når du vurderer Java-udviklerens færdigheder på baggrund af den hidtidige beskæftigelse.

For det andet er kendskab til værktøjer og biblioteker i Java-miljøet mere værdifuldt end kendskab til selve sproget. Uden det vil en programmør skrive alting selv fra bunden og bare spilde sin tid. Hvis en udvikler er bekendt med Java-biblioteker og -rammer, kan han bruge dem som lego til at lave det, han har brug for, og kun skrive kode, hvor det er nødvendigt. Ved at gøre det på denne måde bliver deres arbejde meget mere effektivt.

Sidst men ikke mindst er det kun kommerciel erfaring, der er vigtig. Java-kendskab fra et universitet er næsten aldrig brugbart til erhvervskodning. Så medmindre du rekrutterer til en stilling på begynder- eller juniorniveau, kan du droppe at vurdere Java-færdigheder udelukkende på baggrund af universitetsuddannelse og eksamensbevis. I så fald er det vigtigere at se kandidatens reelle kodningsprojekter, og det behøver ikke at være kommercielle projekter - det kan være hobby- eller open source-programmeringsprojekter.

Grundlæggende Java-udviklerfærdigheder

  1.  Java-sprog
    - Samlinger
    - Streams og lambda-udtryk
    - Concurrency: trådpuljer
    - Låse
    - Moderne sprogfunktioner: optegnelser, forbedret kontakt
  2. Rammer
    - Spring Boot 2
    - Spring MVC/WebFlux til REST-API'er
    - Hibernate og SQL
    - JUnit
    - Spock (kræver Groovy-sprog))
  3. Værktøj
    - Maven og Gradle
    - IDE, f.eks. IntelliJ IDEA
    - Git
    - Docker
  4. Næste skridt (vælg nogle): (Kotlin, Groovy (til Spock), reaktiv programmering (Reactor), Kubernetes, React eller Angular 2+ til front-end, Android-udvikling)

Hvordan kan man kontrollere Java-færdigheder i screeningsfasen?

What to look for when hiring a Java developer? Screening is tiring, arduous, and takes a lot of your time. Usually IT recruiters turn to the following screening techniques from assessing java skills based on resume through an interview or video calls to online coding tests.

Nedenfor finder du nogle nyttige og praktiske tips til rekruttering om, hvordan du kan kontrollere Java-færdigheder ved hjælp af de enkelte metoder.

Teknisk screening af Java-færdigheder på baggrund af kandidaternes cv

Java-teknologi - en grundlæggende ordliste over Java-termer for it-ansættere

Alle de oplysninger, du har brug for, findes helt sikkert i CV'et - du skal bare finde de rigtige oplysninger. Det lyder nemt, ikke? Men når du begynder at gennemgå CV'et, støder du på udtryk som Hibernate eller JMX, og du bliver hurtigt forvirret over, om det er den kandidat, du leder efter. Hvis du er Tech Recruiter, der rekrutterer til en java-stilling, bør du i det mindste være bekendt med alle dets frameworks, build-værktøjer osv. for at vide, hvad du leder efter, og for at kunne tale samme sprog med dine kandidater (eller i det mindste forstå det grundlæggende, som kandidaten taler om).

Derfor har vi udarbejdet denne grundlæggende Java-glossar, som du kan kigge på.

Java-ordliste for tekniske rekrutteringsfolk
Java EE-komponenterJava Server Pages (JSP), Servlets, Enterprise Java Beans (EJB), JAX-RS, JAX-WS, Java Message Service (JMS)
Java web-rammerJava Server Faces (JSF), Spring MVC, Vaadin/GWT, Wicket, Play
ORMHibernate, Java Persistence API (JPA), EclipseLink, OpenJPA
Java build-værktøjerMaven, Gradle, Ant
Java-programcontainereTomcat, JBoss/Wildfly, Undertow, Jetty, WebLogic, WebSphere
Java-testværktøjerJUnit, TestNG, Spock, Mockito, Cucumber
IoC-rammerSpring Framework, Guice, CDI

Nu, hvor du kender det grundlæggende, kan vi gå i detaljer. Hvis du ikke er en teknisk person, er det nemt at blive forvirret af alle de forskellige teknologinavne og forkortelser. Hvis kandidaten siger, at han/hun kender EJB, betyder det så, at han/hun kender Java EE? Eller hvis ansøgeren kender Maven 1, betyder det så, at han/hun også kan håndtere Maven 2? Bevar roen, vi skal nok hjælpe dig. Fortsæt bare med at læse videre.

De mest almindelige Java-teknologinavne, der bruges i flæng:

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

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

- JBoss, Wildfly.

Forholdet mellem de respektive versioner af Java-teknologien:

- EJB 2.0 er helt anderledes end EJB 3.0,

- Java EE 1.4 er helt anderledes end Java EE 5,

- Java EE 7 er en forbedret version af Java EE 6, som er en forbedret version af Java EE 5,

- Spring 2.0 eller Spring 3.0 svarende til Spring 4.0,

- Acegi ændrede sit navn til Spring Security,

- Maven 1 er helt anderledes end Maven 2,

- Maven 2 minder meget om Maven 3,

- Hibernate 4.x er meget lig Hibernate 5.x,

- GWT 1.x er forskellig fra GWT 2.x,

- Struts 1 er helt anderledes end Struts 2,

- JPA 2.x er en mere omfattende version af JPA 1.0.

Det er også vigtigt at være opmærksom på følgende forhold:

- Søgning i fuldtekst: Hvis nogen kender en af Lucene, Solr eller ElasticSearch, vil de kunne klare resten.

- Objekt-relationel kortlægning: Hvis nogen kender Hibernate, EclipseLink eller OpenJPA, kan de klare resten.

- RESTful-tjenester: Hvis nogen kender en af Spring MVC, JaxRS, Jersey, så vil de kunne klare resten.

Betydningen af et Java-certifikat for vurderingen af udviklerens Java-færdigheder

Java-certifikater er normalt værdsat af arbejdsgiverne. Certificering er dog sjældent et krav til en ansøger. Som teknisk rekrutteringskonsulent skal man dog være forsigtig med at vurdere Java-programmeringskompetencer på baggrund af certifikater, da ingen af dem er en garanti for udviklerens evner.

Det sker meget ofte, at en meget erfaren programmør næsten ikke består certificeringseksamen, mens en svag programmør scorer godt i en sådan eksamen. Hvorfor er det sådan? Sådanne certifikater bekræfter næppe praktiske færdigheder. De kræver normalt, at man lærer ting udenad, som en mere erfaren udvikler hurtigt ville kunne finde i dokumentationen eller kunne kontrollere det. Med hurtigt mener jeg inden for nogle få sekunder ved hjælp af deres foretrukne IDE (software, som en programmør bruger til at arbejde på applikationer), som ikke er tilgængelig under eksamen. At man ikke kan bruge IDE giver i øvrigt ikke mening, for i det daglige bruger programmøren mange eksterne kilder, f.eks. IDE, til at udføre sit arbejde.

Nedenfor finder du en liste over Java-certificering opdelt i 3 grupper

A. Praktiske Java-certifikater, der kræver praktisk erfaring, som garanterer et indgående kendskab til emnet

Forårscertifikater:

- Forår Professionel,

- Spring Web Application Developer,

- Specialist i virksomhedsintegration.

B. Nyttige Java-certifikater kan tjene som et pålideligt bevis på viden

- Oracle Certified Master, Java SE 6 - kræver ret gode Java-færdigheder, men kun Java 1.6, som blev udgivet for 10 år siden (2006),

- Oracle Certified Expert, Java EE 6 Web Services Developer - kræver solid viden, men bekræfter ikke kommerciel erfaring, og kan derfor ikke tjene som en garanti for projektets succes,

- Oracle Certified Expert, Java EE 6 Java Persistence API Developer - kræver solid viden, men bekræfter ikke kommerciel erfaring, og kan derfor ikke tjene som en garanti for projektets succes,

- Oracle Certified Master, Java EE 6 Enterprise Architect - en kandidat forstår og kan anvende Java på arkitekturniveau,

- IBM WebSphere - kræver et solidt produktkendskab, men bekræfter ikke kommerciel erfaring, og kan derfor ikke tjene som en garanti for et vellykket projekt.

C. Java-certifikater - teoretisk viden, ikke meget brugbar i et forretningsperspektiv

- 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.

Andre oplysninger på et CV, der kan vise en udviklers Java-færdigheder

Deltagelse i open source-projekter er den information, der er værd at tage i betragtning. Hvis kandidaten bidrager til kendte og store projekter, kan det være af stor værdi. Det er også vigtigt, om en programmør har erfaring med lignende typer af it-projekter, som vi søger en medarbejder til. At skabe nye ting kræver et andet sæt af færdigheder og egenskaber end at vedligeholde dem.

Teknisk screening af Java-færdigheder under et teknisk interview pr. telefon/video

Da det er ret svært at drage pålidelige konklusioner om en kandidats programmeringsfærdigheder ud fra selve CV'et, gennemfører it-rekrutteringsfolk ofte et telefon- eller videointerview. Disse typer af interviews giver mulighed for at stille spørgsmål om deres Java-færdigheder. I mange virksomheder er et sådant teknisk telefon- eller videointerview grundlaget for at træffe en beslutning om, hvorvidt man skal invitere en person til et teknisk interview på stedet med et it-team eller ej, så det er værd at stille de rigtige tekniske spørgsmål.

Da spørgsmålene i sig selv kan variere afhængigt af den stilling, du rekrutterer til, og de specifikke færdigheder, du ønsker at kontrollere, vil jeg ud fra min erfaring anbefale følgende generelle spørgsmål til at finde ud af mere om kandidatens Java-færdigheder:

A. Java-interviewspørgsmål om udviklerens erfaring

  • Q1: Har du inden for de seneste 2 år haft kommerciel erfaring med de teknologier, der er anført i dit cv, inden for de seneste 2 år? Hvad var dit ansvarsområde? Hvad var din største præstation?
  • Hvorfor spørge Q1: Ved at stille dette spørgsmål kan du få mere at vide om kandidatens aktuelle Java-erfaring, ansvarsområder og resultater. På den måde lærer du din kandidat bedre at kende.

B.Java interview spørgsmålvedrørende bygherrens viden og udtalelser

  • Q2: Hvilke Java open source-biblioteker anser du for at være værdifulde og hvorfor?
  • Hvorfor spørge om Q2: Dette spørgsmål giver kandidaten mulighed for at demonstrere sin viden om Java-økosystemet. Desuden kan kandidaten påpege, hvad han tager hensyn til, når han vælger en bestemt teknologi. Som opfølgende spørgsmål kan man også spørge, hvad der efter hans mening er fordelene ved kommercielle løsninger i forhold til open source-løsninger og omvendt. Dette viser, hvordan kandidaten tænker.
  • Q3: Jeg har bemærket, at du har anført ramme X på dit cv. Hvad er din mening om det? Er det et godt valg?
  • Hvorfor spørge om Q3: Et sådant åbent spørgsmål giver kandidaten mulighed for at demonstrere sin viden, hvis han/hun har den. Du kan også spille djævelens advokat på baggrund af deres svar: "Men hvorfor ikke bruge ramme Y til det?". På den måde kan du se, hvordan kandidaterne vælger en teknologi, begrunder deres valg, og om deres holdninger stemmer overens med dine it-teams.

C.Java interview spørgsmålom udviklernes beslutningstagning vedrørende Java-teknologi

  • Q4: På hvilket stadium gik du ind i de seneste projekter? Var du involveret i valget af teknologi eller i projektets opbygning? Hvis ja, hvilken teknologi valgte eller anbefalede du til projektet og hvorfor?
  • Hvorfor spørge om Q4: Et sådant spørgsmål viser ikke kun, hvordan en kandidat træffer valg vedrørende teknologi, men også om de blev inddraget i beslutningerne. Det er især vigtigt, hvis du leder efter en person med erfaring.

D. Adfærdsspørgsmål til java-udvikler

  • Q5: Tænk på en beslutning om et programmeringsprojekt, som du har truffet, og som var en fiasko. Hvorfor tror du, at det var en fejl? Hvorfor skete det? Kunne der gøres noget anderledes for at gøre det til en succes? Hvilke skridt tog du for at forbedre situationen? Hvad lærte du af denne erfaring?
  • Hvorfor spørge om Q5: Den type spørgsmål vil hjælpe dig med at finde ud af, hvordan kandidaten opfatter sine beslutninger, hvordan han/hun drager konklusioner, og hvor meget han/hun lærer af sine tidligere erfaringer.

Teknisk screening af Java-udviklerens færdigheder med online kodningstest

Online kodningstests kan være en god måde at screene Java-udviklerens færdigheder på. Nedenfor finder du oplysninger om, hvordan du kan bruge programmeringstests, og hvilke tests du skal vælge.

Online Java-kodningstest - den primære eller supplerende metode til screening

I nogle virksomheder bruges programmeringstest som en yderligere metode til at screene kandidater, efter at CV'et er analyseret og der er gennemført telefon- eller videointerview. Flere og flere virksomheder anvender dog kodningstest som den første metode til screening af programmeringsevner. Det vil sige, at virksomheden inviterer alle kandidater, der søger en bestemt stilling, til at tage en test. På den måde bruger it-rekrutteringsselskabet på den ene side kun tid på de kandidater, der har bestået prøven, så de har bevist, at de har Java-programmeringskompetencer, og på den anden side viser en sådan kandidat større engagement, da de allerede har brugt deres tid på rekrutteringsprocessen og dermed er mere tilbøjelige til at deltage i alle dens faser.

Java online kodningstest - hvilken skal du vælge?

Men for at kunne screene præcist skal kodningstestene være de rigtige.

Der findes mange online Java-kodningsprøver på markedet, men normalt kontrollerer de kandidatens viden snarere end programmeringsfærdigheder og evner til at løse reelle kodningsproblemer. Derfor bryder mange erfarne programmører sig ikke om den slags vurderinger, og de kan desuden ikke få en god score, da de ikke kan vise deres erfaring og færdigheder i at løse reelle programmeringsproblemer.

Hvilke funktioner bør sådanne kodningstests have? Nedenfor finder du mine 5 vigtigste funktioner, som du bør kigge efter:

  1. Java-programmeringstests bør ikke kun kontrollere Java-udviklerens færdigheder med hensyn til teknologi generelt, men også rammer og biblioteker
  2. Java-kodningstests bør bestå af et par opgaver, ikke kun multiple-choice-tests, men først og fremmest programmeringsopgaver, hvis sværhedsgrad bør svare til de ansvarsområder, som kandidaterne vil få, hvis de får jobbet (testene bør ikke være baseret på algoritmiske opgaver, da du dermed ikke kan kontrollere, om en kandidat kan løse reelle kodningsopgaver).
  3. Java-programmeringsopgaven skal helst forberedes på en virksomheds kodebase, da dette er den bedste måde at efterligne de udfordringer, som kandidaten vil få, når han får jobbet.
  4. Der er ingen grund til at forbyde programmøren at bruge eksterne kilder, den bedste måde er at skabe et miljø, som det de har på arbejdet, så en åben eksamen er meget mere hensigtsmæssig. Desuden bør kandidaten kunne bruge sin foretrukne IDE, ligesom han gør det til daglig.
  5. Kodningstest kan også omfatte en opgave med udfordringer til gennemgang af kode for at teste Java-færdigheder. Det giver meget præcise oplysninger om kandidatens erfaring, deres tilgang til kodekvalitet og deres effektivitet i forbindelse med fejlfinding og finde fælder. En sådan vurdering bør være obligatorisk, når der ansættes Java seniorudviklere.

Java-interviewspørgsmål til 5, 10 og 15 års erfaring

Når du udarbejder Java-interviewspørgsmål til 5, 10 og 15 års erfaring, er det vigtigt at have en række spørgsmål, der ikke kun tjekker kandidatens akademiske viden, men også tester deres programmeringsfærdigheder. Vores screeningstests er i stand til at gøre dette ved at bruge problemer fra den virkelige verden snarere end gåder og algoritmiske tests. Dette giver dig mulighed for at verificere en udviklers færdigheder samt kendskab til frameworks og biblioteker. Hvis du ansætter til en junior-, mellem- eller seniorstilling, bør hver Java-test matche stillingen og indeholde Java-interviewspørgsmål for 5, 10 og 15 års erfaring. Dette kan gøres ved at bruge din virksomheds kodebase, så den kan matche det daglige arbejde i stillingen.

Java-udvikler interview spørgsmål

Det kan være svært at få en fuldstændig forståelse af en kandidats evner ud fra en algoritmisk test. Det skyldes, at den ikke nødvendigvis indeholder spørgsmål til Java-udviklerinterviews, som giver kandidaterne mulighed for at demonstrere deres nuværende færdigheder og viden. Algoritmiske tests er mest afhængige af kandidaternes universitetsuddannelse. Da Java-miljøet altid ændrer sig, giver det ikke udvikleren mulighed for at vise sine fulde evner og giver ikke et objektivt billede af hans færdigheder. Derfor kan kandidater droppe ud af ansættelsesprocessen, fordi de føler, at de ikke er blevet testet retfærdigt. Det er vigtigt at have spørgsmål til Java-udviklerinterviews baseret på virkelige opgaver, der vedrører den stilling, som du vil ansætte til. Devskiller-testene indeholder spørgsmål til Java-udviklerinterviews, der er baseret på virkelige situationer ved hjælp af vores RealLifeTesting-metodologi.

DevSkiller klar til brug online test til vurdering af Java-kodning

Hos DevSkiller giver vi virksomheder en infrastruktur, som giver dem mulighed for at bruge deres egen kodebase, hele it-projekter ved hjælp af frameworks og biblioteker, til at teste programmører online. Vi har dog også nogle færdige Java-kodningstests, som du kan bruge i din rekrutteringskampagne.

Java
MIDDLE
Testede færdigheder
Varighed
75 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Java og Spring Boot

Huller i koden

vurdering af viden om Java og MongoDB

Programmeringsopgave - Niveau: Medium

Java | MongoDB, Spring Boot | Flight searcher med MongoDB-cache - Implementer kode, der vil kunne forespørge flere flyselskaber om priser i henhold til kundens anmodning.

Android
JUNIOR
Testede færdigheder
Varighed
53 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Android,

Huller i koden

vurdering af viden om Android, Kotlin og Java

Programmeringsopgave - Niveau:

Android | Kotlin | Employees Application - Komplet app, der viser en liste over personer med ansvar for forskellige områder i virksomheden, f.eks. IT eller lønningsliste.

Java
JUNIOR
Testede færdigheder
Varighed
45 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Java, Forår, Vinterdvale

Programmeringsopgave - Niveau:

Java | Spring, Hibernate | Hottest pepper application - Implementer metoder i PepperDao klassen ved hjælp af Spring og Hibernate.

Forår
JUNIOR
Testede færdigheder
Varighed
35 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Java, Forår

Programmeringsopgave - Niveau:

Java | Spring | Valutavekslingstjeneste - Opret en valutavekslingstjeneste. Den skal gøre det muligt for brugerne at hente oplysninger om valutakurser og beregne det beløb, de får efter vekslingen.

Java
JUNIOR
Testede færdigheder
Varighed
35 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Java, Forår

Programmeringsopgave - Niveau:

Java | Kafka | Flybilletter reservationer - Implementer tjenesten til validering af datakvalitet, som modtages fra rejsebureauerne.

Spring Boot
JUNIOR
Testede færdigheder
Varighed
54 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Java, Spring Boot

Huller i koden

vurdering af viden om Java

Programmeringsopgave - Niveau:

Java | Spring Boot | HATEOAS Bike Station - Færdiggør implementeringen af HATEOAS til REST API'et.

Java
JUNIOR
Testede færdigheder
Varighed
120 minutter max.
Evaluering
Automatisk
Testoversigt

Front End-programmeringsopgave - Niveau: Let

JavaScript | TypeScript | Fakturaapplikation - frontend - Implementer frontend-delen til sammenlægning og aggregering af fakturadata med valutakurser.

Back End programmeringsopgave - Niveau: Let

Java | Fakturaapplikation - backend - Implementer backend-delen til søgning og aggregering af fakturadata med tjenesten og DAO-metoderne.

QA
SENIOR
Testede færdigheder
Varighed
49 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om QA, Test af enheder, Manuel testning, Afprøvning

Programmeringsopgave - Niveau: svær

QA | Java, Selenium | Automatisering af test af multifaktor-autentificering - Automatiser autentificeringsmekanismen i Selenium.

Del indlæg

Få mere at vide om ansættelse af teknologiske medarbejdere

Tilmeld dig vores Learning Hub for at få nyttig viden direkte i din indbakke.

Kontroller og udvikl kodningsevner uden problemer.

Se DevSkiller-produkterne i aktion.

Sikkerhedscertificeringer og overholdelse. Vi sørger for, at dine data er sikre og beskyttede.

DevSkiller-logo TalentBoost-logo TalentScore-logo