Hur du granskar JavaScript-utvecklarens färdigheter för att hitta de bästa - guide för IT-rekrytering

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

1. Vad är JavaScript?

JavaScript (även kallat JS) är ett dynamiskt, prototypbaserat, otyperat språk på hög nivå. Beroende på miljön kan JavaScript tolkas eller kompileras. Det är ett programmeringsspråk med flera paradigmer som stöder objektorienterade, imperativa och funktionella programmeringsstilar.

JavaScript började som ett språk som endast fanns i webbläsaren och gav många möjligheter att förbättra webbplatser som redan är skrivna med HTML och CSS. År 2009 förändrades allting. Nu kan JavaScript användas överallt (bokstavligen överallt), även i rymddräkter) på grund av Node.js - som är en JavaScript-körtidsmiljö baserad på Googles V8 JavaScript Engine. Applikationer som är skrivna i JavaScript kan vara mycket snabba om de görs av skickliga utvecklare. På grund av den mycket låga instegsnivån i JavaScript-världen är det nu en av följande de mest populära språken som används.

Kom ihåg: Java och JavaScript är inte samma programmeringsspråk. Utvecklare är känsliga för sina favoritspråk, så det är mycket viktigt att inte blanda ihop namnen.

2. Vad är viktigt för IT-rekryterare att veta om JavaScript?

Efterfrågan på JavaScript-utvecklare ökar mycket snabbt. Det finns några saker du bör veta när du letar efter en JavaScript-utvecklare.

- Som jag tidigare nämnt är JavaScript mycket lätt att lära sig. Med några få rader kod kan du ändra webbplatsens beteende eller göra en enkel HTTP-server med Node.js. Och detta är också JavaScript:s fallgrop - många utvecklare lär sig bara små delar av språket bara för att få saker gjorda. För att skriva högkvalitativa och snabba program måste du ha mycket goda kunskaper om själva JavaScript.

- Det finns ett talesätt i JavaScript-världen: "En dag utan nytt JavaScript-ramverk är en förlorad dag". Nya verktyg dyker upp som svampar i regnigt väder. Jag fördömer inte detta - tvärtom - jag uppmuntrar det. Detta fenomen visar hur kreativt och passionerat JavaScript-communityt är. Men ett sådant tillstånd har en stor nackdel - vi kräver av utvecklarna kunskap om ramverk som just har skapats. Mycket goda kunskaper om populära ramverk är viktiga för att snabbt skriva effektiva JavaScript-applikationer, men det är bättre att ha en utvecklare med stor erfarenhet av ren JavaScript och äldre ramverk eller bibliotek för att lära sig nya verktyg än att ha en utvecklare som blint följer vad som är nytt utan djup förståelse för språket.

- Å andra sidan räcker det ibland inte med ren JavaScript. Du kan göra allt från grunden, men det är tidskrävande och som vi alla vet är tid pengar. En bra JavaScript-utvecklare bör känna till minst ett populärt och beprövat ramverk eller bibliotek. Och eftersom ekosystemet ständigt förändras kan kunskap om verktyg som användes för 2-3 år sedan vara inaktuell.

- Du måste veta vilken typ av JavaScript-utvecklare du letar efter - är det någon som ska ingå i Front-end-teamet? Eller är det någon som kommer att arbeta med applikationer på serversidan?

Eller kanske är det någon som kommer att arbeta med hybridmobilapplikationer eller Internet of Things-enheter? Den grundläggande språkförståelsen är densamma i dessa fall. Var och en av dessa utvecklare bör dock ha olika kunskaper som är relaterade till deras arbetsområde.

- För tjänster på hög nivå krävs kommersiell erfarenhet, men för juniora utvecklare eller till och med utvecklare på mellannivå kan en intressant portfölj med en välskriven kod på en av de populära värdtjänsterna för arkiv (t.ex. GitHub) vara lika bra. Bonuspoäng om en kandidat bidrar till projekt med öppen källkod.

3. Hur kontrollerar man JavaScript-färdigheter i screeningfasen?

