Mise à l'essai des compétences HTML/CSS/Javascript lors de l'embauche [fermé]
lors de l'embauche d'un développeur de première ligne, quelles compétences et pratiques précises devez-vous évaluer? Qu'est-ce qu'une bonne métrique pour évaluer leurs compétences en HTML, CSS et Javascript?
évidemment, HTML sémantique sans table et mise en page CSS pure sont probablement les compétences clés. Mais qu'techniques spécifiques? Devrait-il être capable de simuler sans effort une mise en page à plusieurs colonnes? Les sprites du CSS? Colonnes de hauteur égale (ou fausses)? Ne balise HTML choix de la matière (c'est à dire, de trop compter sur <div>
)? Devraient-ils être en mesure d'expliquer (en mots) comment fonctionnent les flotteurs?
et qu'en est-il des compétences javascript? Quelle est l'importance de l'expérience-cadre (jQuery, Prototype, etc.)? aujourd'hui?
évidemment, les détails du poste et les sites sur lesquels ils travailleront sont la meilleure indication des compétences requises. Mais je me demande quelles compétences spécifiques les gens pourraient considérer comme des briseurs de transaction (ou des fabricants) lors de la création des tests pour les candidats.
13 réponses
quand j'interroge des gens pour un poste de développeur côté Client, j'essaie de comprendre:
1) Understanding DOM (what is that, how is it related to HTML etc) 2) Understanding XML/namespaces 3) Understanding JavaScript (object-oriented? what otherwise) 4) Knowing approaches to componentization (XBL, HTC) - plus 5) Understanding OO principles 6) JavaScript closures 7) Memory leaks in browsers
le seul cas de test simple que je donne tout de suite:
<script type="text/javascript"> var a = 1; </script>
je suggère à la personne interrogée d'expliquer en termes techniques cette ligne.
et je vérifie également la connaissance globale de l'état actuel des technologies Web, entre autres questions je suggère de concevoir un navigateur Web où la personne interrogée est suggéré de choisir les technologies qu'il mettrait dans sa toute nouvelle créature, suggèrent celles qui pourraient manquer de la plateforme actuelle côté client.
je peux vous suggérer le test en ligne, qui comprend HTML, CSS et JavaScript ensemble.
http://tests4geeks.com/test/html-css-javascript
elle a 60 questions (20 pour chaque sujet). Et vous recevrez le rapport par courriel, lorsque le candidat aura terminé le test.
Sergey et swilliams ont tous deux donné de grandes réponses, en particulier, swilliams mention de demander un portfolio est la clé. Avec un portfolio, vous pouvez également tester pour des articles comme,
- est-ce que le html et le css valident?
- la présentation de rendre compatible sur tous les navigateurs?
- le candidat a-t-il des erreurs JavaScript? s'ils le font, la personne est-elle laisser la bulle jusqu'à la couche de présentation, ou ont-ils au moins les attraper avec un bloc essayer/attraper?
- en termes de JS, à quel point la personne est-elle avancée? Peuvent-ils faire de la validation du formulaire? Ils peuvent faire du regex? Comptent-ils sur MM_Preloader? (Beurk!)
un portfolio peut aussi donner une idée de combien quelqu'un est passionné par le développement web. De plus, s'ils ont créé un site pour quelqu'un d'autre, cela constitue à lui seul une occasion de parler d'un certain nombre de choses avec un candidat,
- comment ont-ils développé L'UI?
- quelle sorte de planification est entrée dans le site?
- comment les attentes des utilisateurs ont-elles été décelées/satisfaites?
- quel genre de défis pendant la construction est entré en jeu?
au-delà de ces éléments, une autre approche que vous pourriez envisager est un test de développeur que vous pourriez envoyer un embauche prospective. Rien de trop dur qui prendrait plus d'une journée, mais assez de casse-tête pour voir s'ils peuvent résoudre un problème CSS ou JS.
demandez un portfolio, puis passez-le en revue avec votre équipe. Cela prend soin des poseurs et des gens qui "ne gèrent pas bien les interviews."
à part ça, je leur présentais quelque chose de relativement simple à maquiller et un ordinateur portable et je leur disais d'y aller.
peut-être leur demander ce qu'ils aiment le plus dans le web design aujourd'hui, et ce qu'ils détestent le plus. Interrogez-les sur leurs opinions sur ce qui se profile à l'horizon (HTML 5, IE 8, Chrome, etc) pour voir si ils se tenir au courant de ce qui sort.
, Demandez-leur s'ils ont un framework JavaScript préféré et pourquoi. Peut-être leur faire coder quelque chose à JS a la le célèbre problème de fizz buzz.
dans mon entreprise, nous ne travaillons pas avec des tests et le portfolio est plus important, surtout parce que nous avons tendance à examiner la motivation personnelle et la passion du candidat pour faire du développement front-end.
mais si je devais donner un test au candidat avant l'embauche, je m'y prendrais de cette façon:
remettre un imprimé d'une page Web photoshoppée représentant un arbre sémantique clair en dessous. Demander à la personne comment il ou elle viendrait à un résultat en html. Il suffit de lui demander de penser à haute voix. Ce qui passe par la tête quand on voit une page, sachant qu'elle doit être développée.
ensuite, il s'agit de l'approche du candidat.
choisir le meilleur balisage disponible pour chaque section html spécifique est un aspect (important), mais peut être maîtrisé avec des personnes expérimentées autour de guider un nouvel employé. Être capable de décomposer correctement une conception en ses composants sémantiques, l'identification des sections et la séparation du contenu primaire et secondaire de la navigation n'est pas mathématique ou scientifique et donc difficile à tester. Mais une conversation sur l'approche de décomposer une page pourrait séparer les gens expérimentés des débutants.
mais comme je l'ai dit dans ma première ligne, nous demandons généralement quel type de travail lié au web une personne a fait dans son temps libre, comme un blog, jeu ou Démo. Si vous avez fait quelque chose, la personne était habituellement très bonne à l'avant développement ou était désireux d'apprendre et de s'adapter.
nous avions l'habitude soit de mettre en place un petit dossier pour eux de travailler dans un certain délai, ou dans certains cas de passer un contrat de travail avec eux et voir comment ils allaient.
Je n'ai jamais été aussi inquiet de faire quelqu'un s'asseoir devant un ordinateur portable dans une salle d'entrevue et trouver une solution, parce que ce genre d'environnement n'est pas (on l'espère) très semblable aux conditions de travail normales.
la nature exacte du dossier dépendra beaucoup des compétences vous êtes à la recherche pour. Dans certains magasins, les développeurs de première ligne devront combler un certain nombre de lacunes dans le design, et/ou effectuer des tâches de "police de la marque" pendant qu'ils mettent en œuvre le design "ambiance".
Dans ces cas, laisser quelques trous dans le dossier concernant certains des points plus fins de la typographie et d'autres petits détails peuvent vous donner des indications sur leurs capacités à ces égards.
Laissez-les choisir le cadre javascript, did ils choisissent celui qui leur convient le mieux, ou celui qu'ils connaissent. (question subjective, Oui. Mais tirer dans le dojo pour le bien d'un cliqueur de données et certaines animations de menu pourrait être exagéré)
je chercherais quelqu'un qui peut mettre en œuvre des layouts basés sur css, mais qui peut en fait travailler sur des layouts basés sur table si nécessaire lorsqu'il s'agit de projets patrimoniaux. Aussi dénigrés qu'ils soient, certains des plus beaux détails de la disposition des tables hacky n'ont pas toujours été faciles.
le principal dans ce genre de tâche, l'attention au détail, ont-ils ajouté un ensemble de règles de style pour l'impression, utilisé des tailles et des formats d'image appropriés, Produit du code propre et valide, sont-ils allés chercher de l'or parce qu'ils veulent vraiment le travail, et sont prêts à s'étirer un peu pour l'obtenir.
parce que vous leur donnez un peu de temps supplémentaire, il est juste de s'attendre à ce qu'ils essaient d'impressionner, plutôt que le scénario chargé de stress de les mettre à un bureau étrange et dire à aller pour elle. Donc, tout en étant réaliste et sans attendre obsessionnellement un travail parfait tous les jours sur chaque tâche, dans cette situation, je suis à la recherche d'or, ou au moins de preuves que l'or était la cible.
lancez une balle courbe de quelque chose qu'ils n'ont jamais fait avant... voir comment ils peuvent le ramasser à la hâte. L'expérience est bonne, mais la capacité d'apprendre rapidement est probablement plus important dans un domaine qui change si rapidement.
il est également essentiel de comprendre comment les navigateurs sont différents. En particulier IE. S'ils ont seulement jamais codé pour IE méfiez-vous! Vica Versa aussi, s'ils n'ont jamais testé leurs trucs dans IE6/7 ils n'ont aucune idée à quel point c'est un échec horrible.
S'ils peuvent nommer 3 choses qui échouent, ou ont besoin de solutions de rechange pour in IE, alors ils sont probablement sur la balle. S'ils ne peuvent pas, ils n'ont pas encore assez d'expérience de navigation croisée.
je demande aux gens quels outils ils utilisent, comment ils codent, c'est-à-dire s'ils utilisent DreamWeaver, BBEdit, emacs ou autre. En supposant qu'ils ne donnent pas seulement une réponse d'un mot, vous obtenez normalement une sorte d'idée de ce que sont leurs priorités, comment ils codent, etc.
puis je demande comment ils valident leur code, ce qui est toujours intéressant.
mis à part le fait de les tester en leur demandant de s'asseoir et d'élaborer une page, je leur demanderais des exemples spécifiques de le travail qu'ils ont fait, comment ils ont résolu un problème.
par exemple, vous dites "parlez-nous d'un emploi où vous étiez sur une date limite stricte" ou vous dites "parlez-nous d'un problème vraiment frustrant et comment vous l'avez surmonté" ou " dans le travail que vous avez fait récemment, Quelle est la chose dont vous êtes le plus fier?"
de Cette façon, vous obtenez beaucoup de perspicacité dans le genre de chose qu'ils ont fait, leurs les compétences et l'expérience en matière de résolution de problèmes, la façon dont ils gèrent le stress et la frustration, et, bien sûr, si leurs solutions de rechange ou leurs mesures de corner-cutting sont intelligentes ou stupides.
Merci pour toutes vos réponses. Ils sont certainement de bons conseils. Je ne suis pas prêt à marquer un point comme accepté. Ce que je cherchais vraiment, ce sont des tâches concrètes qu'un développeur frontal doit être capable de produire dans un environnement de test. En d'autres termes, Qu'est-ce que FizzBuzz pour CSS?
je suis d'accord qu'un solide portefeuille et la capacité de parler intelligemment sur le sujet sera probablement minimiser l'importance d'un test. D'autre part, je pense que nous tout le monde connaît des candidats qui sont très bons pour parler grand, mais quand il s'agit de faire réellement la démonstration de connaissances pratiques, ils tombent à côté.
@JonathanHolland-j'ai tendance à ne pas être d'accord. HTML / CSS est certainement facile à apprendre, mais les connaissances acquises à partir de quelques tutoriels rapides n'est rien comparé à quelqu'un qui a passé des années à faire la mise en page. Il y a beaucoup de techniques et de pratiques qu'un bon dev CSS peut apporter à la table.
@roenving-peut-être que je est redondant. Par "pure-css", je voulais dire sans table. J'ai également voulu dire sans table dans le sens de ne pas utiliser les tables comme une méthodologie de mise en page. Cependant, ce n'est pas la question pour une discussion sur la disposition div-vs-table. Essayez ici . Bien que je crois que la plupart des employeurs de nos jours vont se demander si un dev peut faire la mise en page sans l'utilisation de tableaux (comme une méthodologie).
Je n'ai aucune expérience en matière d'embauche, mais j'ai assisté à un certain nombre d'entrevues avec des développeurs Web et je peux relater mes expériences.
de toutes mes interviews, une méthode s'est vraiment imposée comme la meilleure façon de découvrir le vrai talent. J'admets que je ne suis pas un expert, et c'est probablement pour ça que je n'ai pas eu le job, mais c'était une façon fantastique d'éliminer ceux qui étaient capables et ceux qui étaient géniaux.
on nous a demandé un couple de des questions sur le DOM, L'Orientation des objets, les fermetures, les Namespaces XML et le Web Design Général, puis nous avons été pris dans un bureau calme avec une belle vue sur la rivière voisine et a demandé d'écrire quelques exemples pour montrer notre capacité. Nous avons été laissés seuls, mais nous avons été informés que le code source et l'historique de notre navigateur seraient consultés après, si nous avions besoin d'utiliser un navigateur. On nous a demandé de faire un intranet d'entreprise en utilisant ce qui suit:
- Un simple trois colonnes de mise en page
- Un beau tableau à l'aide de CSS
- une barre de Navigation utilisable mais belle.
- chargement dynamique utilisant XML et JavaScript
avec un peu de temps pour le faire, vous pouvez voir des gens qui peuvent vraiment faire ce genre de choses. Alors que leur exemple pourrait toujours être meilleur ou mieux adapté à des applications différentes, il va de soi que la meilleure façon de montrer la compétence d'un développeur est de faites-leur faire quelque chose! si vous connaissez vos affaires et qu'ils connaissent leurs affaires, leur code sera bon.
"
évidemment, HTML sémantique sans table et mise en page CSS pure sont probablement les compétences clés.
"
je ne comprends pas cette phrase ...
voulez-vous vraiment dire qu'il est préférable de faire ce qui est une tâche simple en utilisant des tables d'une manière compliquée juste pour éviter d'utiliser des tables ?- )
Table-o-phobia est tout aussi difficile une maladie que la fabrication de sites à grande échelle sans serverside assistance. ..
bien sûr, les enfers de table de la dernière décennie n'est pas intéressant, mais beaucoup de tâches est vraiment stupide à remplir sans utiliser des tables ...
utilisez l'élément html que easyist complète la tâche, peu importe le tagname qu'il utilise !- )
-- et je ne comprends pas ce qu'est une 'mise en page CSS pure'; je n'ai jamais compris comment créer une page html sans html-elements pour héberger la mise en page dans la feuille de style ...
je sais que ce n'est pas une bonne réponse, mais une des premières choses que je fais est d'exposer le formatage de leur CV Word. S'ils ont fait usage des tirets et des styles que le mot offre et ce n'est pas tab, tab, tab, Espace, Espace, espace, puis ils vont en haut de la pile.
Je ne mettrais pas trop de poids dessus, car HTML/CSS est si simple que n'importe qui peut l'apprendre en une semaine.
cela dit, vous pourriez vouloir revoir leur portfolio pour vous aider à prendre une décision sur leur niveau de compétence actuel.