Jak prověřit dovednosti vývojářů JavaScriptu a najít ty nejlepší - průvodce náborem IT pracovníků

Vydáno: Poslední aktualizace:
JavaScript: otázky k pohovoru pro softwarové inženýry

1. Co je JavaScript?

JavaScript (známý také jako JS) je vysokoúrovňový, netypovaný, dynamický jazyk založený na prototypech. V závislosti na prostředí může být JavaScript interpretovaný nebo kompilovaný. Jedná se o multiparadigmový programovací jazyk, který podporuje objektově orientovaný, imperativní a funkcionální styl programování.

JavaScript byl zpočátku jazykem určeným pouze pro prohlížeče, ale přidal mnoho možností, jak vylepšit webové stránky napsané pomocí HTML a CSS. V roce 2009 se vše změnilo. Nyní lze JavaScript používat kdekoli (doslova všude, i ve skafandrech) díky Node.js - což je běhové prostředí JavaScriptu založené na V8 JavaScript Engine společnosti Google. Aplikace napsané v jazyce JavaScript mohou být velmi rychlé, pokud je vytvářejí zkušení vývojáři. Vzhledem k velmi nízké vstupní úrovni do světa JavaScriptu je nyní jedním z nejvýznamnějších nejoblíbenější používané jazyky.

Nezapomeňte: Java a JavaScript nejsou stejný programovací jazyk. Vývojáři jsou citliví na své oblíbené jazyky, proto je velmi důležité nezaměňovat názvy.

2. Co je pro IT náboráře důležité vědět o JavaScriptu?

Poptávka po vývojářích JavaScriptu velmi rychle roste. Když hledáte vývojáře JS, měli byste vědět několik věcí.

- Jak jsem se již zmínil, JavaScript je velmi snadné si osvojit. Pomocí několika řádků kódu můžete změnit chování webové stránky nebo vytvořit jednoduchý HTTP server s Node.js. A to je také úskalí JavaScriptu - mnoho vývojářů se učí jen malé části jazyka, aby mohli něco udělat. Chcete-li psát kvalitní a rychlé aplikace, musíte mít velmi dobrou znalost samotného jazyka JavaScript.

- Ve světě JavaScriptu se říká: "Den bez nového frameworku JavaScriptu je ztracený den". Nové nástroje se objevují jako houby po dešti. Já to neodsuzuji - právě naopak - povzbuzuji to. Tento jev nám ukazuje, jak kreativní a vášnivá je komunita JavaScriptu. Takový stav má ale jednu obrovskou nevýhodu - od vývojářů vyžadujeme znalosti o právě vytvořených frameworcích. Velmi dobrá znalost populárních frameworků je důležitá pro rychlé psaní efektivních aplikací v JavaScriptu, ale je lepší mít vývojáře s obrovskými zkušenostmi s čistým JavaScriptem a staršími frameworky nebo knihovnami, který se naučí nový nástroj, než mít vývojáře, který slepě následuje to, co je nové, bez hlubší znalosti jazyka.

- Na druhou stranu někdy nestačí jen čistý JavaScript. Můžete vše udělat od začátku, ale je to časově náročné, a jak všichni víme - čas jsou peníze. Dobrý vývojář JavaScriptu by měl znát alespoň jeden populární, bitvami prověřený framework nebo knihovnu. A protože se ekosystém neustále mění, znalosti o nástrojích, které se používaly před 2-3 lety, mohou být zastaralé.

- Musíte vědět, jakého vývojáře JavaScriptu hledáte - je to někdo, kdo se připojí k týmu Front-end? Nebo je to někdo, kdo bude pracovat s aplikacemi na straně serveru?

Nebo je to někdo, kdo bude pracovat na hybridních mobilních aplikacích nebo zařízeních internetu věcí? Základní porozumění jazyku je v těchto případech stejné. Každý z těchto vývojářů by však měl mít jiné znalosti související s jeho pracovní oblastí.

- Pro pozice na vysoké úrovni jsou vyžadovány obchodní zkušenosti, ale pro juniorní nebo dokonce středně pokročilé vývojáře může být stejně dobré zajímavé portfolio s dobře napsaným kódem na některé z populárních služeb pro hostování repozitářů (jako je GitHub). Bonusové body získáte, pokud kandidát přispívá do projektů s otevřeným zdrojovým kódem.

