Quels sont les moyens de déterminer les véritables développeurs Javascript de ceux qui se fient sur jQuery?

Je me demandais quels seraient les signes révélateurs les plus communs d’une personne qui sait vraiment Javascript vs quelqu'un qui les de connaissances va pas plus loin que l’API de jQuery?

Je vois aussi des fois où les emplois chercher des candidats frontal avec une telle expérience. Ma question est comment loin dans le langage de programmation attendent-ils qu’ils soient familiers avec.

Réponse

J’ai été interviewer les développeurs JavaScript pour ces derniers mois. Mon entreprise a besoin de Hard-Core, hauts les développeurs qui connaissent la langue vraiment bien, donc je dois sarcler dehors les scripteurs de jQuery. Je n’ai aucun mépris pour eux. Tout le monde doit commencer à un certain niveau, mais ces gens ne simplement adapter à nos besoins.

Voici quelques questions que je pose, et ils semblent me donner une assez bonne idée du niveau de compétence de la personne que je parle :

1. quelle est la différence entre la programmation orientée objet et fonctionnelle?

2. Comment prototypal héritage différent de l’héritage classique?

3. si je crée un nouvel objet avec newObject var = Object.create(protoObject), quelle est la relation entre newObject et protoObject? Si protoObject possède une méthode appelée foo, il obtenir copié dans newObject?

4. Si le code suivant est exécuté en mode strict, ce qui va voir dans la console?

var obj = {

foo: function() {

console.log(this);

function bar() {

console.log(this);

}

bar();

}

};;

obj.foo();

5. quelle sera cette fonction function foo() {?

return

{

foo: 'bar'

};

};

var transactions = [

6. puis je donner la le problème suivant à résoudre :

Propriétaire d’un magasin de bonbons est entré dans les transactions suivantes dans un Etablissement, qui vous avez converti en un tableau JavaScript :

{candy: 'Snickers', amount: 'THREE', paid: true},

{candy: 'Hershey', amount: 'ONE', paid: true},candy: 'Snickers', amount: 'THREE', paid: true{candy: 'Snickers', amount: 'FIVE', paid: false},,

{candy: 'M&Ms', amount: 'TWO', paid: true},candy: 'Hershey', amount: 'ONE', paid: true{candy: 'Gummi Bears', amount: 'ONE', paid: false},,

{candy: 'Gummi Bears', amount: 'FOUR', paid: true},candy: 'Snickers', amount: 'FIVE', paid: false{candy: 'Candy Corns', amount: 'ONE', paid: true},,

{candy: 'Three Musketeers', amount: 'FOUR', paid: true},candy: 'M&Ms', amount: 'TWO', paid: true{candy: 'Hershey', amount: 'THREE', paid: true},

];candy: 'Gummi Bears', amount: 'ONE', paid: false$(),

map(), filter(), reduce(), forEach()candy: 'Gummi Bears', amount: 'FOUR', paid: true,

candy: 'Candy Corns', amount: 'ONE', paid: true,

candy: 'Three Musketeers', amount: 'FOUR', paid: true,

candy: 'Hershey', amount: 'THREE', paid: true

Lorsque quelqu'un lui demande de tenir des bonbons à la caisse, mais n’a pas encore payé, payé a la valeur false. Dans le cas contraire, si les bonbons sont payé, payé est vrai.

L’affectation est d’additionner simplement tous les bonbons vendus, par exemple, trois + un + 5... Malheureusement, le propriétaire du magasin est entré les nombres sous forme de chaînes de majuscules. Heureusement, nous avons cette carte :

 var digits = {one: 1, two: 2, three: 3, four: 4, five: 5, six: 6, seven: 7, eight: 8, nine: 9};

Enfin, il est important que les transactions non rémunérées ne sont pas incluses dans le total.

Le résultat devrait être trois + un + deux + quatre + un + quatre + 3 = 18.

Maintenant, n’importe quel programmeur devrait être capable de faire cela facilement. Ce qui m’intéresse, c’est comment les personnes interviewées résoudre le problème. Je ne le sanctionner s’ils utilisent for ou while boucles. Mais, s’ils le font, je demande si ils peuvent penser à une solution plus fonctionnelle.

Et s’ils font usage prodigieuse des méthodes construire-dans le tableau fonctionnel, je demande si ils peuvent penser à une autre façon de le faire.

Les différentes approches qu’ils prennent m’en dit long sur leur niveau de compétence. Programmeurs parfois très qualifiés--ceux qui ne sont pas très connu JavaScript développeurs--seulement sais comment le résoudre la façon dont ils le feraient dans, disons, Java ou PHP. C’est peut-être assez bon ou il ne serait pas, selon les besoins de votre entreprise.

Je leur demande aussi de me dire sur leur expérience avec un framework JavaScript majeur (Angular, React, Ember, épine dorsale, etc.), comment ils aiment organiser des projets de grandes envergure, comment ils traitent code asynchrone complex et leur expérience avec des tests.


Tags: Programmation informatique, Développement Web, JavaScript (langage de programmation), JQuery