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

Udgivet: Sidst opdateret:
JavaScript: spørgsmål til interview med softwareingeniører

1. Hvad er JavaScript?

JavaScript (også kendt som JS) er et dynamisk, prototypebaseret sprog på højt niveau, der ikke er typetypet og dynamisk. Afhængigt af miljøet kan JavaScript fortolkes eller kompileres. Det er et programmeringssprog med flere paradigmer, der understøtter objektorienterede, imperative og funktionelle programmeringsstile.

JavaScript startede som et sprog kun til browsere og tilføjede mange muligheder for at forbedre websteder, der allerede er skrevet med HTML og CSS. I 2009 ændrede alt sig. Nu kan JavaScript bruges overalt (bogstaveligt talt overalt, selv i rumdragter) på grund af Node.js - som er et JavaScript-køringstidsmiljø baseret på Googles V8 JavaScript Engine. Applikationer, der er skrevet i JavaScript, kan være meget hurtige, hvis de er lavet af dygtige udviklere. På grund af det meget lave indgangsniveau i JavaScript-verdenen er det nu en af de mest populære sprog i brug.

Husk: Java og JavaScript er ikke det samme programmeringssprog. Udviklere er følsomme over for deres yndlingssprog, så det er meget vigtigt ikke at forveksle navnene.

2. Hvad er vigtigt for it-ansatte at vide om JavaScript?

Efterspørgslen efter JavaScript-udviklere stiger meget hurtigt. Der er et par ting, du bør vide, når du leder efter en JS-udvikler.

- Som jeg tidligere har nævnt, er JavaScript meget let at lære. Med få linjer kode kan du ændre hjemmesidens adfærd eller lave en simpel HTTP-server med Node.js. Og det er også JavaScript's faldgrube - mange udviklere lærer kun små dele af sproget bare for at få tingene gjort. For at skrive hurtige applikationer af høj kvalitet skal du have et meget godt kendskab til selve JavaScript.

- Der er et ordsprog i JavaScript-verdenen, der siger: "En dag uden nye JavaScript-rammer er en tabt dag". Nye værktøjer dukker op som svampe i regnvejr. Jeg fordømmer ikke dette - tværtimod - jeg opfordrer det. Dette fænomen viser os, hvor kreativt og passioneret JavaScript-fællesskabet er. Men en sådan tilstand har én stor ulempe - vi kræver af udviklerne viden om de rammer, der netop er blevet oprettet. Et meget godt kendskab til populære frameworks er vigtigt for at skrive effektive JavaScript-applikationer hurtigt, men det er bedre at have en udvikler med stor erfaring med ren JavaScript og ældre frameworks eller biblioteker til at lære nyt værktøj end at have en udvikler, der blindt følger med i det nye uden en dyb forståelse af sproget.

- På den anden side er det nogle gange ikke nok med ren JavaScript. Du kan lave alting fra bunden, men det er tidskrævende, og som vi alle ved - tid er penge. En god JavaScript-udvikler bør kende mindst ét populært, gennemprøvet framework eller bibliotek. Og da økosystemet konstant ændrer sig, kan viden om værktøjer, der blev brugt for 2-3 år siden, være forældet.

- Du skal vide, hvilken type JavaScript-udvikler du leder efter - er det en person, der skal indgå i Front-end-teamet? Eller er det en person, der skal arbejde med server-side applikationer?

Eller måske er det en person, der skal arbejde med hybride mobilapplikationer eller Internet of Things-enheder? Den grundlæggende sprogforståelse er den samme i disse tilfælde. Men hver enkelt af disse udviklere bør have forskellig viden i forbindelse med deres arbejdsområde.

- For stillinger på højt niveau er kommerciel erfaring påkrævet, men for junior- eller endda mellemniveauudviklere kan en interessant portefølje med en velskrevet kode på en af de populære hostingtjenester for repositorier (såsom GitHub) være lige så god. Bonuspoint, hvis en kandidat bidrager til Open Source-projekter.