3. Jak ověřit znalosti JavaScriptu ve fázi screeningu?

Prověřování je obtížné, pokud neznáte technologie používané vývojáři. Ještě těžší je, když se vše tak rychle mění, jako je tomu v ekosystému JavaScriptu. Přejděme tedy k několika praktickým náborovým tipům, jak ověřit dovednosti vývojářů JavaScriptu.

3.1 Technická kontrola dovedností v jazyce JavaScript na základě životopisu

Technologie JavaScript - základní slovníček pojmů z oblasti JavaScriptu pro personalisty v oblasti IT

Životopis uchazeče nám může sdělit mnoho užitečných informací, ale je třeba umět vybrat ty nejdůležitější. V každém životopise se objevuje mnoho různých odborných frází a je velmi důležité nenechat se jimi zmást. Jako technický náborář, který hledá vývojáře JavaScriptu, musíte znát veškerou terminologii, kterou kandidáti používají.

Níže naleznete užitečné informace, které vám pomohou zachovat si při screeningu zdravý rozum.

Slovníček jazyka JavaScript pro technické náboráře

Verze JavaScriptu EcmaScript 5 (ES5 - dostupný všude), EcmaScript 6 (ES6 - dostupný v nejnovějších prohlížečích), EcmaScript 2016 (ES7 )
Rámce a knihovny jazyka JavaScript Angular.js, jQuery, React, Backbone, Ember, Vue.js, Polymer, Aurelia, Knockout, Rx.js
JavaScriptové frameworky pro Node.js Express.js, Hapi.js, Koa, Sails, Meteor
Správci balíčků Node.js NPM, Bower, JSPM
Spouštěče úloh a nástroje pro sestavení založené na Node.js Gulp, Grunt, Broccoli, Webpack
Rámce pro testování v jazyce JavaScript Casper, Mocha, Jasmine, Jest, Karma
Transpilery JavaScriptu Traceur, Babel
Hybridní rámce pro mobilní aplikace Sencha Touch, Ionic, Apache Cordova, IntelXDK
Nadmnožiny jazyka JavaScript nebo jazyky, které se kompilují do jazyka JavaScript TypeScript, CoffeScript, Elm, Dart

To jsou základní informace. Nyní můžeme jít hlouběji. Existuje celá řada nástrojů, frameworků a knihoven a každý z nich je jiný. Aby to bylo pikantnější, mohou být velké rozdíly ve verzích nástrojů. Pokud kandidát uvede, že zná AngularJS, jedná se o verzi frameworku, kterou náš klient hledá? Čtěte dál a vše vám bude jasné.

Nejběžnější názvy v jazyce JavaScript, které se používají zaměnitelně:

- JS, JavaScript, EcmaScript

- Node.js, Node, běhové prostředí JavaScriptu na straně serveru

- Hybridní aplikace, Hybridní mobilní aplikace, hybridní aplikace

Vztahy mezi jednotlivými verzemi technologie JavaScript:

- EcmaScript 6 rozšiřuje EcmaScript 5 (JavaScripty musí být zpětně kompatibilní, jinak by nové verze rozbily web)

- jQuery 1.x , 2.x a 3.x jsou si podobné

- Angular 1.x je zcela odlišný od Angularu 2.x

- Základní koncept je stejný, ale mezi jednotlivými hlavními verzemi Reactu jsou rozdíly.

- Vue 1.x se zcela liší od Vue 2.x

- Aplikace napsané pomocí Ember.js 1.x fungují i ve verzi 2.x

- Základní koncept je stejný, ale mezi jednotlivými hlavními verzemi Node.js jsou rozdíly.

- NPM 3.x je bohatší verze NPM 2.x

Cenné je také uvědomit si následující vztahy:

- MV* Frameworky - pokud někdo zná některý z Emberu, Knockoutu nebo Angularu 1.x, bude si umět poradit i se zbytkem.

- Hybridní mobilní aplikace - pokud někdo zná Angular nebo React, bude schopen vytvořit hybridní mobilní aplikaci.

- Aplikace na straně serveru - pokud někdo zná Express, Hapi, Koa nebo Meteor, bude si umět poradit i se zbytkem.

