Nous embauchons bientôt un développeur .NET, et on m'a été affecté à la création d'un test, qui prendrait APROX: 1H à résoudre. Un test qui testerait les connaissances des programmeurs dans (principalement) C # et ASP.NET. P>
C'est ce que j'ai montré jusqu'à présent: p>
Merci d'avance! p>
9 Réponses :
Le premier test que vous avez suggéré devrait prendre 10 minutes-40min pour un devis de base, j'utiliserais un robot Web que j'ai dans ma bibliothèque qui convertit HTML en XML, utilisez ensuite facilement LINQ vers XML. P>
Je testerais des expressions Lambda, des modèles de performance conservent des fichiers ou écrivez un objet à plusieurs fichiers de manière dynamique. P>
Peut-être que vous souhaitez tester le code, les pointeurs, etc. p>
Je n'en ai pas, je n'écradais-je que lorsque les choses se rendent dans mon esprit, j'ai écrit des choses difficiles pour moi de mettre en œuvre. P>
C'est exactement le genre de solution que nous espérons voir! Mais au lieu de la résoudre, quel type d'essai ajouteriez-vous pour tester la connaissance du développeur? Quelque chose de base (pas trop basique) et spécifique .NET. Des idées?
Si vous recherchez des trucs de base, je pense écrire dans des fichiers, les comportements LINQ seront un bon test. Mais noter, vous pouvez lui demander écrire un code de 10 lignes de tout ce qu'il veut, puis vérifiez si son modèle de codage a du sens. chaîne x; x = "aaaaa"; Ce n'est pas ce que vous cherchez ... Je vous ai donné un exemple dur mais je pense que tu m'as eu.
C'est ce que je chercherai ensuite. Et je suis assez dur quand il s'agit d'utiliser le code au maximum. Mais Linq est une bonne suggestion! Reviele va probablement beaucoup de choses :-)
Content d'être utile, bonne chance avec votre copain ...
Vous devriez vérifier geekinterview - une bonne source pour les questions d'entrevue Il y a des centaines de questions. P>
En un coup d'œil, ce site semble avoir beaucoup de questions de type anecdote qui ne vous indiquera pas grand chose sur les capacités approfondies d'un candidat. En tant qu'intervieweur, je ne cherche pas beaucoup de questions, mais quelques questions efficaces qui inciteront des réponses instructives.
J'aurais pensé qu'il serait préférable de créer simplement un test qui vous permettrait de mettre facilement des développeurs dans différents «godets de compétences». P>
Pourquoi ne pas avoir trois ou quatre sections ou caractéristiques que le développeur doit «caler» les caractéristiques des autres pour montrer leurs compétences de programmation et de conception. P>
et donner au développeur 1 heure pour écrire l'application. Faites-le réaliste qu'ils puissent implémenter les fonctionnalités dans le délai donné. P>
As Joel et Jeff disent sur le podcast Stackoverflow, il existe une corrélation directe entre les compétences et la vitesse du développeur. p>
Pensez à la façon dont les examens sont structurés? Nous pouvons tous obtenir 100% des questions correctes dans n'importe quel examen que nous asseyons si nous avions un temps infini, mais en 1 heure? p>
De cette façon, si un développeur prend votre test et implémente uniquement des fonctionnalités jusqu'à la section 2 dans la période de temps, vous devez disposer d'une indication de sécurité qu'elles ne conviennent pas au travail. Les caractéristiques de la section 3 sont toutes faites, alors elles sont suffisamment bonnes et la section 4 complète indique qu'ils sont très expérimentés et une légère coupe au-dessus du reste. P>
Cependant, je regarderais également le polonais général que le développeur a donné au code. S'ils ont mis en place toutes les caractéristiques jusqu'à la section 4, mais mal, ils ne vont pas non plus être quelqu'un que vous voulez. Si un développeur n'a fait qu'à la section 3 mais a tout mis en œuvre très élégamment, je voudrais les embaucher. P>
Je pense aussi que 1 heure est peut-être un peu trop longue. Je viserais à 10 à 40 minutes évidemment, vous devrez peut-être couper la section 4 que j'ai proposé. P>
Parfois, il y a un bon codeur mais n'a pas d'imagination, rencontrera une grande difficulté: "Enfer, que puis-je penser, viens de me faire des tâches!"
S'ils n'ont pas d'imagination, alors je ne les appellerais pas un bon programmeur. La programmation est une résolution de problèmes et si vous ne pouvez pas fondre fondamentalement résoudre des problèmes, je dirais qu'il y a un problème là-bas.
Dans le passé, nous avons utilisé des problèmes de Jam . Les problèmes dans les premiers tours sont plus faciles et ils deviennent progressivement plus difficiles. Ils sont une sorte d'algorithmique de nature, vous pouvez les résoudre dans la langue que vous aimez. Comme ils deviennent plus difficiles, il y a souvent une sorte de réponse «force brute» évidente qui ne fonctionnera pas à cause de la taille des données. Donc, vous devez penser à quelque chose de plus optimal. P>
La tâche que vous avez donnée est essentiellement une journée ou deux de codage si vous souhaitez avoir un code raisonnablement lisible. En une heure, je suppose que je le ferais, mais vous devez lire le code qui a des méthodes nommées cryptiquement nommées, des regexes illisibles, des rappels étranges, aucune gestion des erreurs et globalement est assez laid laid. En regardant, vous ne m'engageriez pas. P>
Avant de donner votre question aux candidats, assurez-vous d'abord que vos pairs / programmeurs peuvent le faire en premier. Et que vous pouvez le coder en moins de 60 minutes de manière à vous satisfaire. P>
Cela dit, je ne sais pas si le test est le meilleur choix d'embaucher n'importe qui. Quelques blogueurs d'interviews ont écrit sur leur expérience provenant de tonnes d'entretiens: P>
Je suis totalement d'accord avec eux. Après avoir mené à propos d'un gazillion d'entretiens moi-même, je trouve que la poser des questions relatives à la technologie de base n'est pas aussi bonne que de demander de mettre en œuvre un peu de récursivité ou de pointeurs (si une personne prétend connaître C / C ++). P>
En embauchant quelqu'un qui comprend la récursion / des algorithmes, vous obtenez un gars intelligent qui peut apprendre de nouvelles technologies. Lorsque vous embauchez une personne qui sait comment se connecter à une base de données, qui sait se connecter à une base de données mais pas nécessairement qualifiée pour faire beaucoup plus que cela. p>
Il existe quelques sources de bonnes questions de programmation quelque part entre codage et algorithmes qui peuvent vous inspirer. Ils ne testent pas du tout .NET, mais sont un très bon indicateur des programmeurs intelligents. P>
Je suis trop d'accord avec Marcin, la logique du programmeur Tesing est une plus grande qualité plutôt que d'être spécifique sur la technologie que vous recherchez. La personne qui peut créer une logique est sûrement une personne intelligente qui comprennent les concepts de base des structures de données. Donnez des problèmes logiques qui peuvent également être un temps réel. Découvrez le modèle d'entretien Sapides. Selon moi, cette entreprise choisit un programmateur crème
Je pense que vous seriez beaucoup mieux à venir avec une seule question qui vous permettra de voir plus que des compétences de développement utilisant vos technologies cible. De solides compétences en résolution de problèmes sont aussi importantes que l'expertise dans une pile technologique spécifique. P>
Je vous recommanderais même que vous explorez les deux aspects d'un candidat dans différentes parties du processus. Je pose généralement un tas de questions sur la pile de technologies que nous utilisons sur notre projet pour évaluer le niveau de connaissances des candidats en ce qui concerne cette pile. P>
Puis je leur demande une question de résolution de problèmes purs et je leur permet d'utiliser la technologie les plus à l'aise pour résoudre le problème (leur choix de technologie peut être un indicateur important). P>
J'aime particulièrement Théorie graphique problèmes connexes. Les solutions candidates vous indiqueront une tonne de la manière dont elles s'approchent, résolvent des problèmes ainsi que leur validation de leurs solutions. P>
Dans le cadre de la partie de résolution de problèmes de l'entretien que vous devriez rechercher: p>
Mes 2 cents: P>
Nous avons un test de programmation dans ma société qui est facile. Fondamentalement, vous devez mettre en œuvre le modèle d'auditeur extension de la classe ArrayList, créer des tests d'unité (basés sur au moins em> ce dont nous avons besoin), documenter les cas d'angle, documenter le programme lui-même si vous voulez, puis envoyez-nous le test à nous. p>
Un développeur a 48 heures pour terminer ce test. Nous demandons une qualité de production dans le test. Nous voulons tester les éléments suivants: P>
Je ne pense pas que de courts tests soient capables d'évaluer un développeur. Vous pouvez demander un outil ou une technologie que quelqu'un n'utilisait pas au cours des derniers mois et que quiconque est testé pour cette technologie aura besoin de se mettre à la hauteur - mais si un développeur travaillait avec cela la veille, il le fera Connaître par mémoire Comment l'utiliser et il / elle semblera plus intelligemment que l'autre développeur, ce qui peut ne pas être vrai. P>
Mais si vous demandez quelque chose qui est délicat et que vous interviewez le développeur, vous pouvez vérifier comment il va résoudre le problème - je ne pense pas que cela importe vraiment s'il ne peut pas obtenir la réponse à 100% à droite , tant qu'il / elle peut parler des problèmes que vous avez trouvés sur le code et montrez qu'ils comprennent réellement ce que vous leur avez expliqué. P>
48 heures je veux dire vraiment ??
Que veux-tu dire? Que ce n'est pas assez de temps, ni que c'est trop de temps?
Selon moi c'est trop de temps !!!
En 1 heure, vous ne pouvez tester que ses compétences en programmation, mais il ne suffit pas d'écrire l'échantillon de code. P>
Jetez un oeil à ce test C # / ASP.NET MVC: P>
http://testSs4Geeks.com/test/asp-net-mvc- C-Sharp P>
Une fois que le demandeur passera le test et le résultat sera bon, puis invitez-le à l'entretien et parler de son expérience. Posez des questions sur la plupart des fonctionnalités difficiles, qu'il a mis en œuvre dans ses projets. En d'autres termes, vous devez comprendre, s'il sache et peut faire assez pour participer à votre projet. P>
Si vous voulez toujours lui demander d'écrire du code. C'est une idée: p>
Il y a les étudiants et les sujets. S'il vous plaît demander à écrire 3 pages (ASP .NET MVC ou web-formulaires). Première et seconde - pour éditer le dictionnaire des étudiants et des sujets. La troisième forme doit contenir être la table. Les étudiants sont dans la colonne de gauche. Les sujets sont dans la rangée supérieure. Les marques sont à l'intersection. Chaque marque peut être éditée (zone de texte) et enregistrée. L'épargne pourrait être mise en œuvre en cliquant sur le bouton commun "Enregistrer". Ou il pourrait enregistrer chaque cellule automatiquement à l'aide de l'AJAX. P>
C'est un exemple très simple, mais cela vous montrerait comment l'utilisateur écrit le code, quelles techniques utilisent-il. p>
Il y a quelques jours, j'ai été invité à réussir le test de programmation C # sur le site Web de compétenceBox, il y avait 30 questions de questions et 45 fois pour le transmettre. Vous trouverez ci-dessous certains d'entre eux:
1) Qu'est-ce qui sera imprimé en exécutant le programme?
p> 2) Quel sera le résultat de l'appel de SOMEMETHOD (): p> voici un lien pour référence, Je pense que vous pouvez trouver plus de kzzes C # là-bas http://skillbox.io p> p>
Overkill ??? Puis-je vous excuser avec des trucs comme ça? s'il te plaît???? } :)
HTMLAGILITYPACK et ASP.NET Données dynamiques!
Pouvez-vous en dire plus sur ce que la personne ferait dans leur travail?