3. Hvordan kan man kontrollere JavaScript-færdigheder i screeningsfasen?

Det er svært at screene, når du ikke kender de teknologier, som udviklerne bruger. Det er endnu sværere, når alting ændrer sig så hurtigt som i JavaScript-økosystemet. Så lad os gå videre til et par praktiske rekrutteringstips til at verificere JavaScript-udvikleres færdigheder.

3.1 Teknisk screening af JavaScript-færdigheder på baggrund af CV

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

Kandidatens CV kan fortælle os en masse nyttige oplysninger, men du skal vide, hvordan du udvælger det vigtigste. Der er mange forskellige tekniske sætninger på hvert CV, og det er meget vigtigt ikke at blive forvirret af dem. Som teknisk rekrutteringsansvarlig, der leder efter JavaScript Developer, skal du være bekendt med alle de terminologier, som kandidaterne bruger.

Du finder nyttige oplysninger nedenfor - de vil hjælpe dig med at bevare din fornuft, mens du screener.

JavaScript-ordliste for tekniske rekrutteringsfolk

JavaScript-versioner EcmaScript 5 (ES5 - tilgængelig overalt), EcmaScript 6 (ES6 - tilgængelig i de nyeste browsere), EcmaScript 2016 (ES7 )
JavaScript-rammer og -biblioteker Angular.js, jQuery, React, Backbone, Ember, Vue.js, Polymer, Aurelia, Knockout, Rx.js
JavaScript-rammer til Node.js Express.js, Hapi.js, Koa, Sails, Meteor
Node.js-pakkeadministratorer NPM, Bower, JSPM
Node.js-baserede task runners og build-værktøjer Gulp, Grunt, Broccoli, Webpack
Rammer til JavaScript-testning Casper, Mocha, Jasmin, Jest, Karma
JavaScript transpilers Traceur, Babel
Rammer for hybride mobile apps Sencha Touch, Ionic, Apache Cordova, IntelXDK
JavaScript-supersæt eller sprog, der kompileres til JavaScript TypeScript, CoffeScript, Elm, Dart

Dette er det grundlæggende. Nu kan vi gå dybere. Der findes en lang række værktøjer, rammer og biblioteker, og de er alle forskellige. For at gøre tingene mere krydret kan der være store forskelle i værktøjsversioner. Hvis en kandidat oplyser, at han/hun kender AngularJS, er det så en version af rammen, som vores kunde leder efter? Fortsæt med at læse, så vil alt blive klart.

De mest almindelige JavaScript-navne, der bruges i flæng:

- JS, JavaScript, EcmaScript

- Node.js, Node, Server-side JavaScript-køremiljø

- Hybrid applikation, hybrid mobilapplikation, hybrid app, hybrid app

Forholdet mellem de respektive versioner af JavaScript-teknologi:

- EcmaScript 6 udvider EcmaScript 5 (JavaScripts skal være bagudkompatible, ellers ville nye versioner ødelægge internettet)

- jQuery 1.x , 2.x og 3.x er ens

- Angular 1.x er helt anderledes end Angular 2.x

- Kernekonceptet er det samme, men der er forskelle mellem hver større version af React

- Vue 1.x er helt anderledes end Vue 2.x

- Programmer, der er skrevet med Ember.js 1.x, fungerer stadig med 2.x

- Kernekonceptet er det samme, men der er forskelle mellem de enkelte større versioner af Node.js

- NPM 3.x er en mere omfattende version af NPM 2.x

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

- MV* Frameworks - Hvis nogen kender et af Ember, Knockout eller Angular 1.x, vil de kunne håndtere resten

- Hybride mobilapplikationer - Hvis nogen kender Angular eller React, vil de kunne lave hybride mobilapplikationer

- Server-side applikationer - Hvis nogen kender Express, Hapi, Koa eller Meteor, vil de være i stand til at håndtere resten

Andre oplysninger på CV'et, der kan vise udviklerens JavaScript-færdigheder:

