Quel est l'intérêt de cette question d'entretien technique détaillée pour le développeur senior? [fermé]

10

J'ai eu une interview de promotion interne pour obtenir un titre de programmeur de niveau supérieur, quelque chose comme Senior plus. Et j'ai été interviewé par environ 7 personnes utilisant des technologies différentes, et les personnes utilisant la même technologie avec moi (.Net) ont tendance à poser des questions détaillées très techniques qui peuvent en fait être facilement trouvées via Google, comme JIT, comment GC fonctionne , différence entre List et Array, classe abstraite et interface, délégué et événement, même quel est le nom de la classe lorsque vous traitez le fichier Upload, etc. Et je n'ai qu'une seule question posée sur l'une de mes idées de conception dans mon projet et juste discussion simple. Mais pour la plupart des autres, mon choix de conception ne semble tout simplement pas intéressé.

Je n'ai pas encore obtenu le résultat et ce serait vers la fin de cette semaine, mais voici ma préoccupation:

Personnellement, je pense que lorsque je joue en tant que programmeur principal, je résout principalement des problèmes, et j'ai juste besoin de savoir qu'il existe un certain moyen de faire en sorte que cela se produise, mais je ne me souviens peut-être pas de chaque détail, et c'est pourquoi nous avons ces références détaillées documentation comme MSDN.

Je pense que ça va si vous trouvez que je n'ai pas trop d'expériences dans ce domaine comme le niveau Junior à Intermédiaire, mais quand vous avez tendance à interviewer un gars de niveau supérieur, ne devriez-vous pas vous concentrer davantage pour voir comment ce type de pensée logique est bon et à quel point est-il capable de résoudre des problèmes? Est-ce que tout le monde pense que si vous connaissez tous les détails techniques détaillés, vous êtes un senior +. Et en consultant ces livres de questions d'entrevue, j'ai trouvé qu'il y avait plus de ce genre de questions.

Si je passe 5 jours à parcourir le livre de la liste de questions d'entrevue, je peux facilement faire ressentir à ces gars-là un wow, mais cela signifie-t-il vraiment quelque chose? Ce genre d'entrevue peut facilement permettre à ces gars de se souvenir des choses qui gagnent un salaire plus élevé même s'ils n'ont aucune idée de comment résoudre un problème de difficulté.

Alors, pourquoi cela se produit-il dans le monde, est-ce juste la cause des compétences en résolution de problèmes, les compétences en conception sont difficiles à mesurer? Je suis au service de cette entreprise depuis des années et je n'ai eu que peu d'entretiens avec d'autres sociétés, alors je me demande si chaque entreprise fait la même chose?

Ou est-ce en fait juste mon propre problème que je devrais faire plus d'efforts pour me souvenir de tout dans MSDN dans mon esprit afin que je puisse travailler même sans et sans Internet?

ÉDITER

Pour mieux expliquer ma situation concernant la préoccupation de Frank au sujet des tâches de travail. Désolé, ma mauvaise n'a pas clarifié ces antécédents.

En fait, il n'y aura pas de changement de tâche spécifique, je pense personnellement que j'ai déjà joué en tant que senior, comme la révision de code, les membres mentors, la documentation du BA et donner des avis techniques, l'architecture de conception de nouveaux projets, c'est juste mon titre encore Je suis resté sans personne âgée et j'ai demandé à en obtenir un pour refléter la fiche de paie et conduire à une telle interview. Il s'agit d'une entreprise Saas, donc les gens restent dans un projet aussi longtemps que ce produit est en vie, ce qui signifie qu'ils ont besoin que les gens puissent concevoir plus de nouvelles fonctionnalités en fonction du produit actuel, résoudre les problèmes techniques sur les serveurs en direct, conception / révision de code / mentorat membres Et le titre de niveau supérieur basé sur la technique serait Architecte et nous n'avons aucun travail similaire avec Expert Technique. Et je suis d'accord si vous voulez jouer un rôle d'expert technique, vous devez en savoir plus sur la technologie que vous utilisez. Désolé, ma mauvaise n'a pas clarifié ces antécédents.