Det är svårt att göra screening när du inte känner till den teknik som används av utvecklarna. Det är ännu svårare när allt förändras så snabbt som i JavaScript-ekosystemet. Låt oss därför gå över till några praktiska rekryteringstips för att kontrollera JavaScript-utvecklarnas färdigheter.

3.1 Teknisk screening av JavaScript-färdigheter baserat på CV

JavaScript-teknik - grundläggande ordlista över JavaScript-termer för IT-rekryterare

Kandidatens CV kan ge oss mycket användbar information, men du måste veta hur du väljer ut vad som är viktigast. Det finns många olika tekniska fraser i varje CV och det är mycket viktigt att inte bli förvirrad av dem. Som teknisk rekryterare som letar efter JavaScript-utvecklare måste du känna till all terminologi som kandidaterna använder.

Nedan hittar du nyttig information som kan hjälpa dig att behålla ditt förnuft när du granskar.

JavaScript-ordlista för tekniska rekryterare

JavaScript-versioner EcmaScript 5 (ES5 - tillgängligt överallt), EcmaScript 6 (ES6 - tillgängligt i de senaste webbläsarna), EcmaScript 2016 (ES7 )
Ramverk och bibliotek för JavaScript Angular.js, jQuery, React, Backbone, Ember, Vue.js, Polymer, Aurelia, Knockout, Rx.js
JavaScript-ramverk för Node.js Express.js, Hapi.js, Koa, Sails, Meteor
Node.js-pakethanterare NPM, Bower, JSPM
Node.js-baserade uppgiftslöpare och byggverktyg Gulp, Grunt, Broccoli, Webpack
Ramverk för JavaScript-testning Casper, Mocha, Jasmine, Jest, Karma
JavaScript transpilers Traceur, Babel
Ramverk för hybrida mobilappar Sencha Touch, Ionic, Apache Cordova, IntelXDK
JavaScript-supersets eller språk som kompileras till JavaScript TypeScript, CoffeScript, Elm, Dart

Detta är grunderna. Nu kan vi gå djupare. Det finns en mängd olika verktyg, ramverk och bibliotek och alla är olika. För att göra saker och ting ännu mer kryddiga kan det finnas stora skillnader i verktygsversioner. Om en kandidat uppger att han eller hon kan AngularJS, är det då en version av ramverket som vår kund söker? Fortsätt att läsa så kommer allt att bli tydligt.

Vanligaste JavaScript-namn som används omväxlande:

- JS, JavaScript, EcmaScript

- Node.js, Node, serverbaserad JavaScript-körtidsmiljö för JavaScript

- Hybridapplikation, hybrid mobilapplikation, hybridapplikation

Förhållandet mellan olika versioner av JavaScript-teknik:

- EcmaScript 6 utökar EcmaScript 5 (JavaScripts måste vara bakåtkompatibla, annars skulle nya versioner förstöra webben).

- jQuery 1.x , 2.x och 3.x är likadana.

- Angular 1.x är helt annorlunda än Angular 2.x.

- Grundkonceptet är detsamma, men det finns skillnader mellan de olika större versionerna av React.

- Vue 1.x är helt annorlunda än Vue 2.x.

- Program som skrivits med Ember.js 1.x fungerar fortfarande med 2.x

- Grundkonceptet är detsamma, men det finns skillnader mellan varje större version av Node.js.

- NPM 3.x är en rikare version av NPM 2.x

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

- MV* Ramverk - Om någon känner till Ember, Knockout eller Angular 1.x kan han/hon hantera resten.

- Mobila hybridapplikationer - Om någon känner till Angular eller React kan han/hon göra mobila hybridapplikationer.

- Applikationer på serversidan - Om någon känner till Express, Hapi, Koa eller Meteor kan han/hon hantera rest.

Annan information i CV:t som kan visa utvecklarens JavaScript-färdigheter:

På grund av den ständiga förändringen av JavaScript-världen finns det inga certifikat som kan bevisa kandidatens färdigheter. Men det finns ett. Och det är GitHub-kontot. Bra JavaScript-utvecklare deltar ofta i Open Source-projekt som bidragsgivare eller gör programvara på egen hand för det allmänna bästa. I en sådan miljö utsätts de för andra utvecklare som ständigt kontrollerar deras kodkvalitet. Att dela sin kod med andra är det bästa sättet att bli en bättre utvecklare.

En annan aspekt är att delta som talare i JavaScript-konferenser. Mycket ofta bjuds utvecklare med mycket hög kompetens inom ett visst område in till olika platser för att tala om sina erfarenheter av dessa tekniker.

3.2 Teknisk screening av JavaScript-färdigheter under teknisk intervju per telefon/video

Ett CV kan berätta något om utvecklarens färdigheter, men det säger ingenting om utvecklaren själv. Det är därför intervjuer via telefonsamtal eller videokonferens är så populära - färdigheter är viktiga, men vi måste veta vilken typ av person vi har att göra med - och ännu viktigare - med vilken typ av person kan vår kunds teamarbete vara. Det är därför som det krävs ordentliga förberedelser före en intervju.

Nedan hittar du några exempel på frågor som ger dig mer information om kandidaten. Jag hoppas att de gör det lättare att söka efter rätt kandidat.

  1. Intervjufråga om JavaScript om 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?

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.

  1. Intervjufrågor om JavaScript som rör utvecklarens kunskaper och åsikter

Q2: Vilka JavaScript-bibliotek anser du vara värdefulla och varför?

Varför fråga Q2: Den här frågan visar kandidatens kunskaper om JavaScript-ekosystemet. Vi kan se hela den här frågan om att välja teknik.

Q3: Jag har noterat att du har angett ram X på ditt CV. Vad anser du om det? Är det ett bra val?

Varför fråga Q3: Dessa frågor visar oss kunskap om en viss teknik. Osäkra och osäkra svar kan hjälpa oss att hitta lögner i ett CV. 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 en teknik, motiverar sina val och om hans åsikter stämmer överens med era IT-team.

Q4: Om du skulle vilja lära dig en ny teknik med anknytning till JavaScript, vilken skulle det vara?

Varför frågar du Q4: Svaret på den här frågan visar kandidaternas inställning till lärande och kan hjälpa oss att hitta utvecklare som fortfarande använder föråldrade kunskaper från tidigare.

  1. Intervjufråga om Java-intervju om utvecklarens beslutsfattande om JavaScript-teknik

Q5: 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 ställa frågan Q5: En sådan fråga visar inte bara hur kandidaten gör teknikval, utan också om de har varit delaktiga i beslutsfattandet. Särskilt viktigt om du söker någon med erfarenhet.

  1. Beteendefråga för JavaScript-utvecklare

Q6: 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 fråga Q6: 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.

Q7: Bidrar du till något projekt med öppen källkod eller underhåller du ditt eget projekt med öppen källkod? Deltar du i några JavaScript-konferenser?

Varför frågar du Q7: Frågor som dessa visar om kandidaten vill dela med sig av sina kunskaper och vill vara en viktig del av JavaScript-ekosystemet. Personer med en stark vilja att dela med sig av sina erfarenheter är ofta bra lagspelare.

Kolla in vår kompletta Lön för JavaScript-utvecklare guide.

Författare - Mateusz Rojecki Front-end Developer @ Labb för kodare

Labb för kodareLabbet för kodare (www.coderslab.pl) är den största kodningsskolan i Polen som är verksam i Warszawa, Crakow, Katowice, Wrocław, Poznań och Łódź. Under sex veckors bootcamp lär sig studenterna webbutvecklingsteknik: front-end eller back-end. Våra undervisningsmetoder fokuserar på fyra områden: praktik, arbete med mentor, bygga upp studentens portfölj och karriärstöd. Vi anpassar programmet till marknadens aktuella teknikbehov för att stödja kunskapsbaserad utbildning. Över 300 studenter har tagit examen från bootcamps.

DevSkiller är redo att användas för bedömningstester för JavaScript-kodning online

