Comment évaluer les compétences des développeurs de Node.js

Publié : Dernière mise à jour :
Compétences des développeurs de Node.js

Dans le climat technologique actuel, Node.js est l'un des les technologies dorsales les plus populaires utilisés par les développeurs. Il est essentiel que vous vérifiiez les compétences de votre candidat en tant que développeur Node.js afin de procéder à une embauche de qualité.

Il y a de nombreuses raisons pour lesquelles Node.js est populaire parmi les professionnels du secteur. Parfois appelé simplement "Node", cet environnement d'exécution favorise un développement logiciel rapide et évolutif. Il utilise également JavaScript, la lingua franca du World Wide Web, pour alimenter ses nombreuses fonctionnalités. Il n'est pas surprenant que tant d'entreprises fassent de leur mieux pour rechercher des développeurs de haut niveau pour Node.js.

Les rapports d'Indeed indiquent que le nombre de recherches d'emploi pour Node.js a augmenté de 57% de l'année précédente, ce qui montre que la demande est en augmentation. Cette technologie spéciale est utilisée par une multitude de géants de la technologie et de multinationales, dont Netflix, Uber, LinkedIn, la NASA, PayPal, Microsoft et Walmart.

Dans l'article d'aujourd'hui, DevSkiller couvrira les ins-and-outs de Node.js, les choses les plus importantes qu'un recruteur informatique doit connaître et nos meilleures stratégies pour engager un développeur Node.js de qualité.

Qu'est-ce que Node.js ?

Techniquement parlant, Node.js est un environnement d'exécution JavaScript ouvert et multiplateforme qui exécute du code JavaScript en dehors d'un navigateur web.

En décomposant un peu, Node.js permet aux développeurs d'utiliser JavaScript pour écrire des commandes pour le script côté serveur (back-end scripting). Cela signifie essentiellement que Node.js aide à exécuter des scripts côté serveur pour produire un contenu de page web dynamique avant que la page ne soit envoyée au navigateur web de l'utilisateur.

La première version stable de Node.js (0.10.0, la première utilisée dans le monde des affaires) a été publiée en 2013, bien que le projet ait débuté quelques années plus tôt. L'objectif de Ryan Dahl, le créateur de Node.js, était de créer des sites web en temps réel avec une capacité de push, "inspirés par des applications comme Gmail". Avec Node.js, il a donné aux développeurs un outil leur permettant de travailler dans le paradigme des entrées/sorties non bloquantes et pilotées par les événements.

1.1. À quoi sert le Node.js et quels problèmes résout-il ?

Comme la plupart des applications côté client, y compris les pages web et les applications web, utilisent un code écrit en JavaScript, l'avantage d'écrire également un script côté serveur en Javascript est énorme. Et c'est là que Node.js entre en jeu.

Node.js est populaire principalement parce qu'il représente un "JavaScript partout" Le paradigme de l'application web, qui unifie le développement d'applications web autour d'un seul langage de programmation, plutôt que différents langages pour les scripts côté serveur et côté client.

Cette unification à travers la pile qui intègre le langage et le format de données (JSON), permet aux entreprises de réutiliser de manière optimale les ressources des développeurs.

L'utilisation de Node.js permet à un développeur complet de faire la transition avec facilité ; et par conséquent, il est en concurrence directe avec d'autres langages de script et cadres populaires tels que Java, .NET, Python, PHP, Ruby et C#.

La plateforme facilite les applications web avec des connexions bidirectionnelles, de sorte que le client et le serveur peuvent commencer à communiquer, ce qui leur permet d'échanger librement des données. Cet avantage contraste nettement avec les systèmes de le paradigme demande/réponse sur le webLe client est toujours à l'origine de la communication.

Node.js est une plateforme qui répond à un besoin particulier. Elle est très légère, ce qui signifie que des systèmes évolutifs et performants peuvent être écrits avec peu de code. Cependant, Node.js n'est pas idéal pour les opérations gourmandes en CPU en raison de sa mise en œuvre monofilaire.