Simon Wang
la source
8
De manière générale, je pense que poser des questions équivalant à des anecdotes ou à des détails techniques concernant un poste de direction est un signal d'alarme concernant le processus d'entrevue et éventuellement le groupe. Je dirais que cela est doublement vrai si vous recherchez une promotion interne. Toutes les entreprises ne sont pas comme ça - j'en trouverais une qui ne l'est pas.
Erik Dietrich
Merci pour votre précieux commentaire Erik, oui je pense qu'il est temps de réfléchir soigneusement à l'avenir
Simon Wang

Réponses:

15

En tant qu'ingénieur principal et personne qui embauche des ingénieurs, il semble que le processus d'entrevue ait manqué toute une série d'informations conceptuelles.

Je veux que mes ingénieurs seniors puissent visualiser un résultat final, choisir la bonne technologie, concevoir la bonne base de données et les bons processus, et pouvoir déléguer les détails à d'autres ingénieurs si nécessaire. Google est toujours à leurs côtés, je me concentre donc sur leur capacité à fournir des résultats, plutôt que sur la taille d'une carte SD qu'ils ont branchée à leur oreille. (lol).

J'espère que ça marche bien.

gahooa
la source
Désolé pour la réponse tardive, je suis content qu'il semble que ce ne soit pas moi qui ai eu le problème.
Simon Wang
10

On ne sait pas exactement quelles seraient les tâches d'un senior + dans votre cas. Gardez toujours à l'esprit qu'il est beaucoup plus important de savoir quelles sont les tâches de votre travail plutôt que le nom de votre poste. Même si le fait d'avoir une personne âgée devant votre titre d'emploi peut avoir un impact sur vos résultats financiers, cela ne dit en rien quoi que vous faites réellement dans votre travail. Il existe cependant deux types différents de "développeurs" de haut niveau.

Architecte système

Si vous avez été interviewé pour un tel poste, alors quelque chose ne va pas. Je suis d'accord avec Gahooa qu'une telle interview devrait se concentrer sur la vision globale du candidat, qui semble avoir manqué dans la vôtre.

Il y a cependant aussi le genre de perspective maléfique à ce sujet: dans le travail quotidien, vous serez toujours submergé par ces petits détails et ce sera votre responsabilité de garder une vue d'ensemble malgré toutes ces perturbations mineures. Si vous voulez tester si un candidat est capable de ne pas se perdre dans les petits détails, une façon pourrait être d'essayer de le plonger dans ces détails. Si vous ne leur avez pas rappelé que la position d'architecture envisagée concerne la situation dans son ensemble - vous avez peut-être échoué à ce test. Bien que j'en doute, car ce genre d'entrevue n'est certainement pas du côté amical des choses.

Expert technique

Dans ce cas, il se peut que vous ne puissiez pas beaucoup influencer l'architecture globale du système et l'orientation de l'entreprise. Au lieu de cela, vous vous concentrerez sur le niveau de conception. Veuillez noter que toutes les questions que vous avez données à titre d'exemples entrent parfaitement dans cette catégorie. De la part d'un développeur senior responsable des conceptions logicielles, je m'attends à ce qu'il / elle connaisse des éléments tels que JIT, GC, les structures de données, etc. à l'intérieur et à l'extérieur - sans avoir besoin de rechercher autre chose que les détails les plus complexes. Si vous êtes censé faire une conception logicielle, mais que vous ne connaissez pas la différence entre un tableau et une liste, vous êtes dans la mauvaise position.

En lisant votre question, je soupçonne que votre poste (actuel et proposé) se concentre sur la conception de logiciels. Dans ce cas, vous voudrez peut-être repenser ce que vous devez réellement savoir / retenir et ce qui ne l'est pas. Étant donné que vous travaillez quotidiennement avec ces choses, il ne devrait pas être nécessaire de rechercher quelque chose pour répondre à des questions élémentaires comme celles-ci.