Další informace v životopise, které mohou ukázat dovednosti vývojáře v jazyce JavaScript:

Vzhledem k tomu, že se svět JavaScriptu neustále mění, neexistují žádné certifikáty, které by mohly prokázat dovednosti uchazeče. Jeden však existuje. A to účet na GitHubu. Dobří vývojáři JavaScriptu se často účastní projektů Open Source jako přispěvatelé nebo sami vytvářejí software pro vyšší dobro. V takovém prostředí jsou vystaveni kontaktu s ostatními vývojáři, kteří neustále kontrolují kvalitu jejich kódu. Sdílení kódu s ostatními je nejlepší způsob, jak se stát lepším vývojářem.

Dalším aspektem je účast na konferencích o JavaScriptu jako řečník. Velmi často jsou na různá místa zváni vývojáři s velmi dobrými znalostmi v určité oblasti, aby zde přednášeli o svých zkušenostech s těmito technologiemi.

3.2 Technická kontrola dovedností v jazyce JavaScript během telefonického/video technického pohovoru

Životopis nám může něco říci o schopnostech vývojáře, ale o vývojáři samotném nic neřekne. Proto jsou tak oblíbené pohovory prostřednictvím telefonního hovoru nebo videokonference - dovednosti jsou důležité, ale potřebujeme vědět, s jakým člověkem máme tu čest - a co je ještě důležitější - s jakým člověkem může náš klient v týmu pracovat. Proto je nutná řádná příprava před pohovorem.

Níže najdete několik příkladů otázek, které vám o uchazeči řeknou více. Doufám, že vám usnadní hledání vhodného kandidáta.

  1. Otázka na pohovor v jazyce JavaScript týkající se zkušeností vývojáře

Q1: S jakými technologiemi uvedenými ve vašem životopise jste měl/a v posledních dvou letech obchodní zkušenosti? Jaké byly vaše povinnosti?

Proč se ptát na otázku 1: Touto otázkou se můžete dozvědět více o aktuálních zkušenostech, odpovědnosti a úspěších uchazeče v jazyce Java. Tím lépe poznáte svého kandidáta.

  1. Otázky na pohovory v jazyce JavaScript týkající se znalostí a názorů vývojářů

Q2: Které knihovny JavaScriptu považujete za hodnotné a proč?

Proč se ptát na Q2: Tato otázka ukazuje, jaké má kandidát znalosti o ekosystému JavaScriptu. Můžeme vidět celek týkající se výběru technologie.

Q3: Všiml jsem si, že jste ve svém životopise uvedl rámec X. Jaký na něj máte názor? Je to dobrá volba?

Proč se ptát na Q3: Tyto otázky nám ukazují znalosti o konkrétní technologii. Nejisté a nejisté odpovědi nám mohou pomoci najít v životopise lži. Na základě jejich odpovědí "Ale proč k tomu nepoužijete framework Y?" si také můžete zahrát na ďáblova advokáta. Můžete tak zjistit, jak si uchazeč vybírá danou technologii, zdůvodňuje svou volbu a zda se jeho názory shodují s názory vašich IT týmů.

Q4: Kdybyste se chtěli naučit novou technologii spojenou s JavaScriptem, jaká by to byla?

Proč se ptát na čtvrtý kvartál: Odpověď na tuto otázku ukazuje přístup kandidátů k učení a může nám pomoci najít vývojáře, kteří stále používají zastaralé znalosti získané v minulosti.

  1. Otázka k pohovoru v Javě týkající se rozhodování vývojářů o technologii JavaScript

Q5: V jaké fázi jste se zapojil do posledních projektů? Podíleli jste se na výběru technologie nebo nastavení projektu? Pokud ano, jakou technologii jste pro projekt vybrali nebo doporučili a proč?

Proč se ptát na otázku 5: Takové otázky ukazují nejen to, jak se kandidát rozhoduje o technologiích, ale také to, zda byl do rozhodování zapojen. Zvláště důležité je to v případě, že hledáte někoho se zkušenostmi.

  1. Otázka na chování pro vývojáře JavaScriptu