Node se distingue des autres par la construction d'applications réseau rapides et évolutives, car il est capable de gérer un grand nombre de connexions simultanées à haut débit, ce qui équivaut à une grande évolutivité.

1.2. Est-il similaire à d'autres langues ou cadres ?

Node.js sera toujours très étroitement lié au langage JavaScript, car il s'agit de sa plate-forme d'exécution côté serveur. Comme Node.js met en œuvre la spécification ECMAScript, une norme JavaScript globale destinée à assurer l'interopérabilité des pages web entre les différents navigateurs web ; on peut dire de manière informelle que Node.js est en fait du Javascript.

D'une certaine manière, nous pouvons dire que Node est similaire à PHP, Python et Ruby (étant un langage de script à frappe dynamique), bien qu'il soit beaucoup plus avancé en termes de capacités de programmation fonctionnelle.

Il existe plusieurs autres produits sur le marché qui fonctionnent comme de bonnes alternatives à Node.js. Il s'agit notamment des produits suivants Elixir, Perl, ASP.NET, Ceylan et Rebol.

1.3. Quels sont ses principaux avantages ou caractéristiques ?

  • Permet aux développeurs de mettre à l'échelle des applications en les directions horizontale et verticale.
  • est facile à apprendre pour les développeurs qui connaissent bien JavaScript.
  • A ‘JavaScript completaide à écrire des applications côté serveur en JavaScript.
  • Rend l'utilisation du code plus facile, plus rapide et plus efficace en interprétant le JavaScript via le moteur JavaScript V8 de Google.
  • Offre la possibilité de ne pas bloquer les systèmes d'entrée/sortie qui aide les développeurs à traiter plusieurs demandes simultanément.
  • abrite une base d'utilisateurs dynamique et communautaire qui contribue en permanence à son amélioration.

Qu'est-ce qu'il est important pour un recruteur informatique de savoir sur Node.js ?

Que faut-il rechercher lorsque l'on engage des développeurs ayant l'expérience de Node.js ? Outre les compétences habituelles en matière de conception d'architecture, de logique, de collaboration et de communication que vous devez posséder pour embaucher un développeur, il y a certaines choses qui sont propres aux développeurs de nœuds.

2.1. À quelle fréquence la pile technologique change-t-elle ?

Comme Node.js fonctionne en Javascript, vous entendrez souvent les gens dire cela, "il y a un nouveau cadre JavaScript chaque semaine"mais cela concerne principalement l'architecture frontale. Le back-end est généralement beaucoup plus stable. Bien sûr, de nouveaux outils sont ajoutés en permanence ; cependant, en ce qui concerne les modules complémentaires les plus populaires utilisés dans Node.JS - notamment Express, Meteor, Hapi, NestJS, koa, etc.

De plus, le langage JavaScript lui-même n'a cessé de s'améliorer depuis 2015, date de la sortie de l'ES6 (également appelé ES2015). La raison en est qu'avant 2015, chaque version de JS était introduit de manière extrêmement périodique (par exemple tous les 3 à 5 ans) mais depuis 2015, une nouvelle version est publiée chaque année. Dans l'ensemble, la pile technologique a connu une évolution assez harmonieuse.

2.2. Existe-t-il de nombreuses ressources/outils/technologies disponibles ?

Ce qui est vraiment génial avec Node.js, ce sont les milliers de modules disponibles pour n'importe quel usage, ainsi que la communauté dynamique derrière la plateforme. Des dizaines de blogs, de tutoriels, de vidéos, de conférences et de livres existent sur le sujet, conçus pour faciliter la vie des développeurs.

Des outils comme Webpackun module JavaScript pratique utilisé pour simplifier le développement en amont aide vraiment à simplifier Node.js. Ou Mocha.js, qui permet aux développeurs de Node de tester à la fois en console et dans le navigateur.