Soit dit en passant: un ancien professeur à moi avait l'habitude intéressante de poser des questions sur les matières élémentaires aux examens oraux des cours avancés. Bien que ces matières n'aient jamais été explicitement couvertes dans le cours avancé, un étudiant était censé les connaître de leur éducation élémentaire. Dans les entretiens (quels qu'ils soient), j'adhère également à ce comportement, car au cours des dernières années, j'ai été témoin à maintes reprises de la grave insuffisance des étudiants / candidats à quelque chose de "avancé" dans les fondations. Compte tenu de ce raisonnement, je n'ai aucun scrupule à demander à un candidat à un poste supérieur ce qu'est un modèle d'auditeur, ou quels sont les avantages / inconvénients de garder les auditeurs dans un tableau vs liste vs set.

Franc
la source
Tout d'abord merci pour votre réponse. En fait, il n'y aura pas de changement de tâche spécifique, je pense personnellement que j'ai déjà joué en tant que senior, comme la revue de code, les membres mentors, la documentation du BA et donne des avis techniques, la conception d'une architecture de nouveaux projets, c'est juste mon titre encore Je suis resté sans personne âgée et j'ai demandé à en obtenir un pour refléter le bulletin de paie et conduire à une telle entrevue. Et mon objectif est sans aucun doute de travailler pour devenir l'architecte système, car dans une telle entreprise Saas, ils ont besoin d'un architecte système mais pas d'un expert technique
Simon Wang
3

Je suis désolé, mais je ne pense pas que le genre de questions qui vous ont été posées soient des anecdotes qui devraient être googlées en cas de besoin. Cela peut être vrai pour le nom de classe lorsque vous traitez le fichier de téléchargement, mais:

  • ce qui est JIT: Il s'agit d'une préoccupation technologique fondamentale. Un programmeur senior devrait certainement savoir ce que cela signifie au moins un niveau élevé. Par exemple, cela affecte les performances de différentes VM et exécutions, il convient donc au moins d'en tenir compte lors de l'évaluation d'une nouvelle technologie.
  • comment GC fonctionne: similaire à ce qui précède. Les algorithmes pour GC sont à la base assez simples, et on devrait au moins être familier avec GC générationnel contre mark & ​​sweep, contre comptage de référence et les divers compromis
  • différence entre List et Array: c'est une question fondamentale que j'attendrais d'un programmeur junior
  • classe abstraite et interface: comme ci-dessus. Je ne comprends pas comment on peut concevoir un système complexe sans connaître au moins les interfaces
  • délégué et événement: encore une fois, pour concevoir un système robuste et flexible, la délégation d'événement est l'un des modèles de base.

Il me semble qu'ils ont fait un assez bon travail en posant des questions conceptuelles pertinentes pour un programmeur senior sans se perdre dans des anecdotes.

Andrea
la source
+1 - Les questions qui posent problème au PO sont des questions très "non détaillées". Ils sont de niveau assez élevé et pourraient être jugés nécessaires à connaître pour bien concevoir un système. Mais ce ne serait que si la robustesse, la maintenabilité et la réactivité sont des préoccupations pour l'application en cours de conception et de construction.
dunk
Donc, juste en fonction de ces questions, comment pouvez-vous identifier le candidat comme senior ou intermédiaire ou même simplement junior, car il / elle peut simplement manquer de compétences mais bon en mémoire et lire un livre nommé. identifier la capacité de conception, la capacité de résoudre des problèmes à partir de ces questions?
Simon Wang
Ce sont pas des questions de mémoire. Je peux reconnaître une personne qui parle, par exemple, de la collecte des ordures de mémoire d'une personne qui sait de quoi il parle. Maintenant, je peux convenir que l'on pourrait aussi poser des questions sur la conception (mais la délégation sur l'événement ne va-t-elle pas dans cette direction?), Mais ce n'est pas une excuse pour mal performer sur les questions énumérées ici.
Andrea
OK, je vous ai une idée et merci, btw je ne pense pas avoir mal performé sur ces choses mais je me demande quel est le but de le faire, surtout c'est un entretien de promotion interne, je veux dire que je ne vois pas de différence entre cet entretien et le un quand je rejoins l'entreprise, et cela me déçoit sur le cheminement de carrière ici
Simon Wang
Je suis désolé si j'ai mal compris votre question. Il y a beaucoup de gens qui posent des questions similaires ici, essentiellement pour obtenir de l'aide s'ils ont mal performé lors des entretiens. Si votre point de vue est que vous savez comment répondre à ces questions, mais que vous préférez que l'on vous pose des questions plus sophistiquées sur la conception de logiciels, je peux seulement dire que ces questions ne sont pas aussi mauvaises et mnémoniques que d'autres pourraient les poser lors des entretiens. Il est certainement possible de faire mieux, mais ils sont raisonnables.
Andrea