Q6: Vzpomeňte si na rozhodnutí o programování projektu, které se vám nepovedlo. Proč si myslíte, že to byla chyba? Proč k němu došlo? Bylo možné udělat něco jinak, aby se změnilo v úspěch? Jaké kroky jste podnikli, abyste situaci zlepšili? Co jste se z této zkušenosti naučili?

Proč se ptáte na otázku č. 6: Tento typ otázek vám pomůže zjistit, jak uchazeč vnímá svá rozhodnutí, vyvozuje závěry a jak moc se učí ze svých předchozích zkušeností.

Q7: Přispíváte do nějakého projektu s otevřeným zdrojovým kódem nebo možná spravujete svůj vlastní projekt s otevřeným zdrojovým kódem? Účastníte se nějakých konferencí o JavaScriptu?

Proč se ptát na Q7: Podobné otázky nám ukazují, zda se kandidát chce podělit o své znalosti a zda chce být smysluplnou součástí ekosystému JavaScriptu. Lidé s velkou vůlí sdílet své zkušenosti jsou často dobrými týmovými hráči.

Podívejte se na náš kompletní Plat vývojáře JavaScriptu průvodce.

Autor - Mateusz Rojecki Front-end Developer @ Laboratoř kodérů

Laboratoř kodérůLaboratoř kodérů (www.coderslab.pl) je největší škola kódování v Polsku, která působí ve Varšavě, Krakově, Katovicích, Vratislavi, Poznani a Lodži. Během šestitýdenního bootcampu se studenti učí technologie vývoje webových stránek: front-end nebo back-end. Naše výukové metody se zaměřují na 4 oblasti: praxi, práci s mentorem, budování studentského portfolia a kariérní podporu. Program přizpůsobujeme aktuálním technologickým potřebám trhu, abychom podpořili vzdělávání založené na znalostech. Více než 300 studentů absolvovalo bootcampy.

DevSkiller připraven k použití online testů pro hodnocení kódování v JavaScriptu

DevSkiller pomáhá společnostem při náboru IT pracovníků tím, že jim poskytuje infrastrukturu, která jim umožňuje testovat programovací dovednosti uchazečů v prostředí, které napodobuje první den v práci. Umožňujeme firmám používat vlastní kódovou základnu, celé IT projekty využívající frameworky a knihovny, a testovat tak programátory online. Máme však také několik hotových testů kódování v JavaScriptu, které můžete použít ve své kampani pro nábor technických pracovníků.

TypeScript
STŘEDNÍ
Testované dovednosti
Doba trvání
72 maximálně minut.
Hodnocení
Automatické
Přehled testů

Otázky s výběrem odpovědí

hodnocení znalostí Typescript

Mezery v kódu

hodnocení znalostí Typescript

Úloha programování - Úroveň: - Střední úroveň

TypeScript | Redux, Selektory | Mzdy v HR oddělení - Implementujte selektory Reduxu, které budou zpracovávat údaje o lidských zdrojích. Implementace bude otestována na základě snapshot testů.

Reagovat
STŘEDNÍ
Testované dovednosti
Doba trvání
96 maximálně minut.
Hodnocení
Automatické
Přehled testů

Otázky s výběrem odpovědí

hodnocení znalostí JavaScript, Reagovat,

Mezery v kódu

hodnocení znalostí JavaScript, Reagovat, ES6

Úloha programování - Úroveň: - Střední úroveň

JavaScript | React, Class Components, Enzyme | Contact Form - Dokončení implementace jednoduché formulářové aplikace React.

zabezpečení
JUNIOR
Testované dovednosti
Doba trvání
46 maximálně minut.
Hodnocení
Automatické
Přehled testů

Otázky s výběrem odpovědí

hodnocení znalostí Matematika, Pravděpodobnost, Měkké dovednosti, Kybernetická bezpečnost, Zranitelnosti, Zabezpečení webu

Mezery v kódu

hodnocení znalostí Kybernetická bezpečnost, Netcat, Obrácená skořápka, Nmap, Portscan, Curl, Heslo, Ochrana

Testovací úloha - Úroveň: Snadné

Kybernetická bezpečnost | XSS Pastebin - V této soutěži má soutěžící za úkol vytvořit stránku pastebin, která je náchylná na zranitelnost XSS na portálu správce. Ta útočníkovi umožňuje vydávat se za správce bez znalosti správných přihlašovacích údajů.