De plus amples informations sur les outils et les ressources pour Node peuvent être trouvées sur des sites tels que Smashing et Brainhub.

2.3. Quels sont les outils et les techniques qu'un développeur de Node.js doit connaître ?

Il faut distinguer deux choses ici : la connaissance de Node.js lui-même et les questions générales liées à la programmation en arrière-plan. Node.js, étant le JavaScript côté serveur, comprend :

  • Le langage de script, et
  • Modules Node.js intégrés, qui gèrent les systèmes de fichiers, les processus, les événements, HTTP, etc.

Cette étendue de connaissances n'est pas un gros obstacle pour les développeurs de logiciels frontaux, qui souhaitent migrer du navigateur vers le serveur.

Toutefois, il existe également des concepts liés au back-end, qui sont plus ou moins les mêmes pour toutes les technologies de back-end, y compris Java, .Net, PHP, Python, Ruby, Golang et, bien sûr, Node.js. Parmi ces sujets, on peut citer

  • Bases de données, persistance
  • Gestion des sessions
  • Architecture : monolithes, micro-services
  • Mise à l'échelle (consommation de ressources RAM/CPU)
  • API REST
  • Cloud et infrastructure
  • et bien d'autres encore, souvent en fonction de la spécificité du projet.

Globalement, ce sont les concepts que les développeurs de node.js devrait être familière.

Les spécificités des compétences des développeurs de Node.js sont clairement non négociables. Mais sans connaissance du back-end, les développeurs pourraient écrire des systèmes qui ne sont pas résilients, ne peuvent pas s'échelonner ou ne tolèrent pas les fautes (ce qui pourrait aboutir à des systèmes qui fonctionnent bien pour ~50 utilisateurs mais qui se cassent pour ~5000 ou ~50000 utilisateurs).

2.4. Quel type d'expérience est-il important de rechercher chez un développeur de Node.js ?

Sans aucun doute, l'expérience commerciale avec Node.js est le facteur le plus important à prendre en compte ici. Travailler sur des projets liés à l'entreprise et fournir des logiciels stables sont les points de référence de la plate-forme. L'expérience scientifique et universitaire de React est presque sans importance.

L'expérience en matière de sources ouvertes devrait également être considérée comme un avantage supplémentaire, car Node.js est l'une des plateformes les plus conviviales qui existent pour les sources ouvertes.

Comment vérifier les compétences des développeurs Node.js lors de la phase de sélection ?

Si vous recrutez pour les compétences de développeur de Node.js, il y a plus d'une façon d'écorcher un chat, ou pour ainsi dire. Adam Polak, responsable de Node.js chez The Software House, affirme que la transition d'une technologie différente peut ostensiblement être une option viable.

"Node.js est une technologie relativement nouvelle, il n'y a donc pas beaucoup de développeurs expérimentés qui l'utilisent. C'est pourquoi nous ne devons pas nous limiter aux seuls utilisateurs actuels de Node.js, mais aussi jeter un coup d'œil aux développeurs compétents qui peuvent faire une transition rapide. Les développeurs PHP, Java et .NET sont souvent prêts à apprendre de nouvelles technologies".

3.1. Que faut-il prendre en compte lors de la sélection d'un CV ?

  • Les développeurs doivent être familiarisés avec les questions, les modèles, les problèmes et les solutions de programmation en aval.
  • Expérience dans le développement et l'expédition d'applications basées sur Node.js.
  • Conception de la base de données et analyse des performances.
  • les compétences liées à l'AQ (c'est-à-dire la conception de scénarios de tests et la mise en œuvre de ces tests).
  • Expérience de l'infrastructure en nuage, par exemple comment permettre des déploiements vers une infrastructure en nuage AWS/Azure/GCP.
  • Tout ce qui ne prouve pas la connaissance de la pile technologique, mais qui apporte une valeur commerciale, comme : la maintenance des applications, la correction des bogues, l'optimisation des performances, etc.
  • Un équilibre de connaissances entre la syntaxe (comment écrire du code) et les questions liées à l'arrière-plan (quoi écrire).
  • Les développeurs qui démontrent une compréhension de la spécificité de la plate-forme (quels problèmes peuvent survenir et les bonnes façons de les résoudre).
  • Ne vous attendez pas à ce que les candidats connaissent votre pile technologique de fond en comble. Supposez qu'un développeur qui a réussi dans une pile technologique puisse être performant dans une autre pile technologique.