Da JavaScript-verdenen er under konstant forandring, findes der ingen certifikater, der kan bevise kandidatens færdigheder. Der er dog et. Og det er en GitHub-konto. Gode JavaScript-udviklere deltager ofte i Open Source-projekter som bidragydere eller laver selv software til gavn for det fælles bedste. I et sådant miljø er de udsat for andre udviklere, som konstant kontrollerer kvaliteten af deres kode. At dele sin kode med andre er den bedste måde at blive en bedre udvikler på.

Et andet aspekt er deltagelse som taler på JavaScript-konferencer. Meget ofte inviteres udviklere med meget store kompetencer inden for et bestemt område til forskellige steder for at fortælle om deres erfaringer med disse teknologier.

3.2 Teknisk screening af JavaScript-færdigheder under teknisk interview pr. telefon/video

Et CV kan fortælle os noget om udviklerens færdigheder, men det fortæller ikke noget om udvikleren selv. Det er derfor, at interviews via telefon eller videokonference er så populære - færdigheder er vigtige, men vi skal vide, hvilken slags person vi har med at gøre - og endnu vigtigere - hvilken slags person kan vores kundes teamwork være. Derfor er det nødvendigt med en ordentlig forberedelse før et interview.

Nedenfor finder du nogle få eksempler på spørgsmål, som vil fortælle dig mere om kandidaten. Jeg håber, at de vil gøre det lettere at finde den rette kandidat.

  1. Spørgsmål til JavaScript-interview om udviklerens erfaring

Q1: Har du kommerciel erfaring med de teknologier, der er anført i dit CV, inden for de seneste 2 år? Hvad var dit ansvarsområde?

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.

  1. JavaScript-interviewspørgsmål om udviklerens viden og holdninger

Q2: Hvilke JavaScript-biblioteker anser du for at være værdifulde og hvorfor?

Hvorfor spørge om Q2: Dette spørgsmål viser kandidatens viden om JavaScript-økosystemet. Vi kan se alt vedrørende valg af teknologi.

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: Disse spørgsmål viser os viden om en bestemt teknologi. Usikre og usikre svar kan hjælpe os med at finde løgne i et cv. 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 hans holdninger er på linje med dine it-teams.

Q4: Hvis du gerne ville lære en ny teknologi i forbindelse med JavaScript, hvad ville det så være?

Hvorfor spørge om Q4: Svaret på dette spørgsmål viser kandidaternes tilgang til læring og kan hjælpe os med at finde udviklere, der stadig bruger forældet viden fra tidligere.

  1. Java-interviewspørgsmål om udviklerens beslutningstagning vedrørende JavaScript-teknologi

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

  1. Adfærdsspørgsmål til JavaScript-udvikler

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

Q7: Bidrager du til et open source-projekt eller vedligeholder du måske dit eget open source-projekt? Deltager du i nogen JavaScript-konferencer?

Hvorfor spørge om Q7: Spørgsmål som disse viser os, om en kandidat har lyst til at dele sin viden og ønsker at være en vigtig del af JavaScript-økosystemet. Folk med en stærk vilje til at dele deres erfaring er ofte gode holdspillere.

Se vores komplette Løn til JavaScript-udvikler vejledning.

Forfatter - Mateusz Rojecki Front-end Developer @ Kodningslaboratorium

KodningslaboratoriumCoders Lab (www.coderslab.pl) er den største kodningsskole i Polen, som er aktiv i Warszawa, Crakow, Katowice, Wrocław, Poznań og Łódź. I løbet af seks ugers bootcamp lærer de studerende webudviklingsteknologier: front-end eller back-end. Vores undervisningsmetoder fokuserer på 4 områder: praksis, arbejde med mentor, opbygning af elevens portfolio og karrierestøtte. Vi tilpasser programmet til markedets aktuelle teknologiske behov for at støtte videnbaseret uddannelse. Over 300 studerende har afsluttet bootcamps.

DevSkiller er klar til brug online test til vurdering af JavaScript-kodning