DevSkiller hjälper företag i IT-rekryteringsprocessen genom att förse dem med en infrastruktur som gör att de kan testa kandidaternas programmeringsfärdigheter i en miljö som efterliknar den första dagen på jobbet. Vi låter företagen 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 JavaScript-kodningstester som du kan använda i din tekniska rekryteringskampanj.

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

Programmeringsuppgift - Nivå: Svårt

HTML/CSS | Startsida - Komplettera CSS-egendomsdefinitioner så att sidan visar den lämpliga splash loader-skärmen innan den visar startsidan.

Programmeringsuppgift - Nivå: Svårt

JavaScript | Funktionell memotisering - Skriv de två versionerna av den generiska memotiseringsmekanismen.

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

Frågor om valmöjligheter

bedömning av kunskaper om Angular, JavaScript

Luckor i koden

bedömning av kunskaper om Angular, JavaScript

Programmeringsuppgift - Nivå:

JavaScript | Angular | Reactive forms - Förbered ett registreringsformulär med hjälp av Reactive forms

Angular 2+
SENIOR
Testade färdigheter
Varaktighet
53 minuter max.
Utvärdering
Automatisk
Översikt över testet

Luckor i koden

bedömning av kunskaper om Angular2+, JavaScript

Frågor om valmöjligheter

bedömning av kunskaper om HTML

Programmeringsuppgift - Nivå: Svårt

JavaScript | Angular 2+ | Router Rollbaserad åtkomstkontroll - Förbered en enkel RBAC för rutter och komponenter.

Vue.js
JUNIOR
Testade färdigheter
Varaktighet
55 minuter max.
Utvärdering
Automatisk
Översikt över testet

Frågor om valmöjligheter

bedömning av kunskaper om JavaScript, Vue.js

Programmeringsuppgift - Nivå:

JavaScript | Vue.js | Notepad - Komplettera en enkel anteckningsapplikation med hjälp av den medföljande NotesService för att spara och läsa anteckningar.

Vue.js
MIDDLE
Testade färdigheter
Varaktighet
70 minuter max.
Utvärdering
Automatisk
Översikt över testet

Frågor om valmöjligheter

bedömning av kunskaper om JavaScript, Vue.js

Programmeringsuppgift - Nivå:

JavaScript | Vue.js | Kontaktformulär - Gör klart formuläret så att det har alla följande funktioner: användaren kan logga in, så att namn och e-post fylls i efter att formuläret har skickats ska ett "Tack"-meddelande visas.

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

Frågor om valmöjligheter

bedömning av kunskaper om Typsnitt

Programmeringsuppgift - Nivå:

TypeScript | Redux Selectors | HR Department - Implementera Redux Selectors som behandlar HR-data. Genomförandet kommer att testas mot snapshot-tester.

Vue.js
JUNIOR
Testade färdigheter
Varaktighet
65 minuter max.
Utvärdering
Automatisk
Översikt över testet

Frågor om valmöjligheter

bedömning av kunskaper om JavaScript, HTML, CSS

Programmeringsuppgift - Nivå:

JavaScript | Vue.js | Kalenderanteckningar - Implementera en applikation där användaren kan lägga till en anteckning för ett datum som de väljer i en kalender.

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

Frågor om valmöjligheter

bedömning av kunskaper om Angular2+, JavaScript, rxjs

Programmeringsuppgift - Nivå:

JavaScript | Angular 2+ | Virtuell kortinnehavare - Anslut komponenter i den virtuella kortinnehavaren med hjälp av en tjänst, RxJS och Angulars @Input.

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

Programmeringsuppgift - Nivå: Svårt

JavaScript | React, Redux | Adressbok - Implementera saknade funktioner i en liten React-webbapplikation byggd på Redux.

Programmeringsuppgift - Nivå:

JavaScript | Node.js | Adressbok - Implementera ändpunkter för att hämta listan över kontakter (med fasmatchning och begränsning av resultat), hämta information om en enskild kontakt och ta bort den givna kontakten.

Luckor i koden

bedömning av kunskaper om MongoDB

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.

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