3.2. Quels sont les termes du glossaire qu'il est important de connaître dans Node.js (y compris les cadres, les bibliothèques et les versions linguistiques) ?

AbréviationsNode = Node.js JS = JavaScript. ES = ECMAScript (ECMAScript est le nom de la norme, JavaScript est son implémentation - formellement. Mais en pratique, les gens l'appellent JavaScript alors qu'ils devraient l'appeler ECMAScript (le spec), cependant, la majorité des développeurs s'en moquent).
JavaScript / ECMAScriptProgrammation asynchrone : événements, promesses, asynchronisation/attente, rxjs Object-Oriented Programming : Structures de données JS, héritage de prototypes, classes ES6 Programmation fonctionnelle : fonctions d'ordre supérieur, fermetures Mécanismes transversaux : coercition (typecasting)
WebServicesProtocole HTTP, protocole WebSocket HTTP : Fetch, Axios, Request, WebSockets : Socket.IO
L'outillage de Node.jsCadres : Express, Koa, Nest.js, Fastify Transpilers : Babel, TypeScript, Flow Bundlers : Webpack, Parcel, Snowpack Paquets populaires : NVM, Chokidar
TestTypes : tests unitaires, tests fonctionnels, tests d'intégration, tests E2E Outils (cadres et bibliothèques) : Karma, Jasmine, Selenium, Jest, Mocha, Sinon, Chai (et bien d'autres) Divers : pyramide de tests (beaucoup plus de tests unitaires que de tests E2E), tests instantanés, tests de régression, moqueries
Bases de donnéesSQL, MySQL, MSSQL NoSQL : MongoDB, CouchDB, et bien d'autres ORM (object-relational mappers)
ConceptionMonolithes, micro-services, CQRS Design Patterns : façade, usine, constructeur, composite, médiateur, machine d'état, état, chaîne de responsabilité... et bien d'autres Préoccupations : évolutivité, surveillance, journalisation, déploiements, intégration/déploiement continu, infrastructure en nuage

3.3. Quelles sont les versions complètement différentes ? Quelles sont les versions qui se ressemblent ?

ES6 est l'ECMAScript v6 (sorti en 2015), c'est une avancée majeure à laquelle les gens se réfèrent, c'est-à-dire le nouveau JavaScript (avant cela, les gens considéraient l'ancien JS).

Les versions de Node.js sont principalement livrées avec une meilleure prise en charge des versions récentes d'ECMAScript (JavaScript), elles sont améliorées de façon incrémentielle, mais pas révolutionnaire.

Examen technique des compétences du développeur Node.js lors d'un entretien téléphonique/vidéo.