DevSkiller hjælper virksomheder i it-ansættelsesprocessen ved at give dem en infrastruktur, der giver dem mulighed for at teste kandidaternes programmeringsfærdigheder i et miljø, der efterligner den første dag på arbejdspladsen. Vi giver virksomheder 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 JavaScript-kodningstests, som du kan bruge i din tekniske rekrutteringskampagne.

React
MIDDLE
Testede færdigheder
Varighed
96 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om JavaScript, React,

Huller i koden

vurdering af viden om JavaScript, React, ES6

Programmeringsopgave - Niveau: Medium

JavaScript | React, Class Components, Enzyme | Contact Form - Færdiggør implementeringen af en simpel React-formularapplikation.

sikkerhed
JUNIOR
Testede færdigheder
Varighed
46 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Matematik, Sandsynlighed, Bløde færdigheder, Cybersikkerhed, Sårbarheder, Websikkerhed

Huller i koden

vurdering af viden om Cybersikkerhed, Netcat, Vendeskal, Nmap, Portscan, Krølle, Adgangskode, Beskyttelse

Testopgave - Niveau:

Cybersikkerhed | XSS Pastebin - I denne udfordring får deltageren en opgave med en pastebin-side, som er udsat for XSS-sårbarhed på administratorens portal. Dette gør det muligt for angriberen at udgive sig for at være administrator uden at kende de korrekte legitimationsoplysninger.

JavaScript
JUNIOR
Testede færdigheder
Varighed
51 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om JavaScript

Huller i koden

vurdering af viden om JavaScript

Programmeringsopgave - Niveau:

JavaScript | Word search - Initialiser WordSearch-objektet til at indeholde letterGrid og implementer find-metoden, der søger i et givent gitter i alle retninger.

React
JUNIOR
Testede færdigheder
Varighed
39 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om JS, JavaScript, React

Huller i koden

vurdering af viden om JavaScript, React

Programmeringsopgave - Niveau:

JavaScript | React, Class Components, Enzyme | Search-Engine Application - Implementer en applikation til at søge og filtrere produkter i en online shop.

Node.JS
MIDDLE
Testede færdigheder
Varighed
87 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om JavaScript, Node.JS

Huller i koden

vurdering af viden om JavaScript, Node.JS, SQL

Programmeringsopgave - Niveau: Medium

Node.JS | Rest API | Nyhedsbackend-tjeneste - Implementer en nyhedsbackend-tjeneste oprettet i Node.JS med Vanilla JS, herunder skriveautorisering og Rest API'er.

TypeScript
JUNIOR
Testede færdigheder
Varighed
51 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Typeskrift

Huller i koden

vurdering af viden om JavaScript, React

Spørgsmål efter valg

vurdering af viden om HTML, CSS

Programmeringsopgave - Niveau:

TypeScript | React Hooks | Movies State Management - Komplet program til administration af film ved hjælp af React Hooks ved at implementere state management i eksisterende visninger.

JavaScript
MIDDLE
Testede færdigheder
Varighed
62 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om JavaScript, Redux

Huller i koden

vurdering af viden om HTML, HTML5, CSS

Programmeringsopgave - Niveau: Medium

JavaScript | Redux Selectors | HR Department Training - Implementer redux redux reducers og selectors korrekt.

React Native
MIDDLE
Testede færdigheder
Varighed
107 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om React Native

Huller i koden

vurdering af viden om JavaScript, React Native

Programmeringsopgave - Niveau: Medium

React Native | Cheeper - en ny app til sociale medier - Færdiggør implementeringen, så grundlæggende socialisering er mulig.

Vinkelformet
MIDDLE
Testede færdigheder
Varighed
77 minutter max.
Evaluering
Automatisk
Testoversigt

Spørgsmål efter valg

vurdering af viden om Vinkelformet, JavaScript, Typeskrift

Programmeringsopgave - Niveau: Medium

JavaScript | Angular | Notepad App - Komplet simpel noteapplikation ved hjælp af den medfølgende NotesService til at gemme og læse noter.

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