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.

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

Frågor om valmöjligheter

bedömning av kunskaper om Matematik, Probability, Soft Skills, Cybersäkerhet, Vulnerabilities, Web Security

Luckor i koden

bedömning av kunskaper om Cybersäkerhet, Netcat, Reverseshell, Nmap, Portscan, Curl, Password, Protection

Testuppgift - Nivå:

Cybersecurity | XSS Pastebin - In this challenge the contestant is given a task with a pastebin page which is prone to the XSS vulnerability at the administrator's portal. This enables the attacker to impersonate the administrator without knowing correct credentials.

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

Frågor om valmöjligheter

bedömning av kunskaper om JavaScript

Luckor i koden

bedömning av kunskaper om JavaScript

Programmeringsuppgift - Nivå:

JavaScript | Office Game - Tic Tac Toe - Finish a modified version of the popular TicTacToe game.

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

Frågor om valmöjligheter

bedömning av kunskaper om JavaScript

Luckor i koden

bedömning av kunskaper om JavaScript

Programmeringsuppgift - Nivå:

JavaScript | Word search - Initialize the WordSearch object to hold the letterGrid and implement the find method that will search a given grid in all directions.

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

Frågor om valmöjligheter

bedömning av kunskaper om JS, JavaScript, React

Luckor i koden

bedömning av kunskaper om JavaScript, React

Programmeringsuppgift - Nivå:

JavaScript | React, Class Components, Enzyme | Search-Engine Application - Implement an application to search and filter products in an online shop.

Node.JS
MIDDLE
Testade färdigheter
Varaktighet
87 minuter max.
Utvärdering
Automatisk
Översikt över testet

Frågor om valmöjligheter

bedömning av kunskaper om JavaScript, Node.JS

Luckor i koden

bedömning av kunskaper om JavaScript, Node.JS, SQL

Programmeringsuppgift - Nivå:

Node.JS | Rest API | News backend service - Implement a news backend service created in Node.JS with Vanilla JS including writing authorization and Rest APIs.

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

Frågor om valmöjligheter

bedömning av kunskaper om Typsnitt

Luckor i koden

bedömning av kunskaper om JavaScript, React

Frågor om valmöjligheter

bedömning av kunskaper om HTML, CSS

Programmeringsuppgift - Nivå:

TypeScript | React Hooks | Movies State Management - Komplett program för hantering av filmer med hjälp av React Hooks genom att implementera state management i befintliga vyer.

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

Frågor om valmöjligheter

bedömning av kunskaper om JavaScript, Redux

Luckor i koden

bedömning av kunskaper om HTML, HTML5, CSS

Programmeringsuppgift - Nivå:

JavaScript | Redux Selectors | HR Department Training - Implementera redux reducers och selectors korrekt.

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

Frågor om valmöjligheter

bedömning av kunskaper om React Native

Luckor i koden

bedömning av kunskaper om JavaScript, React Native

Programmeringsuppgift - Nivå:

React Native | Cheeper - en ny app för sociala medier - Slutför implementeringen så att grundläggande sociala kontakter blir möjliga.

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

Frågor om valmöjligheter

bedömning av kunskaper om Angular, JavaScript, Typsnitt

Programmeringsuppgift - Nivå:

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

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

Frågor om valmöjligheter

bedömning av kunskaper om JavaScript, Typsnitt

Luckor i koden

bedömning av kunskaper om JavaScript, Typsnitt

Programmeringsuppgift - Nivå:

TypeScript | NestJS | My Barista App - Coffee Recommendation - Implementera NestJS REST-tjänst för att betygsätta och rekommendera kaffetyper.

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