JavaScript
JUNIOR
Testované dovednosti
Doba trvání
46 maximálně minut.
Hodnocení
Automatické
Přehled testů

Otázky s výběrem odpovědí

hodnocení znalostí JavaScript

Mezery v kódu

hodnocení znalostí JavaScript

Úloha programování - Úroveň: Snadné

JavaScript | Office Game - Tic Tac Toe - Dokončete upravenou verzi oblíbené hry TicTacToe.

JavaScript
JUNIOR
Testované dovednosti
Doba trvání
51 maximálně minut.
Hodnocení
Automatické
Přehled testů

Otázky s výběrem odpovědí

hodnocení znalostí JavaScript

Mezery v kódu

hodnocení znalostí JavaScript

Úloha programování - Úroveň: Snadné

JavaScript | Hledání slov - Inicializujte objekt WordSearch, který bude obsahovat mřížku písmen, a implementujte metodu find, která bude prohledávat danou mřížku ve všech směrech.

Reagovat
JUNIOR
Testované dovednosti
Doba trvání
39 maximálně minut.
Hodnocení
Automatické
Přehled testů

Otázky s výběrem odpovědí

hodnocení znalostí JS, JavaScript, Reagovat

Mezery v kódu

hodnocení znalostí JavaScript, Reagovat

Úloha programování - Úroveň: Snadné

JavaScript | React, Class Components, Enzyme | Search-Engine Application - Implementace aplikace pro vyhledávání a filtrování produktů v internetovém obchodě.

Node.JS
STŘEDNÍ
Testované dovednosti
Doba trvání
87 maximálně minut.
Hodnocení
Automatické
Přehled testů

Otázky s výběrem odpovědí

hodnocení znalostí JavaScript, Node.JS

Mezery v kódu

hodnocení znalostí JavaScript, Node.JS, SQL

Úloha programování - Úroveň: - Střední úroveň

Node.JS | Rest API | Zpravodajská backendová služba - Implementace zpravodajské backendové služby vytvořené v Node.JS pomocí Vanilla JS včetně zápisu autorizace a Rest API.

TypeScript
JUNIOR
Testované dovednosti
Doba trvání
51 maximálně minut.
Hodnocení
Automatické
Přehled testů

Otázky s výběrem odpovědí

hodnocení znalostí Typescript

Mezery v kódu

hodnocení znalostí JavaScript, Reagovat

Otázky s výběrem odpovědí

hodnocení znalostí HTML, CSS

Úloha programování - Úroveň: Snadné

TypeScript | React Hooks | Movies State Management - Kompletní aplikace pro správu filmů pomocí React Hooks implementací správy stavu do stávajících pohledů.

JavaScript
STŘEDNÍ
Testované dovednosti
Doba trvání
62 maximálně minut.
Hodnocení
Automatické
Přehled testů

Otázky s výběrem odpovědí

hodnocení znalostí JavaScript, Redux

Mezery v kódu

hodnocení znalostí HTML, HTML5, CSS

Úloha programování - Úroveň: - Střední úroveň

JavaScript | Redux Selektory | Školení HR oddělení - Implementujte správně reduktory a selektory reduxu.

React Native
STŘEDNÍ
Testované dovednosti
Doba trvání
107 maximálně minut.
Hodnocení
Automatické
Přehled testů

Otázky s výběrem odpovědí

hodnocení znalostí React Native

Mezery v kódu

hodnocení znalostí JavaScript, React Native

Úloha programování - Úroveň: - Střední úroveň

React Native | Cheeper - nová aplikace pro sociální sítě - Dokončení implementace tak, aby bylo možné provádět základní socializaci.

Sdílet příspěvek

Další informace o najímání zaměstnanců v oblasti technologií

Přihlaste se k odběru našeho vzdělávacího centra a dostávejte užitečné informace přímo do své e-mailové schránky.

Bezproblémové ověřování a rozvíjení dovedností v oblasti kódování.

Podívejte se na produkty DevSkiller v akci.

Bezpečnostní certifikace a shoda s předpisy. Zajistíme, aby vaše data byla v bezpečí.

Logo DevSkiller Logo TalentBoost Logo TalentScore