Je programmant depuis quelques années en C # et XML. J'ai utilisé uniquement les bases de ces langues et j'ai survécu sur le Web pour info comme des tableaux tels que des manipulations de texte. Mais quand je suis entrevue, les intervieweurs ne demandent que des questions avancées - j'ai trouvé les réponses plus tard dans les sections avancées des livres sur le sujet. p>
Pourquoi les intervieweurs posent-ils de telles questions avancées? Le travail a l'air presque identique à ce que je faisais auparavant, il y a donc besoin de connaissances avancées, telles que les commandes de la classe ou les commandes XPath. P>
Les questions sont: p>
17 Réponses :
Peut-être parce qu'ils essaient de trouver des programmeurs qui en savent plus que les trucs de base. S'ils essaient de distinguer un domaine de candidats, il n'est pas utile de poser des questions à poser des questions que tout le monde connaît la réponse à - comment sélectionnez-vous entre ces candidats? Si vous allez embaucher seulement 1 ou 2 sur un pool de candidats, vous devez trouver des questions plus difficiles que 1 ou 2 sur la piscine peut répondre. P>
Ils veulent probablement voir si vous savez vraiment de quoi vous parlez ou si vous êtes un programmeur novice qui s'entend sur le Web en utilisant uniquement ce qu'il a pris en charge par l'essai et l'erreur ... P>
Il y a deux raisons que je leur demande. p>
généralement une question sera d'un ou de l'autre, mais pas les deux. Les deux sont extrêmement utiles dans la projection d'un employé de perspective. P>
En outre, la question pourrait ne pas être "avancée" pour la position. Il est raisonnable de supposer que le niveau de senior et / ou des architectes peut répondre aux questions qu'un Junior au niveau intermédiaire pourrait ne pas. P>
J'aime cela et que vous sentez que le candidat doit être suffisamment fort pour dire qu'ils auraient l'air de ressembler ou de simplement suivre la logique de la question.
Exactement. Je pense que beaucoup d'intervieweurs ne réalisent pas que la recherche de la réponse à une question est également une compétence. C'est génial si quelqu'un sait comment rechercher la réponse, puis prendre cette information et l'appliquer correctement à la question à la main. Je m'en fiche si quelqu'un peut mémoriser le manuel, la question de la question est de savoir si elles comprennent ou non le manuel.
Je pose des questions avancées à essayer de voir comment les gens travaillent à travers le problème. J'aime poser des questions sur lesquelles je ne sais pas le sommet de ma tête pour cette raison. P>
Je veux quelqu'un qui est un penseur critique plutôt que juste un académique qui peut réciter des livres de texte à moi. P>
Probablement ils obtiennent juste une jauge d'où vous êtes. Ils sont probablement restés coincés sur ce problème eux-mêmes et ont peut-être voulu voir si vous pouviez penser à une réponse à vos pieds. P>
J'ai connu les mêmes types de questions, et envisageez-vous lorsque je programmez, j'utilise des ressources excessives, ce type de chose me jette habituellement. Leur perte. P>
Ils veulent trouver une personne avec une expérience pratique qui s'étend au-delà de ce qui est enseigné dans des cours débutants. Lorsque mon entreprise interviewe des candidats, nous constatons souvent que la plupart des requérants ne peuvent pas résoudre ce que nous considérerons comme des problèmes de programmation très basiques simplement parce qu'ils ne connaissent pas l'API ou ne comprennent pas quand utiliser diverses structures de données de base. p>
Si vous souhaitez impressionner un intervieweur, travaillez sur vos propres projets de programmation en dehors de la classe. Apprenez un bon morceau de l'API de la langue et commencez à apprendre sur des bibliothèques tierces qui peuvent simplifier grandement votre travail. P>
Obtenir la réponse erronée est ce que je veux d'un demandeur dans certains cas. p>
Une des raisons pour lesquelles j'aime poser une question à laquelle je pense que le demandeur vous trompera est de voir comment ils s'adaptent à la situation. Comment ils gèrent quelque chose de mal et gérer quelqu'un qui leur disent comment ils auraient dû répondre, etc. S'ils sont très défensives ou impolis lorsque vous leur dites qu'ils sont incorrects, il est une bonne indication de la façon dont ils travailleront sur une équipe quand de nombreuses fois votre les idées seront contestées. P>
S'ils prennent la solution ou la recommandation et se rendent compte qu'ils peuvent en apprendre ou même en ajouter un signe généralement un signe de quelqu'un qui est facile à travailler et disposé à travailler "en dehors de leur boîte". S'ils font des excuses et dansent pour essayer de dire pourquoi ils pourraient avoir raison ou devraient avoir raison (dans les cas où ils ne sont clairement pas), cela me dit que lorsque le même problème se pose à l'avenir, ce demandeur va causer des maux de tête. < / p>
Pas si inquiet pour la réponse, plus intéressé par la manière dont ils réagissent à la question / solution. p>
Une autre raison serait de jauger leur niveau lors de l'embauche également. Vous pourriez être embaucher pour un tas de positions, mais pas sûr de l'endroit où ce demandeur convient. Des questions difficiles qui montrent que la résolution de problèmes et l'attention portée aux détails peut parfois faciliter la catégorisation de leurs compétences. P>
Une autre raison est de jauger votre réponse à une question qu'ils ne vous attendent vraiment pas à ce que vous connaissez la réponse. Les compétences de résolution de problèmes sont essentielles, alors vous posez des questions que vous connaissez déjà la réponse à ne pas aborder cela, n'est-ce pas? P>
Il existe même des instances de sociétés demandant des questions liées à la programmation étrange et non pour voir comment vous pensez à travers un problème. Il y a la question classique "Pourquoi les couvre-manhole couvre-t-il" aurait demandé aux entretiens Microsoft. P>
Je ne veux pas vous offenser, mais votre compréhension du travail n'est peut-être pas assez profonde et nécessite en fait une connaissance des techniques avancées.
En outre, vous pouvez faire beaucoup de choses avec des méthodes de base, mais des méthodes avancées pourraient être un meilleur moyen de mettre en œuvre la complexité, le temps de mettre en œuvre ou de la maintenabilité. P>
Il y a beaucoup de raisons possibles. Ils peuvent: p>
Je pose des questions avancées pour quelques raisons: p>
Certaines de mes questions sont une utilisation avancée des choses que tout le monde devrait savoir (pas une question de triviale) - Je veux vous voir que la réponse à l'aide de la réponse à l'aide de connaissances que vous avez, mais d'une manière qui n'est pas commune. p> li>
Je veux voir ce qui se passe lorsque vous ne savez pas quelque chose - abandonnez-vous? P> LI>
Je veux embaucher des personnes sérieuses sur ce qu'ils font. Les personnes qui se soucient vraiment des technologies qu'ils utilisent ont tendance à connaître les trucs avancés. P> Li>
Je veux voir s'il y a des lacunes où vous ne savez tout simplement pas qu'un domaine de la connaissance complète n'existe même pas. Par exemple, dans votre exemple xPath - je serais peut-être bien avec: "Je crois que XPath pourrait être utilisé pour aider à résoudre ceci, mais je ne le sais pas assez bien pour l'écrire ici" - alors je leur montrerais un peu xpath et voir s'ils pouvaient l'appliquer. Si vous ne savez même pas que XPath existe, Google ne va pas vous aider. P> LI> ol>
Parce que la compétence en tant que programmeur implique les deux profondeurs
L'intervieweur tente de développer votre niveau de connaissances et il se dirige par «empruntant» une question du dernier chapitre de ce livre. P>
Vraiment, c'est un travail négligé de sa part, en s'appuyant sur une question de guage de votre niveau d'expertise. Vous pouvez avoir de faibles compétences en programmation, mais récemment rencontrées sur le mot Buzz et sont capables d'obtenir l'entretien. p>
Je me suis brûlé une fois en interviewant un candidat qui professait des niveaux élevés d'expertise C. Il s'est avéré qu'il lisait «c pour les nuls» et a réussi à BS par le biais du processus d'entrevue. J'avoue que je ne me concentrais pas sur ses compétences en programmation, mais je cherchais d'autres aspects, qu'il a également réussi à B. Éteint tout son CV était un paquet de mensonges. P>
De nos jours, je m'assure que le candidat possède une connaissance pratique de la portée variable, de la persistance, de l'arithmétique de pointeur, des algorithmes de base, de la programmation structurée, de la programmation orientée objet, du polymorphisme, du multitâche et de la communication inter-processus. Je les ai informés sur ses compétences de débogage et zéro sur des détails tels que des conditions de race, des heisenbugs et des vulnérabilités de sécurité. P>
Selon le travail, je vais poser une question à propos de l'expérience dans la langue cible - telle que Key => Cartes de valeur (tableaux) dans PHP, programmation swing en Java, manipulation des événements en C #, tables vs CSS dans HTML - Vous obtenez la photo. p>
Si le candidat passe la première partie de l'entretien (je sais habituellement dans environ 5 minutes), je lui donnerai alors un classeur et l'envoie dans la chambre de café (un beau canapé et une table) pour préparer 20 minutes à un examen de code sur un module sélectionné. P>
C'est à ce moment-là que j'envoie aux troupes - les employés sont chargés d'utiliser la salle de café normalement, de se présenter et de faire une conversation pendant environ une minute. P>
Ce que je recherche, c'est la capacité de vous concentrer sur une tâche (TDAH flagrant), la capacité de travailler sous pression et une dynamique interpersonnelle. P>
Lorsque le candidat revient, je l'ai agi en tant que présentateur principal et à lancer notre processus de révision de code normal. La première chose à laquelle je cherche, c'est s'il lise la page intitulée "Processus d'examen du code". Je ne cherche pas qu'il complète l'examen - environ 10 minutes suffit. En fait, moins les principales lignes principales traitées, meilleures - dans une raison quelconque. P>
Je n'ai pas été brûlé par une nouvelle location depuis longtemps maintenant. P>
J'ai entendu dire que celles-ci ne sont plus utilisées, ou du moins pas presque autant qu'ils étaient, mais vous pourriez être intéressé par cela. J'ai ramassé un livre bref assez cool il y a quelques jours qui doit faire face aux questions d'entretiens logiques "Microsoft Style" parfois posées. Je suis quelques chapitres dans et cela donne une très petite histoire du style d'entretien du domaine technique et possède une tonne de problèmes logiques, avec des réponses à l'arrière. P>
On s'appelle "Comment vas-tu bouger le mont Fuji" et c'est sur Amazon pour assez bon marché. P>
Votre nom d'utilisateur vous suggère comme codage (DUH), mais votre question suggère que vous ne le faites pas. Si vous aimez vraiment le codage, alors vous devriez aimer apprendre à ce sujet. Ces questions que vous avez énumérées ne sont pas aussi avancées. p>
Même si ces questions étaient avancées, l'intervieweur tente de mesurer la quantité de connaissances dans la région que vous dites que vous avez des connaissances. Ils essaient également de jauger à quel point vous seriez dans leur groupe. p>
P.s. Ne pas être méchante, mais si vous programmez à l'aide de XML et ne savez pas ce que XPath est, alors vous êtes un peu loin derrière. P>
Je viens de terminer une série d'entretiens, où j'utilise un code de trois ou quatre stocks 'C # de fragments de code que l'interviewé examinera et tentera d'expliquer ce que le résultat attendu sera. Dans chaque cas, l'échantillon de code n'est pas plus de dix lignes de code clairement formaté qui utilise des compétences de base C # (héritage, génériques, délégués anonymes); également dans chaque cas, il y aura une «gotcha» - mais comme les autres l'ont dit, je ne les mettrai pas trop méchants, ils sont là parce que je veux voir comment le candidat réagit quand il n'est pas confronté à quelque chose qui ne travailler comme prévu. p>
Nous avons eu un candidat récemment qui avait navigué à travers la première partie de son entretien; CV impressionnant, apparemment au développeur principal d'une équipe de 10 et développait du code en C # depuis 1,0; Encore apparemment eu aucune idée de ce que "Console.writineline ()" a fait (ni même il ne pouvait même pas supposer une supposition), il ne pouvait même pas commencer à faire face à l'exemple de déléguée anonyme de minuscule. P>
Un autre candidat était auto-effacé et ne savait pas comment se narler comme un développeur - elle avait moins d'expérience que l'ancien candidat mais elle a toujours navigué dans les échantillons de code, est tombé pour un couple de 'Gotchas' mais a posé les bonnes questions pour obtenir les conclusions correctes et véritablement apprises de l'expérience. Inutile de dire qu'elle a été embauchée. P>
Si vous réclamez des connaissances spécifiques à un domaine (comme XML), vous devez vous demander de poser des questions spécifiques (et parfois difficiles) sur ce domaine; Si j'interviewe un développeur Senior ASP.NET et qu'ils n'ont aucune idée de httpmodules ou de httphandlers (comme certaines personnes interrogées récentes), les cloches d'alarme commencent à sonner. P>
1.Quelle version de XSL utilise .NET 3.5 utilise? p>
Parce qu'ils ne peuvent pas raconter des choses importantes d'une manière non importante. Mauvais signe. P>
2.Quelle commande XPath à utiliser pour obtenir une valeur dans l'élément X? p>
Parce qu'ils veulent voir si vous connaissez XPath. Cela peut être soit parce qu'ils l'utilisent de manière approfondie et vous en avez besoin pour obtenir leur travail effectué ou parce qu'ils pensent que XPath Knowledge == Compétence. P>
3.Quelles sont des délégués de classe en C # p>
(Je n'ai jamais entendu le terme "délégué de la classe" et une recherche Google ne montre aucune définition, alors je suppose que vous voulez dire juste "délégué"). Les délégués peuvent difficilement être considérés comme un sujet avancé. P>
4.DOES C # permet une multiplication d'interface héritage? p>
S'ils ont vraiment demandé à propos de la "mise en œuvre de l'interface", cela fait partie du concept le plus élémentaire de sorte qu'il s'agit d'une question valable (bien que trop simple signifie vraiment quelque chose). S'ils ont vraiment demandé à propos de "Héritage de l'interface", c'est plus de trivia, mais je dirais toujours acceptable. Point de bonus pour eux s'ils demandaient ce que "héritage d'interface" signifie vraiment. P>
5.Comment accédez-vous à GAC en C #? P>
C'est le genre de chose que chaque équipe doit avoir une personne qui sait. Je dirais que c'est aussi une indication de l'ancienneté (que BTW, je ne me soucie pas beaucoup de) depuis que personne ne lit à propos de ces choses, le seul moyen de découvrir est d'être obligé de résoudre un problème du monde réel. P >
Quelles étaient exactement ces questions? Les sections «avancées» dans des livres ne sont pas nécessairement avancées ... I Mon Âge de 10 ans Apprenez HTML dans 24 heures Livre Avait une section avancée.
Vous avez dit que vous avez été "Programmation en XML". Cela devrait répondre à votre question.
Votre question suggère un problème plus fondamental - que vous pensez que vos connaissances actuelles sont suffisamment bonnes. Ce sera le plus grand obstacle à votre succès - la seule chose qui fait qu'un grand développeur est la prise de conscience que vous ne savez jamais assez.
Je ne considérerais pas ceux d'être des questions avancées; Ce sont des questions relativement fondamentales si vous travaillez avec XML ou à l'aide de LINQ ou de toutes les fonctionnalités orientées objet de C #. Je m'attendrais à quiconque de plus de quelques mois d'expérience pour pouvoir leur répondre sans problème. Les questions avancées seraient des choses sur la collecte des ordures, les modèles de conception et leurs implémentations, des questions architecturales; Tout simplement en ce qui concerne une implémentation linguistique est au plus intermédiaire - avancé consiste à savoir que des trucs et quand / comment l'utiliser.
La seule de ces questions que je considérerais même "intermédiaire" est la dernière. En outre: je ne veux pas être méchant, mais si vous avez été "programmation depuis quelques années en C # et XML", vous devriez pouvoir utiliser XPath pour obtenir la valeur d'un élément de votre sommeil. Cette question est là pour éliminer les personnes dont les capacités ne sont pas consonantes avec l'expérience qu'ils prétendent. Cela fait son travail.
Une bonne chose à faire est de chercher ici (Stackoverflow) pour des questions d'entretien et de lire de nombreuses questions et réponses. Certains sont du point de vue des employés et certains sont des employeurs. Cela contribuera à donner plus de perspectives sur ce que les intervieweurs ont pensé que les attentes de l'intervieweur peuvent être mieux préparées.