4.1. Questions que vous devriez poser au sujet d'un développeur de Node.js expérience. Pourquoi devriez-vous poser chacune de ces questions ?

  • Avez-vous participé à des tests automatiques de vos précédentes demandes ? Que pensez-vous avoir fait de bien et que changeriez-vous aujourd'hui ?
    • Les tests sont un élément essentiel du développement de logiciels. Les développeurs reçoivent les outils nécessaires pour innover et c'est à eux de décider s'ils les utilisent efficacement. En ce qui concerne les tests, c'est important :
      • Les tests sont petits et rapides. Les développeurs sont moins enclins à effectuer des tests en continu, ce qui prend beaucoup de temps.
      • Chaque test doit explicitement vérifier une variable (sauf si c'est E2E qui teste, comme son nom l'indique, de bout en bout). Si une fonctionnalité est cassée, il vaut mieux qu'un seul test échoue plutôt que des centaines de tests échouent.
      • Les tests ne doivent pas porter sur des éléments qui sont vérifiés par d'autres outils, etc. Les structures de données peuvent être validées par des validateurs de schémas JSON, des vérificateurs de types (TypeScript, Flow, ...) etc.
      • Une couverture adéquate par le biais de tests devrait donner confiance aux développeurs dans le code qu'ils créent (c'est-à-dire que si les tests réussissent, le code fonctionne correctement). Un développeur qui n'a pas maintenu les tests peut ne pas ressentir le besoin de les créer et ne pas réaliser à quel point des tests appropriés aident à long terme.
  • Avez-vous déjà travaillé avec des micro-services et/ou des systèmes distribués ?
    • Si les produits de votre entreprise gèrent une échelle massive (d'utilisateurs, de demandes, etc.) et exigent une haute disponibilité, cela conduit souvent à des systèmes distribués, où seule une partie du système est mise à l'échelle. Dans l'ensemble, un système distribué a ses propres modèles et anti-modèles qui prennent beaucoup de temps à apprendre. Si vous avez besoin d'envoyer votre application sur le cloud (AWS/Azure/GCP, ...), un développeur Node.js avec des systèmes distribués serait extrêmement utile.
  • Avez-vous travaillé sur des applications en temps réel ? Si oui, quels processus opérationnels le système a-t-il mis en œuvre ? Quelle était la difficulté du système, sur le plan technologique ?
    • L'une des préoccupations les plus importantes à traiter dans les systèmes des grandes entreprises est celle des données en temps réel. La mise en œuvre d'applications dans lesquelles les données changent à chaque seconde entraîne ses propres bizarreries, problèmes, erreurs courantes, solutions, modèles et architecture, etc. Si votre système traite des données qui changent fréquemment (par exemple le suivi des services postaux ou le traitement des données financières qui, en raison de la nature des finances, est également extrêmement dynamique), vous devez absolument poser cette question pour voir si le candidat comprend le contexte.

4.2. Questions que vous devriez poser au sujet d'un développeur de Node.js connaissances et opinions. Pourquoi devriez-vous poser chacune de ces questions ?

  • Que sont les flux Node.js, que signifie la diffusion de données en continu - et pourquoi est-ce important ?
    • Le streaming de données est une certaine façon d'échanger des données entre le serveur et le client. Dans la plupart des systèmes, une demande complète est envoyée et une réponse complète est reçue, mais ce n'est pas le cas des flux. Dans les flux, la réponse est renvoyée en plusieurs morceaux (diffusée en temps réel, morceau par morceau). C'est extrêmement important car cela affecte les performances du système de bas niveau. Souvent, un client peut commencer à traiter des morceaux de la réponse sans avoir la réponse complète. C'est plus difficile, mais cela réduit le temps d'attente inutile. Un développeur node.js expérimenté doit avoir l'habitude d'utiliser les flux de nœuds.
  • Pourquoi package-lock.json devrait-il être engagé dans le dépôt et que contient-il ?
    • Presque tous les développeurs savent qu'un fichier package.json, le fichier principal d'un projet de nœud, doit être committé et suivi par un système de version (par exemple git). Mais tout le monde ne connaît pas le fichier package-lock.json et il est placé dans npm. Alors que package.json liste explicitement toutes les dépendances que nous directement use, package-lock.json comprend l'arbre entier des dépendances. Les versions de tous les paquets sont explicitement énumérées et, lorsque l'application est construite sur une machine de compilation, ces versions exactes sont prises en compte. Pourquoi ? Parce que si nous obtenons une erreur sur une machine de compilation, nous devons connaître les versions exactes afin de reproduire l'erreur sur les machines locales. Grâce à l'engagement de package-lock.json dans le repo, c'est facile.
  • Il y a un dicton courant dans la programmation, qui dit qu'"il y a 2 choses difficiles dans la programmation : 1. nommer les choses, et 2. L'invalidation du cache". Veuillez expliquer ce qu'est l'invalidation du cache et pourquoi elle est considérée comme difficile.
    • La mise en cache consiste à mémoriser les calculs pour plus tard, de sorte que chaque fois que la même question est posée à nouveau, nous avons déjà la bonne réponse. La mise en cache est invalidée lorsque nous savons que la base du calcul a changé et que le résultat mémorisé est donc erroné. Comme il s'agit de l'ancienne base, nous savons que cette information mise en cache doit être effacée (invalidée). Dans les grands systèmes, où le prix d'une commande peut dépendre de plusieurs facteurs, certains changent et d'autres non. Il est difficile de ne pas manquer un certain chemin (un changement doit être suivi d'une invalidation du cache) ou de ne pas le faire avec trop d'empressement. Dans la plupart des systèmes, l'invalidation du cache doit être programmée explicitement.

4.3. Questions comportementales que vous devriez demander à un développeur de Node.js. Pourquoi devriez-vous poser chacune de ces questions ?

  • Imaginez que vous rejoignez une équipe de développeurs qui maintient un produit stable, mais qui est plutôt mal écrit. La mise en place de nouvelles fonctions et l'amélioration de la valeur commerciale prennent plus de temps que prévu. Comment essayeriez-vous d'aider l'équipe lorsque vous la rejoindrez ?
    • Ce qui est important ici, c'est la manière dont le candidat essaie d'aider. Le candidat s'efforce-t-il d'expliquer comment il faut faire quelque chose correctement (par exemple, un professeur, et ce qui a déjà été fait n'est pas bien) ou essaie-t-il plutôt d'écouter ses coéquipiers pour savoir pourquoi ils se sont comportés de cette manière et de les rencontrer là où ils se trouvent. Fondamentalement, un expert technique qui force les décisions en prétendant avoir ses propres connaissances n'est pas un bon joueur d'équipe.
  • Vous êtes-vous déjà retrouvé dans une situation où vous saviez que vous aviez introduit un bogue qui a ensuite fait planter le système de production (soit toute la plate-forme, soit une seule fonctionnalité) ? Si oui, qu'avez-vous appris de ce bogue ?
    • Dans une certaine mesure, cette question vérifie l'honnêteté. Les développeurs juniors n'ont peut-être pas eu la chance de publier un bogue grave, mais les développeurs seniors l'ont certainement fait. Le programmeur parfait n'existe pas, c'est-à-dire quelqu'un qui n'a fait aucune erreur. La question consiste donc à savoir si les conséquences d'une erreur ont été douloureuses pour le candidat. De plus, il est extrêmement important à long terme de tirer les leçons des erreurs, car les développeurs doivent prendre des habitudes qui élimineront les possibilités d'introduire des bogues. Surtout lorsqu'il s'agit d'applications back-end. Après tout, nous ne pouvons pas être meilleurs la prochaine fois si nous n'analysons pas pourquoi nous nous sommes retrouvés dans une situation critique maintenant.
  • Quelle est votre plus grande réussite ?
    • Cette question est délibérément laissée ouverte car elle permet au développeur de choisir parmi des domaines distincts tels que l'apport d'une valeur commerciale, l'exemple du travail d'équipe et de la coopération, ainsi que l'expertise technique. Il est donc intéressant d'observer ce que le candidat considère comme important pour lui. En fait, un équilibre entre les trois serait très apprécié. Vous pourriez être sceptique à juste titre à l'égard d'un candidat qui ne valorise que l'expertise technique, car c'est ce à quoi vous devez vous attendre plus tard lorsque vous travaillerez pour votre entreprise.

Examen technique des compétences des développeurs Node.js à l'aide d'un test de codage en ligne.

Embaucher un excellent développeur de Node.js peut représenter un défi de taille, surtout si vous faites tout le sale boulot vous-même. Pour les projets qui nécessitent un engagement et un budget à long terme, vous avez besoin d'une société de développement de logiciels dotée d'un processus de recrutement solide.

5.1. Quel test en ligne pour les compétences des développeurs de Node.js devriez-vous choisir ?

Lorsque l'on cherche le bon Test de compétences des développeurs de Node.js vous devez vous assurer qu'il répond aux critères suivants :

  • Le test reflète la qualité du travail professionnel effectué
  • La durée n'est pas trop longue, une à deux heures maximum
  • Le test peut être envoyé automatiquement et est de nature simple
  • Le niveau de difficulté correspond aux capacités du candidat
  • Le test va au-delà de la vérification du bon fonctionnement de la solution : il vérifie la qualité du code et son bon fonctionnement dans les cas limites
  • Il est aussi proche que possible de l'environnement naturel de programmation et permet au candidat d'accéder aux ressources pertinentes
  • Il donne au candidat la possibilité d'utiliser toutes les bibliothèques, cadres et autres outils qu'il rencontre régulièrement

5.2. Tests de compétences des développeurs de Node.js en ligne prêts à l'emploi DevSkiller

Les tests de codage DevSkiller utilisent notre méthodologie RealLifeTesting™ pour refléter l'environnement de codage réel dans lequel travaille votre candidat. Plutôt que d'utiliser des algorithmes obscurs, les tests DevSkiller exigent des candidats qu'ils créent des applications ou des fonctionnalités. Ils sont notés de manière entièrement automatique et peuvent être passés partout dans le monde. En même temps, le candidat a accès à toutes les ressources qu'il utiliserait normalement, y compris les bibliothèques, les cadres de travail, StackOverflow et même Google.

Les entreprises utilisent DevSkiller pour tester les candidats à l'aide de leur propre base de données de codes, où qu'ils se trouvent dans le monde. Pour faciliter la tâche, DevSkiller propose également un certain nombre de tests de compétences en sciences des données, comme ceux qui sont proposés ici :

JavaScript
SENIOR
Des compétences éprouvées
Durée
85 minutes max.
Évaluation
Automatique
Aperçu des tests

Tâche de programmation - Niveau : Difficile

HTML/CSS | Page d'accueil - Compléter les définitions des propriétés CSS pour que la page affiche l'écran de chargement approprié avant d'afficher la page d'accueil.

Tâche de programmation - Niveau : Difficile

JavaScript | Memoization fonctionnelle - Ecrire les deux versions du mécanisme de memoization générique.

Angulaire
MIDDLE
Des compétences éprouvées
Durée
101 minutes max.
Évaluation
Automatique
Aperçu des tests

Questions sur le choix

l'évaluation de la connaissance des Angulaire, JavaScript

Lacunes dans les codes

l'évaluation de la connaissance des Angulaire, JavaScript

Tâche de programmation - Niveau : Moyen :

JavaScript | Angular | Reactive forms - Préparer un formulaire d'inscription à l'aide de Reactive forms

Réagir
MIDDLE
Des compétences éprouvées
Durée
113 minutes max.
Évaluation
Automatique
Aperçu des tests

Tâche de programmation - Niveau : Difficile

JavaScript | React, Redux | Address Book - Implémente les fonctionnalités manquantes d'une petite application web React construite sur Redux.

Tâche de programmation - Niveau : Moyen :

JavaScript | Node.js | Carnet d'adresses - Mettre en œuvre des terminaux pour récupérer la liste des contacts (avec une correspondance de phase et une limitation des résultats), récupérer les détails d'un seul contact et supprimer le contact donné.

Lacunes dans les codes

l'évaluation de la connaissance des MongoDB

TypeScript
MIDDLE
Des compétences éprouvées
Durée
126 minutes max.
Évaluation
Automatique
Aperçu des tests

Questions sur le choix

l'évaluation de la connaissance des Dactylographie

Tâche de programmation - Niveau : Moyen :

TypeScript | NestJS | Coffee Recommendation API for My Barista app - Mettre en place le service NestJS REST pour évaluer et recommander les types de café.

Réagir
SENIOR
Des compétences éprouvées
Durée
175 minutes max.
Évaluation
Automatique
Aperçu des tests

Tâche de programmation du Front End - Niveau : Senior

JavaScript | React, Redux | Address Book - Implémente les fonctionnalités manquantes d'une petite application web React construite sur Redux.

Tâche de programmation en aval - Niveau : Moyen :

JavaScript | Node.js | Address Book - Mise en œuvre de terminaux pour récupérer la liste des contacts (avec une correspondance de phase et une limitation des résultats), récupérer les détails d'un seul contact et supprimer le contact donné.

Java
JUNIOR
Des compétences éprouvées
Durée
68 minutes max.
Évaluation
Automatique
Aperçu des tests

Questions sur le choix

l'évaluation de la connaissance des Java

Tâche de programmation - Niveau : Facile

Java | Find duplicates - Implémentation de la méthode findDuplicates qui renvoie une nouvelle liste contenant les doublons qui se sont produits N fois.

Questions sur le choix

l'évaluation de la connaissance des ES6, JavaScript, Dactylographie

Tâche de programmation - Niveau : Facile

JavaScript | Node.JS | Websocket server - Complétez le fichier server.js afin de terminer le serveur WebSocket.

Python
MIDDLE
Des compétences éprouvées
Durée
168 minutes max.
Évaluation
Automatique
Aperçu des tests

Questions sur le choix

l'évaluation de la connaissance des CSS, HTML

Tâche de programmation - Niveau : Moyen :

Python | Django | Application de demande de congé | CRUD de base - Complétez une application de gestion des demandes de congé des employés à l'aide de Django Framework.

Tâche de programmation - Niveau : Moyen :

JavaScript | Social Media Queries | Find potential likes - Mettre en place une fonction pour trouver des livres qui sont considérés comme des ouvrages à aimer.

JavaScript
JUNIOR
Des compétences éprouvées
Durée
57 minutes max.
Évaluation
Automatique
Aperçu des tests

Questions sur le choix

l'évaluation de la connaissance des JavaScript, Développement web, Node.JS, Ember, Ember 2.x

Tâche de programmation - Niveau : Facile

JavaScript | Orders Analyzer | Trouver une quantité totale commandée d'un produit pour chaque jour de la semaine - Implémenter la méthode OrdersAnalyzer#averageDailySales qui retournera une carte avec le nom d'un jour de la semaine comme clé et une somme de la quantité commandée pour un identifiant de produit donné comme valeur.

JavaScript
MIDDLE
Des compétences éprouvées
Durée
121 minutes max.
Évaluation
Automatique
Aperçu des tests

Questions sur le choix

l'évaluation de la connaissance des ExpressJS

Tâche de programmation - Niveau : Moyen :

Application bloc-notes angulaire 2+

Tâche de programmation - Niveau : Moyen :

Node.JS - Mongo - Rapport de stage

Lacunes dans les codes

l'évaluation de la connaissance des MongoDB

Node.js
MIDDLE
Des compétences éprouvées
Durée
68 minutes max.
Évaluation
Automatique
Aperçu des tests

Questions sur le choix

l'évaluation de la connaissance des JavaScript et Node.JS

Tâche de programmation - Niveau : Moyen :

JavaScript | Node.js | Server Side Step Tracker - Terminer l'implémentation de Node.js application d'aptitude exposant API REST et Websocket-API pour le suivi des étapes

Partager le poste

En savoir plus sur le recrutement dans le secteur des technologies

Abonnez-vous à notre Learning Hub pour recevoir des informations utiles directement dans votre boîte aux lettres électronique.

Vérifier et développer les compétences de codage de manière transparente.

Voir les produits DevSkiller en action.

Certifications de sécurité et conformité. Nous veillons à ce que vos données soient sûres et sécurisées.

Logo DevSkiller Logo TalentBoost Logo TalentScore